给typecho文章内链接添加nofollow属性

关于SEO优化这点,小牛云觉得网站内部有大量的外链会影响网站的权重,不利于网站优化

timg.jpg

什么是“nofollow”?

“nofollow” 标签是Google、Yahoo和微软公司前几年一起提出的一个标签,链接加上这个标签后就不会被计算权值,搜索引擎支持nofollow属性,在很大程度上抑制博客或论坛的垃圾留言。对站长来说是一件大好事。
nofollow是HTML元标签(meta)的content属性和链接标签(a)的rel属性的一个值,告诉机器(爬虫)无需追踪目标页,为了对抗blogspam(博客垃圾留言信息),Google推荐使用nofollow,告诉搜索引擎爬虫无需抓取目标页,同时告诉搜索引擎无需将的当前页的Pagerank传递到目标页。但是如果你是通过sitemap直接提交该页面,爬虫还是会爬取,这里的nofollow只是当前页对目标页的一种态度,并不代表其他页对目标页的态度。
什么是“_blank”?
为文章内的a标签添加target=“_blank”属性时,用户点击链接就会在浏览器的新一个窗口打开,这样可以防止浏览的流失,延长用户访问时间。
步骤
打开typecho根目录下 var/HyperDown.php 文件,找到大概第386行,如以下代码:
// link
        $text = preg_replace_callback(            "/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\(((?:[^\)]|\\\\\)|\\\\\()+?)\)/",            function ($matches) use ($self) {
                $escaped = $self->parseInline(
                    $self->escapeBracket($matches[1]),  '',  false, false
                );
                $url = $self->escapeBracket($matches[2]);
                $url = $self->cleanUrl($url);                return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
            },
            $text
        );
将代码中的:
return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
注释掉,然后在下方添加以下代码:
if (strstr($url,'//siteurl.com') == false ) {    //url后的内容替换为自己的域名return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
} else {return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");
}
修改之后的成品:
 // link         $text = preg_replace_callback(            "/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\(((?:[^\)]|\\\\\)|\\\\\()+?)\)/",            function ($matches) use ($self) {                 $escaped = $self->parseInline(                     $self->escapeBracket($matches[1]),  '',  false, false                 );                 $url = $self->escapeBracket($matches[2]);                 $url = $self->cleanUrl($url);                // return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");                 if (strstr($url,'//kaygb.top') == false ) {                    return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");                     } else {                    return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");                     }             },             $text         );
然后可以新建文章测试一下。

 小牛
 简介:热爱网络技术的一名草根站长-XnSay

  您阅读这篇文章共花了: 

发表评论

游客
送你一朵小花花~

帅人已评(0)