HMJ-Blog主题修改:添加nofollow集中权重

自媒体 思享 2212浏览

根据搜索引擎原理,页面的外链会导致权重的流失。而添加nofollow标签,就是告诉搜索引擎"不要追踪此网页上的链接"或"不要追踪此特定链接"。以此避免网页权重的流失,从而更利于SEO

那么,思享在那些地方添加了nofollow标签呢?

Nofollow

网页底部版权

由于模板都是共用一个底部文件,原来何敏杰底部的版权会导致全站每个页面都产生外链。所以思享不是很厚道的给版权添加了nofollow标签和新窗口打开的target标签。

方法如下:

删除版权加密,在functions.php文件中有如下加密代码

eval(base64_decode('ZnVuY3Rpb24gY2hlY2tfdGhlbWVfZm9vdGVyKCkgeyAkdXJpID0gc3RydG9sb3dlcigkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSk7IGlmKGlzX2FkbWluKCkgfHwgc3Vic3RyX2NvdW50KCR1cmksICJ3cC1hZG1pbiIpID4gMCB8fCBzdWJzdHJfY291bnQoJHVyaSwgIndwLWxvZ2luIikgPiAwICkgeyAvKiAqLyB9IGVsc2UgeyAkbCA9ICdITUotQmxvZyBUaGVtZSBieSA8YSBocmVmPSJodHRwOi8vd3d3LmhlbWluamllLmNvbS8iPuS9leaVj+adsDwvYT4nOyAkZiA9IGRpcm5hbWUoX19maWxlX18pIC4gIi9mb290ZXIucGhwIjsgJGZkID0gZm9wZW4oJGYsICJyIik7ICRjID0gZnJlYWQoJGZkLCBmaWxlc2l6ZSgkZikpOyBmY2xvc2UoJGZkKTsgaWYgKHN0cnBvcygkYywgJGwpID09IDApIHsgdGhlbWVfdXNhZ2VfbWVzc2FnZSgpOyBkaWU7IH0gfSB9IGNoZWNrX3RoZW1lX2Zvb3RlcigpOw=='));

删除即可,然后将

<a href="http://www.heminjie.com/">何敏杰</a>

替换为

<a href="http://www.heminjie.com/" rel="external nofollow" target="_black">何敏杰</a>

评论作者名称

同理,如果右侧添加有近期评论小工具,也会提供一个外链。添加nofollow方法如下:

functions.php文件中代码

$match_count=preg_match_all('/<a href="#comment-([0-9]+)?">/si',$content,$matchs);

替换为

$match_count=preg_match_all('/<a href="#comment-([0-9]+)?" rel="external nofollow">/si',$content,$matchs);

文章外链

如果手动对外链添加nofollow往往太麻烦,思享网站找了一些给文章外链自动加nofollow的方法。

在functions.php文件中加入如下代码:

//给文章外链添加nofollow
add_filter('the_content','web589_the_content_nofollow',999);
function web589_the_content_nofollow($content){
preg_match_all('/href="(.*?)"/',$content,$matches);
if($matches){
foreach($matches[1] as $val){
if( strpos($val,home_url())===false ) $content=str_replace("href=\"$val\"", "href=\"$val\" rel=\"external nofollow\" ",$content);
}
}
return $content;
}
//文章外链nofollow结束

该代码也会对代码中链接加nofollow,目前本博客已停用

如果除了自动添加nofollow,还需要添加target="_black"的话,可以使用如下代码:

add_filter( 'the_content', 'cn_nf_url_parse'); 
function cn_nf_url_parse( $content ) { 
$regexp = "<as[^>]*href=("??)([^" >]*?)[^>]*>"; 
if(preg_match_all("/$regexp/siU", $content, $matches, PREG_SET_ORDER)) { 
if( !emptyempty($matches) ) { 
$srcUrl = get_option('siteurl'); 
for ($i=0; $i < count($matches); $i++) 
{ 
$tag = $matches[$i][0]; 
$tag2 = $matches[$i][0]; 
$url = $matches[$i][0]; 
$noFollow = ''; 
$pattern = '/targets*=s*"s*_blanks*"/'; 
preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE); 
if( count($match) < 1 ) 
$noFollow .= ' target="_blank" '; 
$pattern = '/rels*=s*"s*[n|d]ofollows*"/'; 
preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE); 
if( count($match) < 1 ) 
$noFollow .= ' rel="nofollow" '; 

$pos = strpos($url,$srcUrl); 
if ($pos === false) { 
$tag = rtrim ($tag,'>'); 
$tag .= $noFollow.'>'; 
$content = str_replace($tag2,$tag,$content); 
} 
} 
} 
} 
$content = str_replace(']]>', ']]>', $content); 
return $content; 
}

如果存在 target=”_blank”,就不会重复添加.

留言墙添加

暂时未启用,以后再补充

 

推荐阅读

带有Nofollow的链接算不算一个外链?

Nofollow只是一个HTML标签的属性值,所以这条链接是算外链的,只不过是比较特别的外链。感觉楼要问的应该是 带nofollow属性的URL 传不传权值这个问题了,LEE之前曾经正面回复过这个问题,“判断标准是:这个链接是否用户or对方网站真心推......

主页上因nofollow的页面还会不会有排名?

如果我在首页将一个网站内容的链接添加nofollow标签,那这个页面是不是就不会有排名了,还是说这个页面会继续参与排名,跟nofollow没影响呢...

什么是Nofollow标签,对SEO有什么用

“nofollow” 标签是Google、Yahoo和微软公司前几年一起提出的一个标签,链接加上这个标签后就不会被计算权值,搜索引擎支持nofollow属性,在很大程度上抑制博客或论坛的垃圾留言。对站长来说是一件大好事。 nofollow是HTML元......