搜索引擎爬虫访问一个网站时,总会先在根目录下寻找 robots.txt 这个文本文件。它就像网站给爬虫的一份“访问公约”,用来明确哪些路径可以抓取、哪些路径需要绕行。一份设计得当的 robots.txt,既能避免后台、临时目录等敏感内容被搜索收录,也能让爬虫的抓取精力集中到核心页面上,从而让有限的抓取预算产生更高回报,间接提升关键页面的收录效率。
robots.txt 的存放位置有硬性要求,必须位于站点根目录,例如 https://yourdomain.com/robots.txt,否则爬虫将直接忽略。文件须保存为纯文本格式,编码统一使用 UTF-8,文件名必须为全小写,且文件内的路径参数严格区分大小写,这一点常被疏忽。
文件内部由多个规则组构成,每组针对特定的爬虫制定策略。核心指令只需掌握三个,足以应对绝大多数场景:
文件末尾通常可附加 Sitemap 声明,帮助爬虫更快发现网站地图。
以下是一份典型配置:
User-agent: *
Disallow: /admin/
Disallow: /cache/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
其含义是:所有爬虫均被禁止访问 admin 和 cache 目录,但 admin 目录下的 public 子路径作为例外被放行。需要留意一个常见误点——路径匹配遵循前缀原则,Disallow: /admin/ 会连带封锁该目录下所有深层页面,除非用更具体的 Allow 指令单独覆盖。
不同性质的网站对抓取的需求差异明显,直接套用模板往往适得其反。以下根据站点类型给出可参考的配置方案。
博客、新闻站点或企业产品展示页,目标自然是让页面尽可能被索引。这类站点配置应当极简,明确表示不拦截任何资源:
User-agent: *
Disallow:
此配置也可直接省略 Disallow 行。操作时最大的风险是将 Disallow 误填为斜杠“/”,这等于对所有爬虫关门,已有排名的页面会在短期内明显下滑,后续恢复收录耗时很长。修改后务必访问根目录地址确认文件内容正确。
大型电商或社交平台存在大量动态页面、筛选参数和临时缓存,这些内容抓取价值低且损耗服务器资源。建议将这类路径集中屏蔽,同时单独放行核心列表页:
User-agent: *
Disallow: /cart/
Disallow: /search?
Disallow: /user/checkout
Allow: /products/
Sitemap: https://yourdomain.com/sitemap.xml
此处尤其建议将带参数的 URL 列入屏蔽范围,既能防止重复内容,又能节省抓取配额。注意 Allow 并非对每个爬虫都生效,对参数类路径的屏蔽尽量用 Disallow 的完整路径写全,避免依赖 Allow 的放行能力。
若网站涉及个人隐私区域、会员专属内容或受版权保护的文件,需要精准划分“可公开”与“不可公开”的边界。例如:
User-agent: *
Disallow: /private/
Disallow: /members-only/
Disallow: /downloads/
Allow: /private/public-sample/
Sitemap: https://yourdomain.com/sitemap.xml
此类站点需特别注意,robots.txt 只是“君子协定”,面对恶意爬虫并不具备强制力,真正的隐私内容还需配合登录验证等安全手段。
配置完成后并不意味着万事大吉,通过工具验证结果是保证生效的关键一步。常见的验证手段包括:
重定向循环或死链。检查文件地址是否加了多余的路径(如 /robots.txt/),或者文件内是否存在不匹配的斜杠与空格。处理方法是确保根目录文件只包含纯文本内容,并移除多余字符。
整站被封锁。若全站页面在搜索结果中消失,往往是因为 Disallow 被写成了斜杠“/”。应立即删除该行并重新提交站点地图,等待爬虫重新抓取。
Allow 指令不生效。部分爬虫不支持 Allow,此时应将需要的放行路径拆分到独立规则组,并单独指定 User-agent。
robots.txt 的修改通常会被爬虫在数小时至数天内重新抓取,因此每次变更前先备份原始内容。变更后建议先验证再上线,尤其在大型站点中,错误的配置可能会造成不可逆的收录损失。
会。搜索引擎对 robots.txt 文件大小有隐式上限,通常建议控制在 500 KB 以内,且规则组不宜过多,否则可能导致部分指令被忽略。应在保证功能的前提下尽量精简规则。
建议写入。虽然多数搜索引擎可通过站长平台主动提交站点地图,但若更换域名或需要多引擎同步获取,在 robots.txt 中声明 sitemap 是最可靠的兜底方式,能显著加快新内容的发现速度。
这通常表示服务器对文件的访问权限设置异常。检查服务器配置是否对 txt 后缀设置了额外校验或鉴权,并将该文件设置为公开可读。若返回 403,重点排查根目录的目录权限是否被误限定。
robots.txt 是搜索引擎友好的基础环节,但也不需要过度设计。建议从确认根目录可达开始,按站点类型撰写精简规则,并在每次调整后利用站长工具验证结果。同时牢记:该文件无法防护非善意爬虫,真正重要的数据始终需要靠认证机制加以保护。保存好历史版本,定期复盘抓取效果,才是稳妥的运维之道。