Wordpress robots.txt

你给你的wordpress写robots.txt了吗?没有的话,写一个吧。robots.txt干什么的?限制搜索引擎访问用的。Are you crazy?我想让搜索引擎来访问还来不急呢。

原因:先用google作为我们的搜索工具,搜索框输入site:http://yourblog/,往最后几页翻,有没有“补充材料”(或者Supplemental Result)这个字样出现?没有?那你做的很好,可以退出这个页面了。有?我们继续。拿我的site:ilihai.com来说,目前后几页几乎全是补充材料……在google的网站管理员支持中心有关于补充材料的说明:

补充结果与常规的网络结果类似,不同之处在于其来自我们的补充索引。在为此补充索引进行抓取的网站上,与为主要索引而进行抓取的网站不同,我们可以设置较少的限制。例如,一个网址的参数数量可能使该网站无法抓取到主要索引中,但是,仍可能抓取和添加到我们的补充索引中。

如果您是网站管理员,请注意,将网站包括其中的索引是完全自动的,没有任何方式可以选择或更改网站出现在其中的索引。还请注意,将网站包含于其中的索引不会影响其 PageRank。

ok,它已经告诉我不会影响PageRank,但是根据网上的流传,补充材料影响你的站点在搜索引擎中的整体排名。这点不难理解,我们在site:yourblog的时候,没有被标记成补充材料的页面都在前面,一般只有当搜索的关键词比较偏,而且和补充材料里面的内容高度配合的时候,补充材料才会翻身出现在搜索结果的前面。过多的补充材料肯定会让搜索引擎认为你的网站质量不高。造成补充材料出现的可能性有很多,这里有篇关于它们的讨论,我这里就说说网址的规范化问题导致的补充材料。
各搜索引擎,google、baidu、yahoo、sogou等都把这样的网站视为作弊网站或者垃圾网站:

from google:请不要创建包含大量重复内容的多个网页、子域或域。
from sogou:建立大量镜像网站。复制网站或网页的内容并分配以不同域名和服务器,欺骗搜索引擎对同一页面内容进行多次索引。
from baidu:每一个子域名,每一个目录,都最好有明确的内容区隔,避免不同子域名或者目录对相同内容的互相串用。
from yahoo:在整个网站中存在大量重复内容的页面。

Wordpress自身已经对搜索引擎进行过优化(SEO),但是有优化过渡的嫌疑。比如默认的链接形式是http://*/?p=xxx,如果你的这篇日志是2007年1月1日发布的,那么这个链接http://*/date/2007/01/01/和http://*/date/2007/01/就会有这篇文章的足迹;假设这篇文章还包括tag1,那么还可以通过http://*/tag1/x来访问;刚发布出来会在第一个页面上,http://*/page/1/也可以看到;如果你在”Post Slug”中还另外给这篇日志起了title,比如http://*/2007-01-01-blog/,那情况会更糟;oh,别忘了还有*/trackback/。不一样的链接,搜索引擎会把他们当作不同的页面来处理(不要怀疑这一点,搜索引擎甚至认为http://www.*.com和http://*.com是两个不同的网站),其中某某就有非常大的可能落入补充材料的范围。就我观察,最容易被收录为补充材料的链接方式是/date/200*/*/*/、*/page/和/trackback/。因此,我们要禁止搜索引擎对这种链接的访问,实现的方法——写一个合适的robots.txt上传到你wordpress的根目录。

网上已经有很多写给wordpress的robots.txt的范本,不难找到,但我强调了合适,这毕竟是限制搜索引擎的访问,各站点之间结构是有一定区别的,适合他的不一定合适你。首先,你还是先site一下你的博客,看哪些页面被认为是补充材料,针对你的内容写。以下是我集合的一些样本供参考。

一般针对wordpress的搜索引擎优化(SEO)建议第一条是修改默认的链接结构,不要用/?p=,如果你已经修改,那么你的robots.txt可以这么写:

User-agent: *
Disallow: /?p=
Disallow: /?cat=
Disallow: /?m=
Disallow: /?s=
Disallow: /?page_id=
Disallow: /?feed=
Disallow: /feed/
Disallow: /trackback/

上面有关feed和trackback的条款是一定要的,可以说wordpress 80%以上的补充材料都是和它们有关。
传说可以用google的代码功能可以搜索出wp-config.php里面的东西,不知道真假,为了你wordpress的安全,robots.txt可以加入:

Disallow: /*.php$
Disallow: /*.css$
Disallow: /wp-
#因为你上传的图片一般是在/uploads/目录下,如果你想让你的图片被搜索引擎搜录,可以加入下面这条
Allow: /wp-content/uploads/

下面的两条你可以先看看site里面有没有被搜录为补充材料,然后再考虑是否加入:

Disallow: /page/
Disallow: /date/200*/*/*/

即使上面的这些规则你全部写入robots.txt,也请你放心,搜索引擎能搜索到你页面的方式还有很多。

最初的时候,我是想用一个叫做DupPrevent的wordpress插件来实现这一切的,但是这个插件的主页一直返回的是403错误,无赖之下,我只好自己动手给我的wordpress写robots.txt了。

增加一个robots.txt,限制搜索引擎访问你的wordpress为虚,其实是非常好的一种seo方法,以退为进,提高网站的排名为实。前几天看到个老外站点说用了这种优化方式以后站点流量上升了10%以上,可惜链接我没有保留下来。

最后,更多的robots.txt写法看这里。

在写了这篇文章以后,又发觉这种方法不如这个高明:
一个搜索引擎优化(SEO)几近完美的Wordpress之header.php,目的是一样的,减少wordpress的补充材料,达到SEO搜索引擎优化的目的,怎么用就看你的了。

Ryan Lee 2007-4-21 update
修改了meta description,测试一下meta对Wordpress SEO效果的影响。

相关文章:
  1. robots meta OR robots.txt
  2. Seo Wordpress header.php
  3. Wordpress SEO - 自定义页面内容
  4. Baiduspider不支持noindex
  1. 菜鸟盘子

    抄了你网站的robots拿来自己改了改,别介意啊:)

  2. Ryan Lee

    呵呵,随便抄。

  3. Button

    wordpress可以使用在IIS的服务器是吗?

  4. Ryan

    可以的,只要你对url格式没有太多的要求,就没有影响。

  5. James

    robots.txt是放在blog根目录下的吗,我用google网站管理工具检查时,因为网站管理工具中的域名是我的主域名,比如zhaopan.net,是被我重定向到zhaopan.net/blog目录下的,而它自动的是在zhaopan.net/robots.txt下找文件,当然是无法找到的,请问Ryan Lee具体该怎么设置呢,我很困惑

  6. Ryan Lee

    robot.txt是放在网站根目录下的。
    你把主域名重定向到目录不是一个很好的做法,也不知道你这样重定向有什么意义……难道你以前的博客是zhaopan.net?

  7. James

    不是啊,因为吧WP放到blog文件夹下比较好管理么,总不能放在根目录的,而且有篇SEO的报道说,博客地址中带blog会比较好,根目录显示不太好,那你觉得怎么样好点啊。还有那个放在根目录的话,设置需要改吗

  8. Ryan Lee

    那你完全没有必要把主域名重定向到xxx/blog下啊。
    重定向一般用在换域名,或者目录更改,乱用重定向当心百度K你……

  9. James

    我说的重定向,是只输入http://zhaopan.net直接被转到http://zhaopan.net/blog啊,就是在根目录放了个index文件做转向而已,这样没什么问题吧,教教我robots.txt放哪咯,我奇怪死了

  10. 禅猫

    那个几近完美的HEAD 打不开哦

  11. Ryan Lee

    use this url below
    http://ilihai.com/a-perfect-seo-header-php-for-wordpress.html

  12. Gr.Zhang

    喜欢,借鉴,学习

  13. Anonymous

    实验这个robots.txt

  14. 漂流

    参考一下

say