WordPress为指定分类的所有链接添加nofollow属性

如果出于特殊需求,你要为某个WordPress分类下的文章的所有链接都添加nofollow属性,那你可以将下面的代码添加到主题的 functions.php 文件即可:

function nofollow_cat_posts($text) {
global $post;
        if( in_category(1) ) { // 修改这里的分类ID
                $text = stripslashes(wp_rel_nofollow($text));
        }
        return $text;
}
add_filter('the_content', 'nofollow_cat_posts');
How to add nofollow attributes to all links in a specific category

Sometimes you may want to have an entire category of your blog with nofollow links, for exemple if you’re linking to a lot of external resources. Here is a quick and easy recipe to do so. Enjoy!

Simply copy the code below and paste it on your functions.php file. Don’t forget to set the desired category ID on line 3.

function nofollow_cat_posts($text) {
global $post;
        if( in_category(1) ) { // SET CATEGORY ID HERE
                $text = stripslashes(wp_rel_nofollow($text));
        }
        return $text;
}
add_filter('the_content', 'nofollow_cat_posts');

注释:

nofollow 是一个HTML标签的属性值。这个标签的意义是告诉搜索引擎"不要追踪此网页上的链接"或"不要追踪此特定链接。

它的出现为网站管理员提供了一种方式,即告诉搜索引擎"不要追踪此网页上的链接"或"不要追踪此特定链接"。这个标签的意义是告诉搜索引擎这个链接不是经过作者信任的,所以这个链接不是一个信任票。

nofollow标签是由谷歌领头创新的一个“反垃圾链接”的标签,并被百度、yahoo等各大搜索引擎广泛支持,引用nofollow标签的目的是:用于指示搜索引擎不要追踪(即抓取)网页上的带有nofollow属性的任何出站链接,以减少垃圾链接的分散网站权重!

简单的说就是,如果A网页上有一个链接指向B网页,但A网页给这个链接加上了 rel="nofollow" 标注,则搜索引擎不把A网页计算入B网页的反向链接。搜索引擎看到这个标签就可能减少或完全取消链接的投票权重。

最初,"Nofollow"属性出现在网页级元标记中,用于指示搜索引擎不要追踪(即抓取)网页上的任何出站链接。例如:<meta name="robots" content="nofollow" />。

而后,在将"Nofollow"用于各个链接前,我们需要完成大量的工作(例如,将链接重定向至robots.txt中拦截的网址),以阻止蜘蛛追踪某网页上的各个链接。因此,我们创建了rel属性的"Nofollow"属性值。这可让网站管理员更精确地进行控制:无需指示搜索引擎和漫游器不要追踪该网页的所有链接,只需轻松地指示蜘蛛不要抓取某特定链接即可。例如:<a href="signin.php" rel="nofollow">signin</a>。

原因作用

我们都知道,反向链接即外链是搜索引擎给网站排名的一个重要因素。为了添加反向链接,SEO作弊者会在论坛和博客等大量发布带无关链接的内容。这些垃圾链接的存在给搜索引擎对网页质量的评估造成一定程度的麻烦,可以说nofollow是一个非常好的“垃圾链接防火墙”。正是百度、谷歌、Yahoo、MSN 为了应对垃圾链接(Spam)引入的一个属性,此属性应该被广泛采用。

Nofollow标签的作用有两方面,简单的说,一是不给链接投票,降低此链接的权重,二是使添加nofollow的部分内容不参与网站排名,便于集中网站权重。

使用方法

nofollow标签通常有两种使用方法:

1、将"nofollow"写在网页上的meta标签上,用来告诉搜索引擎不要抓取网页上的所有外部和包括内部链接。

<meta name="robots” content="nofollow” />

2、将"nofollow"放在超链接中,告诉搜索引擎不要抓取特定的链接。

<a rel="external nofollow" href="url"><span>内容</span></a>

3、nofollow标签是超链接<a>的一个属性值,我们只需要在源代码里面加上rel=”nofollow” 或者更为正规的rel=”external nofollow”即可 即:<a href=”#” target=”_blank” rel=”nofollow”>###</a> 。

nofollow还有另外的一些写法:

Meta robots标签必须放在和之间,格式:

content中的值决定允许抓取的类型,必须同时包含两个值:

是否允许索引(index)和是否跟踪链接(follow,也可以理解为是否允许沿着网页中的超级链接继续抓取)。

共有4个参数可选,组成4个组合:

1. index,follow:允许抓取本页,允许跟踪链接。

2. index,nofollow:允许抓取本页,但禁止跟踪链接。

3. noindex,follow:禁止抓取本页,但允许跟踪链接。

4. noindex,nofollow:禁止抓取本页,同时禁止跟踪本页中的链接。[1]

如某博客上有垃圾评论:

<a href="URL">顶顶</a>

以下操作,即进行了 nofollow:

<a href="URL" rel="nofollow" >灌水</a>

在网页的 <HEAD> 部分添加适当的 <META> 标签。

拦截所有搜索引擎把网页收录:

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

只是拦截百度蜘蛛爬取网页,而允许其他搜索引擎收录:

<META NAME="baiduspider" CONTENT="NOINDEX, NOFOLLOW">

允许搜索引擎收录你的网页,但禁止其追踪外部链接:

<META NAME="ROBOTS" CONTENT="NOFOLLOW">

允许搜索引擎收录你的网页,但禁止其收录网页上的图片:

<META NAME="ROBOTS" CONTENT="NOIMAGEINDEX">

发表评论