搜索引擎爬虫进入你的网站时,第一眼看到的往往不是首页内容,而是根目录下一个名为 Robots.txt 的文件。这份纯文本文档扮演着访客守则的角色,预先声明了哪些区域欢迎抓取、哪些地方禁止入内。规范的 Robots 配置既能防止后台和隐私页面泄露到搜索结果中,也能引导蜘蛛把有限的抓取预算花在关键内容上,让网站收录更高效。
这个文件本质上是给爬虫看的指令集,每一组规则都遵循固定的排列顺序:先指明这段规则针对哪位爬虫,再列出对应的允许或拒绝条目。理解以下几个基础设施字段,就掌握了全部语法:
下面是一套最基础的配置样例:
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml
上述代码告知所有爬虫:全站开放、无所限制,同时附带地图链接供爬虫参考。这是新站上线时常用的默认策略。
语法本身并不复杂,真正的挑战在于结合业务场景做出合理选择。以下梳理了三种出现频率极高的需求及其对应的处理方式。
站点正处于重构阶段,或临时需要下线维护时,希望切断所有外部爬取通道。此时只需两行指令:
User-agent: *
Disallow: /
这一段标准规则能阻止搜索引擎收录站内任何新 URL。但要留意,它并不能立即清除此前已被索引的旧页面,删除结果往往需要结合站长工具手动提交。
现实中多数网站需要保护的并非全站,而是后台管理、会员中心、站内搜索等区域。假设想要拦截 /user/ 和 /admin/,同时保留首页及产品页的抓取:
User-agent: *
Disallow: /user/
Disallow: /admin/
这段配置不需要额外添加 Allow: / 指令,因为 Robots 协议默认未声明 Disallow 的路径就处于可抓状态。画蛇添足地加入允许规则,反倒可能因为部分爬虫对 Allow 的解析不一致而引发误判。
不同搜索引擎对服务器资源的消耗有差异,有时需要为不同爬虫定制规则。例如允许 Googlebot 遍历全站,同时限制其他爬虫进入静态资源和图片存储区域:
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /assets/
Disallow: /images/
这样配置后,Google 的蜘蛛可自由访问站点所有内容,而其他未被点名的爬虫则被拦在资源目录之外。注意规则顺序:优先声明特定爬虫的策略,最后再用通配符覆盖其他对象。
光知道怎么写还不够,理解协议背后的解析逻辑才能避开常见的坑。下面几个细节往往容易被忽略。
文件修改完成后,切勿直接上线了事,建议通过以下步骤验证效果:
此外,要养成定期复核的习惯:每上线一批新页面,就检查一下 Robots.txt 中是否存在误拦路径,避免新内容因配置原因长时间无法被收录。
不能完全阻止。Robots.txt 约束的是爬虫的抓取行为,但若其他网站引用了你的页面链接,搜索引擎仍可能将链接信息或摘要展示在结果中。若要求彻底不展示,应使用 noindex 标签配合管理。
可以,允许多行分别声明不同域名的地图地址。但需要注意 Sitemap 指令并不属于 User-agent 组块约束,放置于文件任意位置均可,且最好使用完整的绝对网址。
不会直接导致惩罚,但会造成不利影响。若误封了核心栏目,网站收录量会锐减,整体权重下滑,从而间接影响排名。发现误封后及时修正规则并提交抓取即可逐步恢复。
Robots.txt 配置的直接目标是管控抓取,但更高层次的目的是优化搜索引擎对待你网站的方式。从实际需求出发,优先封锁明确无价值的目录,保持规则精简清晰,并在一段时间后回访检查规则是否仍与站点结构匹配。建议建立一个维护清单:每次站点结构变更、目录重命名或新增功能模块时,同步评估并更新这份文件,确保抓取策略始终服务于内容发展。