如何自动给WordPress文章或评论的外链添加nofollow属性?名词解释:nofollow是HTML元标签(meta)的content属性和链接标签(a)的rel属性的一个值,告诉机器(爬虫)无需追踪目标页,为了对抗blogspam(博客垃圾留言信息),Google推荐使用nofollow,告诉搜索引擎爬虫无需抓取目标页,同时告诉搜索引擎无需将的当前页的Pagerank传递到目标页。但是如果你是通过sitemap直接提交该页面,爬虫还是会爬取,这里的nofollow只是当前页对目标页的一种态度,并不代表其他页对目标页的态度。

利用wordpress建站的同学,出于对SEO优化的考虑,对于文章或评论内容的站外链接,不少人都希望自动添加nofollow属性,直接将下面的代码添加到主题的目录下的functions.php 文件即可:

add_filter(‘the_content’, ‘auto_nofollow’); //nofollow文章内容的站外链接
add_filter(‘comment_text’, ‘auto_nofollow’); //nofollow评论内容的站外链接
function auto_nofollow($content) {
//return stripslashes(wp_rel_nofollow($content));
return preg_replace_callback(‘/]+/’, ‘auto_nofollow_callback’, $content);
}
function auto_nofollow_callback($matches) {
$link = $matches[0];
$site_link = get_bloginfo(‘url’);
if (strpos($link, ‘rel’) === false) {
$link = preg_replace(“%(href=S(?!$site_link))%i”, ‘rel=”nofollow” $1’, $link);
} elseif (preg_match(“%href=S(?!$site_link)%i”, $link)) {
$link = preg_replace(‘/rel=S(?!nofollow)S*/i’, ‘rel=”nofollow”‘, $link);
}
return $link;
}

注:代码中的第1、3行分别是针对文章内容、评论内容的,请根据自己的需要选择。比如不需要自动给文章内容的站外链接添加 nofollow 的话,就注销或删除第一行代码。

考虑到有的时候直接在记事本里打开编辑或者在FTP里直接编辑,会出错的情况,可以选择利用代码编辑工具或者Dreamweaver工具进行添加代码。代码添加结束后,对是否对外链成功自动添加了nofollow标签属性进行测试。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。