robots.txt是放在网站根目录下的一个纯文本文件,用来告诉搜索引擎的蜘蛛程序,站内哪些路径可以抓取、哪些路径应当避开。对于站点运营者来说,配置恰当的robots.txt既能引导蜘蛛将抓取预算花在核心页面上,又能防止后台地址和隐私目录被收录。一旦配置失误,轻则影响新内容收录速度,重则可能导致整站从搜索结果里消失。下文将围绕语法要点、不同场景的配置思路和常见错误展开说明。
robots.txt的规则由若干条记录构成,每条记录都需要遵循固定的书写格式。实际使用中最常涉及四个字段,理清它们的作用就能应对绝大多数需求:
一个标准的配置示例可以参考:
User-agent: *
Disallow: /temp/
Allow: /temp/public/
Sitemap: https://www.yourdomain.com/sitemap.xml
在书写时有两个细节容易忽略:第一,路径区分大小写,/category/与/Category/会被视为两个不同的地址;第二,务必使用半角英文字符,全角冒号或斜杠会导致该行规则直接失效,且这类错误在后台检查时往往不易察觉。
根据网站的架构类型和运营阶段,robots.txt的内容也会有很大差异。以下场景基本覆盖了常见的使用需求。
当网站需要改版调试、或因为特殊原因短暂关闭时,可以通过一条全局指令暂时阻断蜘蛛抓取。需要注意的是,这一操作只能阻止后续的访问请求,已存在于搜索结果中的旧快照并不会被自动清除。若确实需要删除历史索引记录,还需前往百度搜索资源平台或Google Search Console提交相应的清理申请。
User-agent: *
Disallow: /
对于内容公开的展示型站点或博客来说,若不存在需要隐藏的内部文件,可以不添加任何Disallow规则,仅声明Sitemap一行即可。这种最简配置对爬虫最为友好,有利于全站页面被充分发现和遍历。
User-agent: *
Sitemap: https://www.yourdomain.com/sitemap.xml
企业官网和内容型站点往往需要隐藏后台登录入口、用户个人中心以及临时生成的附件目录。这样做一方面能避免敏感页面出现在搜索结果中,另一方面也降低了攻击者通过搜索引擎定位后台的风险。
User-agent: *
Disallow: /admin/
Disallow: /member/
Disallow: /uploads/tmp/
配置完成后,建议直接在浏览器中访问 域名/robots.txt 检查内容是否生效,并逐条核对路径是否与实际目录结构一致。常见的拼写疏漏包括多加空格、误写目录名等,这些都会导致规则默默失效。
除了语法本身,文件存放位置与规则编写逻辑也直接影响到效果。以下是经常出现问题的两个环节:
不少站点在Sitemap中提交了页面,却在robots.txt里把对应目录设置为Disallow,这种相互矛盾的配置会让爬虫无所适从,甚至导致大量页面迟迟不被收录。正确的做法是:
若某个页面既出现在Sitemap中又被Disallow,建议优先放行该页面路径,因为Sitemap本身就是一个明确的抓取邀请信号,与其冲突只会干扰搜索引擎的判断。
不能。robots.txt只是告诉搜索引擎“不要抓取”,如果其他外部网站链接了该页面,搜索引擎仍可能通过间接方式得知它的存在并展示部分信息。若想彻底禁止页面出现在搜索结果中,应当配合使用meta robots标签中的noindex指令。
绝大多数搜索引擎会定期重新抓取robots.txt文件,通常在几小时到一天内自动获取最新版本。如果希望加快更新速度,可以在Google Search Console的“robots.txt测试工具”中主动提交检查,百度站长平台也有类似的功能。
直接编辑robots.txt文件,将原有的 Disallow: / 删除或改为 Disallow:,保存后等待爬虫重新读取即可。恢复期间建议同时检查Sitemap是否正常返回,并留意站内核心页面能否正常访问,以便蜘蛛第一时间重新开始抓取。
配置robots.txt并不复杂,核心在于想清楚哪些目录必须保护、哪些内容值得开放。操作上建议按“先列目录、再设规则、最后配Sitemap”的顺序推进,并在每次修改后用浏览器直接访问文件进行核对。平时留意后台和敏感目录的屏蔽,定期检查是否有不当的全局屏蔽规则,就能让这一工具持续发挥正向作用。