搜索引擎爬虫每访问一个网站,总会先去根目录寻找 robots.txt 这个文件。它是一份规则清单,用简单的文本告诉爬虫站点中哪些部分可以自由浏览、哪些区域需要止步。设置得当,既能保护后台与重复页免于收录,也能引导爬虫将精力集中在更有价值的页面上。
robots.txt 文件存放在网站根目录,文件名大小写都需精确,编码须为 UTF-8,每个指令独占一行。一份完整的配置离不开这些核心字段:
以下是一段基本配置示例:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这段代码意味着:所有爬虫都能访问网站,/admin/ 下的文件被禁止抓取,但其中 /public/ 文件夹例外。因为 Allow 指令并非所有爬虫都认,那些不支持的引擎仍会遵守更严格的 Disallow,所以想对某些目录放行,不能一味依赖 Allow。
不同性质站点的抓取需求各有差异,以下三种常布局面能满足多数情况。
如果你的目标是让搜索结果尽可能多地覆盖站点内容,就应保持全站开放。此时 Disallow 留空即可:
User-agent: *
Disallow:
需特别留意,有人会在这一行误写成 Disallow: /,一旦如此,所有爬虫将停止抓取整站,收录会完全停滞,后果相当严重。也有人以为删除 Disallow 这一行会有不同,实际上两者效果一致。
假如只是不想让某一家搜索引擎收录站点,而对其他搜索入口并无限制,可专为该引擎制定规则:
User-agent: Bingbot
Disallow: /
这个样例只作用于 Bing 的爬虫,Google 和百度可以照常访问。操作之前,务必去对应搜索引擎官方文档核实爬虫名称的正确英文,比如百度的是 Baiduspider,如果拼写有误,屏蔽就不会奏效。
网站大改版或涉及敏感数据调整时,短暂封锁全站抓取是明智之举:
User-agent: *
Disallow: /
但这种封锁只宜作为临时措施,改版结束应尽快恢复原来的规则,否则持续封锁会让网站从搜索结果中逐步消失,后续恢复会耗时费力。
robots.txt 看似简单,稍不留神却会带来明显损失。几个高频出现的失误尤其值得重视:
写好 robots.txt 后,不能直接收工。通过以下步骤能确认它是否按照预期生效:
对。robots.txt 仅是面向遵守协议的搜索引擎爬虫的君子协定,无法阻止恶意软件或人工直接访问。若需保护私密内容,应借助登录验证或服务器层面的访问权限设置,而非只依靠该文件。
在绝大多数搜索引擎看来,两者含义相同,都表示不限制抓取。需要区分的是,Disallow 后面什么都不写时表达的是允许全部抓取,而写成 Disallow: / 时则完全相反,是禁止所有路径,二者切不可混淆。
没有统一的时间周期。多数搜索引擎会在下次抓取时第一时间读取改动后的文件,通常在数小时到几天内生效。若希望加速,可在各搜索引擎的站长工具中手动提交更新。
robots.txt 是管理搜索抓取的基础工具,规则清晰、措辞准确是关键。配置前先明确自身需求:是全面开放、屏蔽特定引擎,还是临时封锁全站。写完后务必测试验证,并定期复查规则是否因站点结构调整而失去意义。记得每次改动都做好记录,便于后续回退排查。掌握这些要点,就能让 robots.txt 真正为站点收录与流量服务。