正确配置 robots.txt 是网站与搜索引擎爬虫沟通的基础,它既能保护后台等隐私区域不被收录,又能有效减少无意义请求对服务器带宽的消耗。掌握这份文件的语法规则和不同场景下的写法,是每位站点运营者的必备技能。下面从基础语法到进阶技巧逐一展开。
robots.txt 文件必须放置在网站的根目录下,例如你的域名是 example.com,那么它的访问地址应为 https://example.com/robots.txt。文件中的规则由多个指令块构成,每个块都以 User-agent 开头,用于声明规则的适用范围。
一个最简单的全开放示例,允许所有爬虫并提交地图:
User-agent: * Disallow: Sitemap: https://example.com/sitemap.xml编写过程中,每条指令单独占一行,冒号后跟一个空格,行尾不要添加任何多余字符。
不同站点的抓取需求千差万别,下面归纳几种常见场景的配置模板,你可以根据自己的实际情况灵活套用。
当网站处于开发测试阶段,或暂未准备好被公开索引时,使用 Disallow: / 屏蔽所有爬虫是最直接的方案。这种方法比逐个屏蔽目录更稳妥,也能避免测试内容被意外收录进搜索引擎。
User-agent: * Disallow: /大多数情况下,只需排除部分敏感目录,比如后台管理界面或用户数据页面。若要禁止爬虫访问 /admin/ 与 /private/ 两个路径,可参考以下写法:
User-agent: * Disallow: /admin/ Disallow: /private/ Allow: /务必注意,Allow 规则必须位于 Disallow 之后才可能生效。如果不确定目标爬虫是否支持 Allow 指令,建议只列出需禁止的路径,因为未声明的路径默认就是允许访问的,无需额外添加。
大型站点经常需要区分不同搜索引擎的抓取权限。比如,允许 Googlebot 抓取全站,同时限制其他爬虫访问资源目录,可以这样配置:
User-agent: Googlebot Allow: / User-agent: * Disallow: /assets这种方式在阻止低质量爬虫消耗带宽的同时,能确保重要搜索引擎的正常抓取,但务必核实各爬虫的名称拼写是否准确。
robots.txt 支持两种通配符,掌握它们能简化配置的复杂度。星号(*)用来匹配任意数量的字符,例如 Disallow: /*.pdf$ 可以阻止爬虫抓取所有 PDF 文件,而 Disallow: /*?page= 可以屏蔽带特定参数的动态链接。美元符号($)用于指定匹配的结束位置。
在实际操作中,尽管不少爬虫支持通配符,但部分旧版或小众爬虫可能解析不完整。稳妥的做法是:核心目录尽量使用明确的绝对路径,通配符仅用在文件类型或参数过滤等辅助场景,并定期通过搜索引擎提供的工具(如 Search Console)验证实际的抓取效果,避免误封重要页面。
另外,路径匹配遵循最长匹配原则。若同时存在 Disallow: /admin 和 Disallow: /admin/login,爬虫会优先适用更具体的那条规则。书写时也应注意路径大小写敏感,/User/ 与 /user/ 被视为不同路径。
配置 robots.txt 时,以下几个问题最容易被忽视,带来的影响却不容小觑。
不会受到惩罚,但可能导致页面长期不被收录,或恢复抓取需要较长的时间。因此修改前务必核对语法,修改后及时通过模拟工具验证结果。
并非如此。Google 和 Bing 等主流搜索引擎普遍支持 Allow,但并非所有爬虫都遵循该指令。对于不支持 Allow 的爬虫,应直接使用 Disallow 明确排除路径。
不建议屏蔽这些静态资源。搜索引擎需要解析页面结构、图片和样式来评估页面质量与相关性,完全屏蔽它们可能导致页面排名受损,甚至触发抓取异常提示。
合理配置 robots.txt 的关键在于理解语法规则,并根据站点实际结构定制方案。建议从简单的 Disallow 规则起步,逐步加入通配符和分爬虫策略,每次修改后都用工具验证抓取结果。如果条件允许,定期浏览搜索引擎官方的抓取报告,及时发现被误拦截的页面,确保重要内容能够顺利被索引。