robots.txt 是一个存放于网站根目录的纯文本文件,用来告知搜索引擎爬虫哪些链接可以被抓取,哪些路径需要回避。它不提供安全防护,却能有效保护非公开目录、节省抓取配额并减轻服务器负荷。掌握这份文件的配置方法,是网站日常运营中的基本功。
文件语法本身不复杂,本质上是对几个固定指令的组合运用。只要掌握以下三个关键词,就能覆盖大多数实际场景。
常见误区:每个 User-agent 分组后必须至少携带一条有效的 Disallow 或 Allow 语句,否则该组规则形同虚设。还需注意,这份文件仅约束搜索引擎程序,用户通过常规浏览器仍能直接访问相关页面,真正的机密内容必须借助权限验证措施来保护。
无论站点处于哪个阶段,都建议从一份简洁的基础配置开始。以下模板可以作为起步参考。
User-agent: *
Disallow: /cgi-bin/
Disallow: /temp/
Sitemap: https://www.yourdomain.com/sitemap.xml
校验方法:部署完成后,在浏览器地址栏访问"你的域名/robots.txt",能正常显示文件内容即部署成功。新手常见的问题包括误写 Disallow: / 导致全站不被收录,以及遗漏路径末尾的斜杠使规则失效,例如 /temp 无法匹配 /temp/ 目录下的内容。
当网站目录层级变得复杂后,非黑即白的做法明显不够灵活,Allow 指令此时就显得极为实用。举个例子,你想屏蔽整个图片素材库,但希望其中某一张品牌宣传图能被检索到,可以参考下面这种配置方式:
User-agent: *
Disallow: /assets/img/
Allow: /assets/img/brand.png
操作须知:大多数搜索引擎遵循最长匹配前缀优先的原则,因此更具体的 Allow 路径能够被正确识别。配置完毕后,建议借助搜索引擎后台提供的抓取测试工具,验证当前的放行规则是否真正生效。
除了约束抓取动作,robots.txt 还承担着引导搜索引擎发现新页面的职责。Sitemap 指令可以将站点地图的具体位置直接告知爬虫,加快内容收录的速度。
操作要点:在文件末尾单独一行写明 Sitemap: https://www.yourdomain.com/sitemap.xml 即可。这里要注意两点:一是该指令不归属于任何 User-agent 分组,通常放置于全文件末尾;二是它只对支持此协议的搜索引擎(如 Google)有效,并非所有爬虫都会读取。
避坑建议:确保 sitemap.xml 文件确实存在于你填写的网址上,否则该指令毫无意义。此外,每次更新站点地图后,无需手动改动 robots.txt,爬虫会自动定期重新获取。
不能完全阻止。它只禁止爬虫抓取指定路径,但如果其他网站通过链接指向该页面,搜索引擎仍有可能在结果中展示其 URL(只是无内容预览)。若绝对不希望页面出现在索引中,应改用 noindex 标签配合身份验证。
生效时间没有固定标准。大部分爬虫会定期重新获取该文件,短则几小时,长则数天。你可以通过搜索引擎的站长工具主动提交更新,催促爬虫尽快重新抓取,从而缩短等待期。
搜索引擎会优先匹配名称最具体的 User-agent 分组。例如,同时存在"User-agent: *"和"User-agent: Googlebot"两组规则时,谷歌爬虫会采用后者;其他未匹配到专属规则的爬虫才适用通配符分组。因此,分组顺序不影响判断,但命名精确程度决定适配结果。
合理配置 robots.txt 是提升站点抓取效率的重要环节。建议先从基础的三项指令入手,确保文件语法正确并上传至根目录;遇到局部需要放行时,灵活运用 Allow 弥补 Disallow 的不足;别忘了在文件末尾补充 Sitemap 声明,帮助爬虫更快发现优质内容。部署后务必通过浏览器和站长工具双重验证效果,定期复查规则,避免因路径写错或遗漏导致收录异常。