作为一种“防君子,不妨小人”的网络协议,robots.txt文件可以很好的帮助我们引导搜索引擎蜘蛛对我们网站内容的收录并保护我们网站的部分私密内容不被搜索引擎索引,但是近几年来部分大型网站为了保护自己的垄断地位通过robots协议阻止其他人收录网站内容的事情也时有发生,对于这一问题网上自有公断,在此就不便多说。作为一些新建站的朋友们可能对这个文件的了解不是很多,今天我们就来深入了解下这个文件并帮助自己网站更好的做好SEO。

首先需要了解的是,robots.txt不单单是一个引导搜索引擎蜘蛛收录网站内容并保护网站安全及隐私的文件,它其实是一个协议。网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。Robots协议是国际互联网界通行的道德规范,基于以下原则建立:

  • 搜索技术应服务于人类,同时尊重信息提供者的意愿,并维护其隐私权;
  • 网站有义务保护其使用者的个人信息和隐私不被侵犯。

对于一个典型的robots.txt文件,其主要语法内容包括:User-agentDisallowAllow三部分。

User-agent:主要用来定义搜索引擎的类型

Disallow:主要用来申明禁止搜索引擎收录的地址

Allow: 主要用来申明允许搜索引擎收录的地址

对于使用WordPress建站的朋友们,如果你未设置robots.txt文件,那么一般情况下如果你通过

访问“网站域名/robots.txt”路径即可查看默认的文件内容如下:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

User-agent:*      使用通配符“*”表示下面的规则对所有搜索引擎适用

Disallow: /wp-admin/      禁止搜索引擎爬虫收录wp-admin目录下的所有文件

Allow: /wp-admin/admin-ajax.php       允许收缩引擎爬虫收录wp-admin目录下的admin-ajax.php文件

当然,如果你的WordPress程序未安装在htdocs文件夹下,而是安装在了一个子目录比如wordpress文件夹下,则通过访问“网站域名/robots.txt”路径查看到的内容可能如下:

User-agent: *
Disallow: /wordpresss/wp-admin/
Allow: /wordpress/wp-admin/admin-ajax.php

所以说,robots.txt文件的设置虽然能在 一定程度上引导搜索引擎对网站页面的收录,但同时会暴露网站的安装目录,可以说是一把双刃剑。

下面这段robots.txt文件内容是我在知更鸟博客上发现的,推荐给大家使用:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*/comment-page-*
Disallow: /*?replytocom=*
Disallow: /category/*/page/
Disallow: /tag/*/page/
Disallow: /*/trackback
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /*/?s=*\
Disallow: /*?*
Disallow: /attachment/

下面做一下解释:

Disallow: /wp-admin/、Disallow: /wp-content/和Disallow: /wp-includes/

用于告诉搜索引擎不要抓取后台程序文件页面。可以在一定程度上保护你网站后台程序的安全,同时对于一些敏感页面你也可以设置禁止抓取来进行保护。

Disallow: /*/comment-page-*和Disallow: /*?replytocom=*

禁止搜索引擎抓取评论分页等相关链接。这个如果不禁止的话当你网站每增加一条评论,搜索引擎可能就会收录一次造成同一页面被收录多次的惨案。

Disallow: /category/*/page/和Disallow: /tag/*/page/

禁止搜索引擎抓取收录分类和标签的分页。每增加一个分类或标签,每写一篇文章都会使这些页面有所改变,如果每次改变都抓取一次的话,oh my god!

Disallow: /*/trackback

禁止搜索引擎抓取收录trackback等垃圾信息。

Disallow: /feed、Disallow: /*/feed和Disallow: /comments/feed

禁止搜索引擎抓取收录feed链接,feed只用于订阅本站,与搜索引擎无关。

Disallow: /?s=*和Disallow: /*/?s=*\

禁止搜索引擎抓取站内搜索结果。每次站内搜索都会生成一个页面,每生成一个页面都要抓取的话也挺恐怖的。

Disallow: /*?*

禁止搜索抓取动态页面。

Disallow: /attachment/

禁止搜索引擎抓取附件页面,比如毫无意义的图片附件页面。

最后,为了更好的帮助搜索引擎收录我们的站点,可以在robots.txt文件后面加上SiteMap路径的指示:

Sitemap:http://blog.quietguoguo.com/sitemap.xml