搜索引擎爬虫访问一个网站时,会优先检查根目录下的 robots.txt 文件。这个纯文本文件扮演着「守门员」的角色,用简单的规则告诉爬虫哪些内容可以抓取、哪些区域需要绕行。合理配置 robots.txt,既能保护后台和敏感数据,避免无效页面浪费抓取配额,又能引导搜索引擎更高效地收录核心内容。
robots.txt 必须存放在网站根目录,才能通过 yourdomain.com/robots.txt 正常访问。文件需采用纯文本格式,推荐使用 UTF-8 编码,每条规则独立成行,并且路径严格区分大小写。掌握以下三个基础指令,就能搭建起文件的骨架:
在文件末尾附上一行 Sitemap 声明,有助于加快爬虫发现内容地图的速度。看一个典型示例:
User-agent: *
Disallow: /private/
Allow: /private/shared/
Sitemap: https://yourdomain.com/sitemap.xml
这段规则的含义是:全站默认开放,仅屏蔽 /private/ 目录,但其中的 /private/shared/ 子目录被放行。这里要特别注意,若爬虫不识别 Allow 指令,Disallow 的拦截逻辑依然生效,因此不能把放行指令当作绝对承诺。
不同类型网站的配置需求差异很大。以下列出三种常见应用场景,可对照自身情况参考调整。
新上线的内容站,首要目标是让更多页面进入搜索引擎索引库。此时只需保留一条空的 Disallow:
User-agent: *
Disallow:
此处的常见失误是写成 Disallow: /,一个斜杠就会封禁所有爬虫,使收录量瞬间归零。判断配置是否生效,可在几天后观察站点收录数量是否正常增长;若完全停滞,需检查是否误写了全站屏蔽规则。
如果希望某个搜索引擎不抓取站点,同时不影响其他搜索引擎访问,可以为该爬虫单独设置规则:
User-agent: Baiduspider
Disallow: /
这段配置仅对百度爬虫生效,对其他爬虫无任何影响。爬虫的准确名称需查阅各搜索引擎官方文档,常见的还有 Bingbot、Googlebot 等。确认准确名称后再写入规则,避免因拼写错误导致配置无效。
对于需要精细管理的站点,可以同时使用多条规则,按目录或页面级别进行控制。比如屏蔽后台目录、临时页面以及带特定参数的动态链接:
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Disallow: /*?page=
这种写法适合内容管理系统复杂的网站。需要注意,规则并非越多越好,过于繁琐的配置会提高后续维护成本,还可能因逻辑冲突导致意外封禁。
实际配置过程里,有不少容易踩的坑,稍不留神就会影响整站收录表现。
修改 robots.txt 后,建议先通过浏览器直接访问文件地址,确认内容已更新,再进行后续观察和调整。
robots.txt 是动态配置,站点结构调整或新增功能模块时,规则也需要同步更新。定期检查文件内容,确认已删除的目录不再有对应规则,新添加的敏感路径已及时屏蔽。
为了更准确判断规则是否生效,可以在搜索引擎的站长平台中查看抓取测试工具的结果。如果发现某个重要页面始终未被收录,可以先排查 robots.txt 是否存在误拦截。同时,建议将文件保持简洁,避免包含过多历史遗留的无用规则。
对于谷歌等主流搜索引擎,遵循最长匹配原则,即 URL 匹配到的最长路径规则生效。例如 /private/ 与 /private/shared/ 同时匹配时,后者的 Allow 规则优先。但部分搜索引擎不支持 Allow 指令,此时 Disallow 仍然直接生效。建议通过站长工具的规则测试功能验证实际效果。
会的。最常见的错误就是在 Disallow 后直接写单独的斜杠(/),这表示禁止所有爬虫访问整个站点,收录将彻底停止。修改文件后可通过浏览器访问 robots.txt 地址确认内容无误,并在站长平台中提交更新。
可以。在 Disallow 中写明该页面的路径就能阻止抓取。但需要注意,如果其他网站已经链接了这个页面,搜索引擎可能仍会将其收录(只是不抓取内容)。若页面内容属于敏感信息,建议同时添加 noindex 标签或采取登录访问等更严格的保护措施。
robots.txt 是维护网站与搜索引擎关系的实用工具,配置得当能显著提升抓取效率,配置失误则会带来收录骤降的隐患。建议从简单规则开始,明确所有爬虫、指定爬虫和不同路径的配置方案,避免使用过期的爬虫名称,并定期检查文件内容的有效性。每一次调整后,都通过搜索引擎的工具确认实际抓取情况,保持规则与站点结构同步更新,才能让这份「交通规则」真正发挥作用。