网站运营中,robots.txt 是一个必须正确理解的配置文件。它与搜索引擎爬虫直接交互,决定哪些路径可以被抓取。写对了,搜索引擎能更集中地抓取重点页面,加快收录速度;写错了,可能导致整站内容从搜索结果中消失。下面围绕语法细节和常见错误做一次系统梳理。
robots.txt 是位于域名根目录下的纯文本文件,固定访问地址为 https://你的域名/robots.txt。它的职责是设定抓取权限,并不能直接决定页面是否被索引。若想阻止某页面出现在搜索结果中,正确做法是采用 noindex 标签;robots.txt 只负责"是否来抓",不负责"是否收录"。
同时要意识到,这份文件对爬虫而言属于配合性质的约定。主流搜索引擎的蜘蛛会遵守规则,但恶意抓取工具根本不会理会。因此涉及用户数据或敏感信息的目录,必须依靠登录验证、IP 限制等安全机制加固,不能完全依赖 robots.txt 作为防线。最好定期检查文件内容,避免无意间暴露内部路径。
文件由若干"规则组"组成,每个组以 User-agent 开头,格式统一为"字段名: 值"。书写时保持小写字母,能减少不同搜索引擎的解析差异。
此字段界定规则适用的爬虫对象。比如 User-agent: Googlebot 只约束谷歌蜘蛛;希望覆盖全部搜索引擎,则使用通配符 User-agent: *。文件内可存在多个组,分别对不同爬虫设定不同的访问权限。需要注意,当同一爬虫匹配多个组时,搜索引擎大多以最具体的匹配为准,即选择路径最长或定义最精确的组来执行。
Disallow 声明禁止抓取的路径,Allow 声明放行的路径。特殊情况下,Disallow: 留空等于解除全部限制。两者同时出现并产生冲突时,搜索引擎遵循"最长路径优先"的通用原则。例如同时定义 Disallow: /private/ 和 Allow: /private/open/,则 /private/open/ 下的内容会被允许抓取。写路径时推荐使用相对根目录的清晰表达,减少解析偏差。
Sitemap 指令用来申明站点地图的完整 URL,帮助爬虫快速发现内容入口,通常置于文件末尾。关于 Crawl-delay 指令,Google 官方已明确表示忽视此项设置,若需控制 Googlebot 的抓取频率,请在 Search Console 中调整相应速率;Bing 等其他搜索引擎仍识别该指令,可以视情况保留。
下面列举几种常见需求的写法,替换对应的路径即可直接套用。
配置完成后,可在浏览器直接访问 /robots.txt 验证内容是否生效。注意每次修改后,搜索引擎需要一定时间重新抓取该文件,不必期待即时反应。
不少站点在配置中踩过同样的坑,下面汇总几条高频问题供参考。
如果返回 404 错误或服务器异常,多数搜索引擎会默认允许抓取全站内容。这可能导致不想被索引的动态参数页面被大量抓取,浪费抓取配额。建议确保该文件始终可访问且状态码为 200。
不是必须的。搜索引擎也支持通过 Search Console 等站长工具主动提交 Sitemap。但写入该文件是一个有效补充,尤其适合作为入口分散的站点。注意 Sitemap 指令不区分爬虫组,通常放在文件最后一行任意位置即可。
需要。旧域名上的文件建议添加 Disallow: / 阻止爬虫继续抓取,同时在新的域名中配置对应的重定向规则与全新的 robots.txt。忽略这一步,旧内容可能在搜索结果中滞留较长时间。
robots.txt 的配置并不复杂,但细节处容易出错。合理规划路径结构、清晰设定权限边界,比盲目堆砌规则更实用。建议先确认每个目录的实际用途,再决定是否放行;同时结合 noindex 标签与网站后台的抓取报告,持续校验配置效果。定期审查一遍文件,能有效避免因规则误写导致的流量损失。