robots.txt是位于网站根目录的纯文本文件,用于告知搜索引擎爬虫哪些内容可以抓取、哪些需要避开。它是引导蜘蛛高效抓取核心页面的工具,也是保护后台和敏感数据的一道屏障。配置得当能促进收录,配置失误则可能导致整站不被收录或后台信息被索引。本文从语法基础、场景配置到常见误区,系统梳理robots.txt的完整写法。
robots.txt文件由若干行指令组成,每行一条规则,核心字段只有四个,掌握它们即可应对绝大多数情况。
一个基础配置示例:
User-agent: *
Disallow: /temp/
Allow: /temp/public/
Sitemap: https://www.example.com/sitemap.xml
书写时有两点需要特别留意:第一,路径区分大小写,/api/与/Api/会被视作不同目录;第二,必须使用半角英文字符,全角符号会导致整行规则失效。
网站所处阶段不同,robots.txt的写法倾向也不同。以下四种场景基本覆盖了多数站长的实际需求。
当网站需要下线维护或大规模改版时,可以用一条全局规则暂时阻止所有蜘蛛抓取。需要说明的是,这条规则只能阻止后续抓取动作,无法删除搜索引擎已有的历史快照,如需清理旧索引,应到百度搜索资源平台或Google Search Console提交删除申请。
User-agent: *
Disallow: /
对于纯展示型网站或内容博客,若没有需要隐藏的资源,不建议写Disallow规则,只声明Sitemap即可。最简配置对蜘蛛最友好,便于全站内容被充分遍历和收录。
User-agent: *
Sitemap: https://www.example.com/sitemap.xml
企业网站和内容平台通常需要隐藏后台入口、用户中心及临时上传目录,这样既能避免隐私数据被搜索引擎收录,也能降低攻击者利用搜索结果定位后台的风险。
User-agent: *
Disallow: /admin/
Disallow: /member/
Disallow: /uploads/tmp/
配置完成后,建议访问 域名/robots.txt 确认文件可正常访问且内容无误。
不同搜索引擎的爬虫名称不同,例如百度的爬虫是Baiduspider,Google的是Googlebot,Bing的是bingbot。如果希望只对某个搜索引擎单独设限,可以单独写一段规则。需注意,一条规则结束后需使用换行分隔,且同一爬虫在文件后段出现时,新规则会覆盖前段规则。
User-agent: Baiduspider
Disallow: /old/
User-agent: *
Allow: /
配置robots.txt时,一些细节容易被忽略,却可能带来严重的SEO后果,以下问题是站长反馈中最高频的几类。
写完robots.txt并上传到服务器后,不要急于提交,应先用工具验证规则是否生效,避免上线后才发现问题。
验证时建议重点关注首页、详情页和后台入口三类URL,覆盖最常见的使用路径。
对于Googlebot,当同一路径同时匹配Allow和Disallow规则时,Allow的优先级更高,蜘蛛会允许抓取。不过,其它搜索引擎对这类冲突的处理方式并不完全一致,因此为避免歧义,建议在配置中尽量避免同一URL同时出现两条冲突规则,能用一条精确路径解决就不要依赖优先级。
修改上传后,蜘蛛通常在下一次抓取该文件时即可识别新规则,但具体时间取决于搜索引擎的抓取频率,快则几小时,慢则几天。若需要紧急阻止某类敏感内容被抓取,仅依靠robots.txt可能不够及时,建议同时使用meta标签或页面级的noindex指令做双保险。
不能。robots.txt只负责协调抓取阶段的行为,对已经收录的页面没有删除作用。页面若已被索引,需要另用noindex元标记,或直接通过百度搜索资源平台和Google Search Console的删除URL工具提交申请,才能从搜索结果中移除。
robots.txt虽然文件极小,但承载着引导爬虫和保护隐私的双重职责。配置时先明确当前网站的真实需求,使用尽量精确的路径规则,避免过度屏蔽静态资源,并在上传后主动使用搜索平台工具验证效果。对于敏感目录,同时配合声明文件或登录验证机制加固防护,双管齐下,既保证关键词收录效率,也守住数据安全的底线。