某些时候我们出于SEO考虑需要对WordPress文章中的外链添加nofollow标签来告诉搜索引擎不要追踪此链接,我们可以手动添加这个标签,但是如果一篇文章外链较多的话会显得非常麻烦,也不利于提高工作效率。
那么这里分享一个如何为wordpress文章的外链自动添加nofollow的方法,希望对大家有用。
Nofollow
一个HTML标签的属性值。大概了解SEO的人都知道,不再阐述,每次写文章,如果带有外部链接,都得把编辑器切换到代码视图,然后手动给a标签添加rel=”nofollow”,实在很麻烦,使用WP插件吧?试了一些要么不生效,要么效率低,要么太臃肿。
网上找解决方案?试了一些要么不生效,要么效率低,要么完全不明所以,那只能自己写了!
我们需要确定好选择哪一个WP主题,因为以下操作都要在主题目录里的function.php中进行。
- 登陆上VPS(或虚拟主机等)
- 找到WP安装目录下的wp-content/themes/主题名/目录
- 编辑function.php文件
- 在z最后一行的添加如下代码
//给文章外链添加nofollow
add_filter('the_content','web589_the_content_nofollow',999);
function web589_the_content_nofollow($content){
preg_match_all('/href="(.*?)" rel="external nofollow" target = "_blank" /',$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结束
或者
add_filter('the_content','the_content_nofollow',999);
function the_content_nofollow($content) {
preg_match_all('/href="(.*?)"/',$content,$matches);
if(matches){
$home_url=home_url();
foreach($matches[1] as $val){
if(strpos($val,$home_url)==false){
$comtent=str_replace('href="'.$val.'"','href="'.$val.'"rel="external nofollow "',$content);
}
}
}
return $content;
}
两段代码都可以达到效果
通过这个方法,文章中的外链就会自动添加nofollow标签,而不用我们手动去操作。
- 优点就是快速方便
- 缺点是不太好控制
比如某篇文章中某些外链你不想添加nofollow标签,那么就需要自己去权衡了。