Robots.txt 是一种存放在站点根目录的文本协议,用于告诉搜索引擎爬虫哪些链接可以抓取、哪些路径应该避开。它本质上依靠爬虫自觉遵守,并非强制性的访问控制手段。合理配置这一文件,能帮助搜索引擎更高效地收录优质内容,同时减少服务器不必要的请求负担。
搜索引擎的爬虫每次访问站点时,都会先检查根目录下是否有这个文件。如果有,就按其中的规则决定抓取范围;如果没有,爬虫就会默认抓取所有可公开访问的页面。这个文件适合处理后台路径隐藏、拦截重复或无价值的页面(比如站内搜索的结果页、自动生成的标签列表)、降低抓取频率以保护服务器等场景。需要强调的是,它无法防止恶意爬虫或黑客访问,因此不要将其当作安全工具来依赖。
该文件由若干组规则组成,每一组规则都以 User-agent 开头,后面跟随具体的指令行。掌握下面几个基础指令,基本就可以应对绝大多数配置需求:
下面是一份写法规范、便于理解的配置示例:
User-agent: *
Disallow: /cache/
Disallow: /private/
Allow: /private/about.html
Sitemap: https://www.yourdomain.com/sitemap.xml
这段配置的含义是:所有爬虫禁止访问 cache 和 private 两个目录,但 private 目录下的 about.html 文件可以单独抓取;同时把站点地图的地址告知了爬虫。
配置过程中如果对规则理解有偏差,很容易出现预期之外的结果。下面几个典型场景值得在实际操作时留意:
除了以上场景,还有几个细节很容易被忽略,却直接影响规则是否生效:
完成编辑后,建议通过搜索引擎官方提供的工具来验证配置结果。操作步骤如下:
另外,也可以直接在浏览器中访问 https://www.yourdomain.com/robots.txt,检查文件是否正常展示、内容是否完整。注意确认没有多余的空白行或乱码字符。
搜索引擎通常不会立即重新读取这一文件。Google 和 Bing 等主流引擎一般会在 24 小时到几天内重新抓取并更新规则缓存,取决于爬虫对站点资源的访问频率。如果临时屏蔽了某些重要页面,建议定期关注收录情况,确认规则已生效后再做后续调整。
在同一个 User-agent 组内,Allow 指令的优先级高于 Disallow。这意味着即使某个目录被 Disallow 屏蔽,只要该目录下某个具体文件同时被 Allow 明确放行,爬虫仍然可以抓取那个文件。这一机制方便在屏蔽大量内容的同时,单独保留少数重要页面。
不能。robots.txt 只能阻止爬虫抓取页面内容,但搜索引擎仍然可能根据其他来源的链接,在搜索结果中展示页面的标题和描述。如果确实不希望某页面出现在搜索结果中,应该在 HTML 代码中加入 noindex 标签,或者将二者结合使用,这样控制更加彻底。
正确配置 robots.txt 是站点 SEO 的基础环节,花时间检查语法、路径和部署位置,能避免很多不必要的收录问题。建议你在每次改版或新增功能模块后,重新审阅这份文件,并利用站长工具确认配置结果与预期一致。如果发现重要页面被误屏蔽,及时修正规则并耐心等待生效,不必频繁改动以免增加爬虫负担。