首页 > SEO, wordpress > WordPress中robots.txt写法及其利弊

WordPress中robots.txt写法及其利弊

2010年7月20日 发表评论 阅读评论

Robots.txt是放在博客根目录给搜索引擎看的一个文件,告诉搜索引擎什么链接能收录什么链接不能收录以及什么搜索引擎能够收录,在SEO中有着举足轻重的作用。

WordPress本身就有很多地方是非添加robots.txt不可的,比如:

用了伪静态链接之后动态链接依然能访问博客。

用Wordpress架设的博客有很多不同链接但相同内容的页面。

一、robots.txt的写法:

下面提供几种不同的写法:

1、最简单的开放写法

User-agent: *
Disallow:

允许所有蜘蛛访问,允许访问所有内容。Wordpress只要模板中链接设计合理,没有需要限制的特殊内容,推荐使用这种写法。

2、最简单的严格写法

User-agent: *
Disallow: /wp-*
#Allow: /wp-content/uploads/
Disallow: /*.php$
Disallow: /*.inc$
Disallow: /*.js$
Disallow: /*.css$
Disallow: /?s=

允许所有蜘蛛访问,限制以“wp-”开头的目录及文件,限制抓取.php文件、.inc文件、.js文件、.css文件,限制抓取搜索结果。

Disallow: /wp-* 会连同附件目录一起限制抓取,如果想让搜索引擎抓取附件中的内容,将第三行的 # 号注释去掉。注:Allow 不是所有搜索引擎都支持。

3、个人认为最合理的写法

User-agent: *
Disallow: /wp-admin
Disallow: /wp-content/plugins
Disallow: /wp-content/themes
Disallow: /wp-includes
Disallow: /?s=
Sitemap: http://www.yoursite.com/sitemap.xml

允许所有搜索引擎抓取,逐一列举需要限制的目录,限制抓取搜索结果,并包含你的域名的sitemap.xml地址。

4、别人的写法(仅供参考o(∩_∩)o…)

User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-
Allow: /wp-content/uploads/
Disallow: /category/
Disallow: /date/
Disallow: /page/
Disallow: /tag/
Disallow: */trackback/
Disallow: */feed/
Disallow: /*.php$
Disallow: /*.inc$
Disallow: /*.js$
Disallow: /*.css$
Disallow: /*.cgi$
Disallow: /*?*
Disallow: /?s=
Sitemap: http://www.yoursite.com/sitemap.xml
# BEGIN XML-SITEMAP-PLUGIN
Sitemap: http://www.yoursite.com/sitemap.xml.gz
# END XML-SITEMAP-PLUGIN

如果你在使用Google管理员工具,你可以登录后通过“工具 -> 分析 robots.txt”来检查文件有效性。

二、robots.txt的利与弊

1、好处

robots.txt可以制止不必要的搜索引擎占用服务器的宝贵带宽,如email retrievers,这类搜索引擎对大多数网站是没有意义的;再如image strippers,对于大多数非图形类网站来说其也没有太大意义,但却耗用大量带宽。

robots.txt可以制止搜索引擎对非公开页面的爬行与索引,如网站的后台程序、管理程序,事实上,对于某些在运行中产生临时页面的网站来说,如果未配置robots.txt,搜索引擎甚至会索引那些临时文件。

对于内容丰富、存在很多页面的网站来说,配置robots.txt的意义更为重大,因为很多时候其会遭遇到搜索引擎Spider给予网站的巨大压力:洪水般的Spider访问,如果不加控制,甚至会影响网站的正常访问。

如果网站内存在重复内容,使用robots.txt限制部分页面不被搜索引擎索引和收录,可以避免网站受到搜索引擎关于 duplicate content的惩罚,保证网站的排名不受影响。

2、坏处

robots.txt给攻击者指明了网站的目录结构和私密数据所在的位置。虽然在Web服务器的安全措施配置得当的前提下这不是一个严重的问题,但毕竟降低了那些不怀好意者的攻击难度。

比如说,如果网站中的私密数据通过www.yoursite.com/private/index.html访问,那么,在robots.txt的设置可能如下:

User-agent: *
Disallow: /private/

这样,攻击者只需看一下robots.txt即可知你要隐藏的内容在哪里,在浏览器中输入www.yourdomain.com/private/ 便可访问我们不欲公开的内容。对这种情况,一般采取如下的办法:

第一种办法是设置访问权限,对/private/中的内容实施密码保护,这样,攻击者便无从进入。

第二种办法是将缺省的目录主文件index.html更名为其他,比如说abc-protect.html,这样,该内容的地址即变成www.yourdomain.com/private/abc-protect.htm,同时,制作一个新的index.html文件,内容大致为“你没有权限访问此页”之类,这样,攻击者因不知实际的文件名而无法访问私密内容。

分类: SEO, wordpress 标签: , ,

您可能会对下面的文章感兴趣

  1. 2010年7月21日16:46 | #1

    学习了 /huaix

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.