SEO 百科
robots.txt
本页目录
robots.txt
robots.txt 是一个文本文件,放在网站根目录。它规定搜索引擎的抓取工具能访问网站上的哪些网址,用途是管理流向站点的抓取流量[1]。Google 在简介开头加粗写了一句:它挡不住 Google 抓取某个网页[1]。
它对三种文件起的作用不同
网页这一类包括 HTML、PDF 和 Google 能读的其他非媒体格式。使用场景有两个:来自抓取工具的请求让服务器超负荷,或者不想让 Google 抓站上的不重要网页、相似网页[1]。
媒体文件是图片、视频、音频。robots.txt 能阻止它们出现在搜索结果里,但不会阻止其他网页或用户链接到这些文件[1]。
资源文件指加载网页时用到的不重要图片、脚本和样式。Google 的态度是分情况:跳过这些资源不影响网页解读时才能屏蔽;缺了它们会让抓取工具更难读懂页面时不要屏蔽,否则 Google 分析这类网页就失去了依据[1]。
屏蔽网页会带来什么后果
被 robots.txt 屏蔽的网页,网址仍可能出现在搜索结果里,只是结果不会带上对这个网页的说明[1]。
内嵌在被屏蔽网页里的图片、视频、PDF 和其他非 HTML 文件都会被排除在抓取范围之外,除非有别的允许抓取的页面引用它们[1]。这一点常常出乎站长意料:屏蔽一个列表页,等于把它下面的图片一起撤出抓取。
想修正这种半截结果,Google 给的做法是把屏蔽这一页的条目去掉[1]。想让网页从搜索结果中完全消失,得换别的方法。
三条限制要清楚
第一条,并非所有搜索引擎都支持 robots.txt 规则。文件里的命令不能强制抓取工具的行为,遵不遵守由抓取工具自己决定[1]。Googlebot 和其他正规网页抓取工具会遵守,其他抓取工具未必[1]。
第二条,不同的抓取工具解析语法的方式不同。每种工具可能用自己的方式理解这些规则,有的工具理解不了某些命令[1]。
第三条,别的网站有链接指向被屏蔽的网页时,这个网页仍可能被编入索引。Google 说自己不抓取被屏蔽的内容,但如果网络上有链接指向这些网址,它仍可能找到并编入索引,网址和链接里的定位文字都会公开显示[1]。
要真正挡住信息,Google 给的三条路是给文件设密码保护、用 noindex 的 meta 标记或响应标头、或者彻底移除网页[1]。
写法与更新
文件要放在网站根目录。Google 给的形状是 www.example.com/robots.txt,每条规则指定某个抓取工具能不能抓某个路径,范围限于放这份文件的网域或子网域[2]。没另外指定时,所有文件默认允许抓取[2]。
写法是一条 User-agent 配若干 Allow 与 Disallow,文件末尾还能带一行 Sitemap 指向站点地图[2]。保存时以 UTF-8 编码,语法按规范来[3]。
改完还要刷新 Google 一侧的缓存。Google 的抓取工具会在自动抓取过程中发现更改,缓存的版本每 24 小时更新一次[3]。要更快生效,用 Search Console 的 robots.txt 报告请求重新抓取这一份文件[3]。那份报告也能把在用的文件内容复制下来,改完再存回网站[3]。
附录
参见
参考资料
官方(境外)
- 《robots.txt 简介》,Google 搜索中心。
- 《如何编写和提交 robots.txt 文件》,Google 搜索中心。
- 《更新 robots.txt 文件》,Google 搜索中心。