WordPress博客的robots.txt写法及其利弊
如果你没有主动建立robots.txt ,那么在你的域名根目录下肯定是不存在robots.txt文件的。今天李是谁发现即使你的wordpress博客域名的根目录下不存在robots.txt,当你输入你的域名 /robots.txt(形如:yoursite.com/robots.txt)转到时,同样会出现robots.txt的信息,默认信息是所有搜索引擎都可以抓取所有内容。为什么会这样呢?李是谁也没弄明白,估计是wordpress后台那个隐私设置默认的吧。o(∩_∩)o…下面着重学习一下wordpress博客的robots.txt的写法及其好处和坏处。
一、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.baibudu.com/sitemap.xml
# BEGIN XML-SITEMAP-PLUGIN
Sitemap: http://www.baibudu.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文件,内容大致为“你没有权限访问此页”之类,这样,攻击者因不知实际的文件名而无法访问私密内容。
参考文章:


