当搜索引擎的爬虫程序访问一个网站时,它最先请求的往往不是首页内容,而是站点根目录下名为 robots.txt 的文本文件。这个文件相当于网站的“访客须知”,用简单的指令告诉爬虫哪些地方可以进入,哪些地方谢绝参观。一份配置得当的 robots.txt,不仅能避免后台管理页等敏感信息泄漏到搜索结果中,还能减少无效抓取对服务器资源的浪费,让爬虫将有限的抓取配额用在提升网站排名的关键页面上。
robots.txt 文件必须被放置在网站的根目录之下,比如 https://yourdomain.com/robots.txt 这个地址。文件需要采用 UTF-8 编码,每行只能包含一条指令,并且路径部分对大小写相当敏感。
除了上述三个字段,你还可以在文件中添加 Sitemap 指令,告诉爬虫网站地图的存储位置。下面是一份常见的配置写法:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置的意思是:所有爬虫都可以抓取整站,唯独 /admin/ 目录被排除,不过该目录下的 /admin/public/ 子目录得到了特别放行。这里要注意,Allow 指令并不是所有搜索引擎的标准支持项,如果遇到不支持的爬虫,它会直接忽略 Allow 并遵循 Disallow 的规则,导致你原本想开放的子目录也被一并屏蔽。
网站的实际运营情况各不相同,robots.txt 的配置策略因此也会有所差异。以下是三种典型场景的配置方案,你可以直接套用并加以调整。
如果你的网站是内容资讯类平台,或者正处于新上线阶段,当务之急是让搜索引擎尽快发现并收录页面。此时应将文件配置为放行所有内容,只需让 Disallow 不留任何路径。
User-agent: *
Disallow:
在这一行里省略 Disallow 也能达到同样的效果,爬虫会默认允许访问所有路径。最常见的失误是手误写成了 Disallow: /,一旦如此,所有爬虫都会放弃抓取整个网站,收录速度会立刻降至冰点。检查配置时,最关键的一步就是确认冒号后面是否为空白。
当你因为某些原因不希望某个特定引擎收录你的网站内容,但又不愿影响其他搜索引擎的正常抓取时,可以给该爬虫单独开设一档配置。
User-agent: Bingbot
Disallow: /
在这种设定下,Bingbot 会被彻底拒绝访问,而百度、Google 等其他搜索爬虫依然可以正常进入你的网站。需要注意,不同搜索引擎的爬虫名称不同,例如 Google 的爬虫名是 Googlebot 而非 Google,填写错误会导致防屏蔽规则完全不生效。
在网站维护期或版本换代阶段,你可能需要临时禁止所有爬虫访问。这时可以这样写:
User-agent: *
Disallow: /
该配置会让所有爬虫立即停止对站点的访问。但请务必记住,这只是一个临时方案,维护结束后一定要及时删除或修改,否则搜索引擎会逐步将你的网站从索引中移除。同理,如果只想屏蔽某个目录,只需将 / 替换为目标目录路径即可,比如 Disallow: /private/。
配置 robots.txt 的过程中,很多看似合理的小操作最终会带来大麻烦,以下几个误区值得特别注意。
写好 robots.txt 并不意味着已经大功告成,必要的验证环节能够帮你及时发现潜在问题并及时修复。
此外,修改完文件后,建议持续观察搜索引擎的索引量变化,如果抓取量明显下滑,就该回头检查是否误加了全站屏蔽规则。
不能完全保证。robots.txt 的作用是阻止爬虫抓取内容,但如果其他网站引用了你的被屏蔽页面链接,搜索引擎仍可能将该网址收录,只是搜索结果中无法显示其页面内容。要彻底阻止收录,通常需要将 robots.txt 与 noindex 标签配合使用。
具体要看规则路径的匹配长度。爬虫在判断时,会挑选长度更长的规则作为执行标准。例如同时存在 Disallow: /dir/ 和 Allow: /dir/public/,那么 /dir/public/ 目录下的内容会被优先允许访问,而该目录下其他路径仍然禁止抓取。
这取决于搜索引擎的下次抓取周期,通常从几分钟到几天不等。你可以通过搜索引擎站长工具里的抓取测试功能,手动触发一次抓取来加快规则的更新速度,确保新配置尽快生效。
配置 robots.txt 并不是一件复杂的工作,但细节处往往决定成败。建议你根据本文提供的模板,先明确网站的收录目标和敏感区域,再针对性地编写规则。完成配置后,务必进行实际抓取测试,并定期复查日志中的爬虫访问情况。务必记住,robots.txt 适合用来引导抓取行为,而涉及隐私数据保护,还需配合账号权限和加密措施来共同实现。