SEO 百科

robots.txt 编写与提交

本页目录

robots.txt 文件是一份纯文本文件,由一条或多条规则组成[3]。每条规则可以禁止或允许特定抓取工具访问指定路径;如果没有另行指定,默认允许抓取所有文件[3]。

位置与命名

这份文件的位置和名字都有硬性要求[3]。

这份文件必须叫 robots.txt,一个网站只能有一份[1][3]。还必须放在网站主机的根目录下,放进子目录就不起作用[3]。

这份文件的效力只覆盖所在的协议、主机和端口[3]。也就是说,同一台服务器上的不同子网域,需要各自单独准备一份文件。

文件格式

从形式上看,这份文件是纯文本,需要按 UTF-8 编码保存[3]。

这里有一个实际的提醒。文字处理软件常常会加入弯引号之类的字符,这些字符会给抓取工具带来麻烦,所以要用普通文本编辑器来写[3]。

文件内容分成若干组,每组是一批规则[3]。组以 User-agent 行开头,用来指定这组规则面向谁[3]。比如 User-agent: Googlebot 和 Disallow: /search,两行合起来就是一个规则组。规则区分大小写,以井号开头的内容视为注释,直接忽略[3]。

规则组的结构

一个组里包含三类信息:适用对象、可以访问的路径、不能访问的路径[3]。

  • user-agent 不能少,每个组都要有[3]。
  • disallow 和 allow 至少要有一条,否则这个组没有实际内容[3]。
  • sitemap 则是可选的,用来指向站点地图的位置[3]。

有一个细节容易忽略。星号通配符在多数规则里可用,但 sitemap 不支持[3]。另外,星号匹配并不包括 AdsBot 系列的抓取工具,要单独写出它们[3]。

把这些放在一起,一份完整的 robots.txt 大致如下:

User-agent: *
Disallow: /cart/
Disallow: /search

User-agent: Googlebot
Allow: /search

Sitemap: https://www.example.com/sitemap.xml

第一组面向所有抓取工具,第二组只对 Googlebot 生效;末尾一行给出站点地图的位置。

生效方式

最后回到提交这件事。常规情况下,并不需要专门提交[2][3]。

文件上传到根目录后,抓取工具会自行找到并开始使用它[3]。前提是这份文件能够被公开访问,并能被正确解析[3]。

更新之后也不必每次都通知。抓取工具会自行刷新,只是在需要更快生效时,才需要主动提交[3]。

附录

参见

参考资料

官方(境外)

  1. 《RFC 9309: Robots Exclusion Protocol》,RFC 编辑部。
  2. 《How to create a robots.txt file》,Bing 网站管理员工具。
  3. 《如何编写和提交 robots.txt 文件》,Google 搜索中心。

外部链接

无。