首页 > SEO优化纪实 > 干掉wp的pages页面 给pages页加上nofollow

干掉wp的pages页面 给pages页加上nofollow

2011年2月21日 发表评论阅读评论
如何给wordpress页面链接加Nofollow

wordpress页面导航加上Nofollow

我们在做 SEO优化时,内容页的优化被放在首位是优化的重点。保证网站权重的同时,尽量提高内容页的权重,是网站优化的关键所在。以Wordpress 博客为例,精力花费最多的地方是内容页(single页),这是搜索引擎需要的,也是搜索用户需要的。

我希望展示在用户搜索结果里的,是我精心写成的博文日志,而不是博客简介。合理引导搜索引擎关注博客重要内容,是 SEO优化工作的重点之一。管理好网站内部权重的流向,显得比较重要。还好,搜索引擎给了我们Nofollow,利用它可以对权重流失进行有效控制。

给pages页面加上Nofollow 控制权重的流失

我为什么要给pages页面加上Nofollow

我博客的底部包含了Pages导航。它有以下几个特点

  1. Pages内容几乎是一成不变的,对搜索用户也无多大用处;
  2. 导航遍布博客的每一个页面,链接数量同分类、首页几乎持平;
  3. 蜘蛛会被导航引导到Pages,对网站优化没有好处;
  4. 博客留言、腾讯微博、百度地图,有没有必要让搜索引擎收录我犹豫不决;
nofollow介绍,nofollow禁止页面权重流失

留言页面排名超过了首页,这是让人不能容忍的

我写了不少骑行游记,用户或搜索骑行游记找到了我,他关注点是骑行游记,如果对我有兴趣自然会点博主简介——这是自然而然的。如果想找骑行游记的用户不搜索骑行游记,反而搜索不得言,打开后再找骑行游记。——结果有点滑稽,谁知到你不得言是啥东西。

这并非耸言听闻,如果我关于骑行游记的博文,过多的外链把搜索引擎引导出去,因而损失了大量权重。我的骑行游记就会失去很多通过搜索引擎展示给感兴趣的人的机会。

怎么给pages页面加Nofollow

一、修改原函数的方式:找到wp-includes文件夹的post-template.php文件,搜索下面代码,定位到大概794行:

$output = apply_filters('wp_list_pages', $output, $r);

在下面加上一行代码,也就是在原代码的下一行加入一行新代码,上传到服务器即可。

$output =str_replace("<a " , "<a rel=\"nofollow\" " , $output);

或者加上这么一行代码:

$output = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $output);

缺点是,对于所有的页面都会加上Nofollow。例如:我想不对Tags 归档、日志归档加“Nofollow”则不能控制。

二、修改主题的方式:比如我现在的主题,找到此主题文件夹下的footer.php文件,搜索下面代码,定位到24行:

wp_list_pages('sort_column=menu_order&title_li=');

把上面的代码,用下面代码替换掉。保存后上传到服务器即可。

echo str_replace("<a " , "<a rel=\"nofollow\" " , wp_list_pages('sort_column=menu_order&title_li&echo=0'));

或者替换成这一行:

preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', wp_list_pages('sort_column=menu_order&title_li='));

三、修改主题的functions.php文件,加入下面函数。缺点和一一样,不能自行控制。

//给 wp_list_pages() 生成的链接加上 rel="nofollow"
add_filter( 'wp_list_pages', 'nofollow_wp_list_pages' );
function nofollow_wp_list_pages( $text ) {
	$text = stripslashes($text);
	$text = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text);
	return $text;
}
更多
  1. 异想天开
    2011年11月17日00:28 | #1

    你这样只是让那个链接nofollow掉了,不让蜘蛛爬,并没有把这个页面给nofollow掉,不让蜘蛛抓取!

  2. 2011年7月18日10:25 | #2

    我的站的标签都被谷歌收录了。。。影响权重额。。正好来看看这个方法

  3. 龙的传人
    2011年5月25日14:00 | #3

    只收录TAGS页和日期页,PR3的博客百度权重只有1。我想这是降权——留主页察看的表现

评论分页
1 2 1869
  1. 2011年2月23日04:29 | #1

    [...] 有点乱。主要意思是,一些页面加上Nofollow为的是不分散当前页的权重,两个实验品也被加上Nofollow;日志、Tags归档单独摘出显示。——wp_list_pages()函数只有Exclude,只好采用排除法。干掉wp的pages页面的原因。 [...]

  2. 2011年4月13日11:36 | #2

    [...] 2月21日对博客进行调整,给两个Pages页面加了Nofollow属性;随后又做了一个实验,尝试寻求Site指令的页面顺序和页面权重高低的关系。涉及到的博客简介、博客留言页面如今变化怎么样呢? [...]