当搜索引擎的爬虫首次访问你的网站时,它会先寻找并读取域名根目录下的 robots.txt 文件。这个纯文本文件相当于一份"抓取许可协议",明确告诉爬虫哪些内容可以收录、哪些位置禁止触碰。一份设置合理的 robots.txt 不仅能保护后台、测试页面等敏感信息不被公开展示,还能引导爬虫把抓取额度集中在真正有价值的内容上,从而提升网站的收录质量。
robots.txt 必须放置在网站的根目录,并通过 https://你的域名/robots.txt 这个固定地址访问。它本质上是纯文本文件,编码建议采用 UTF-8。编写时需要注意,每行只能存放一条规则,并且路径部分区分大小写。要搭建一份可用的配置文件,你至少需要掌握以下三类核心指令:
另外,在文件末尾追加一行 Sitemap 路径声明,能够帮助爬虫更快地发现和定位站点地图。一个基础配置的参考示例如下:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
上面这组规则的意思是:所有爬虫默认可以抓取全站,但 /admin/ 目录被禁止,仅特别放行了其中的 /admin/public/ 子目录。这里需要特别提醒:如果某个爬虫并不理解 Allow 指令的含义,它依然会严格遵守 Disallow 的封锁,所以不要把 Allow 当作绝对的通行证。
不同网站的运营需求千差万别,robots.txt 的配置策略也应随之调整。下面梳理了三种最常见的应用场景,并附上可以直接套用的模板。
对于内容型站点或是刚刚上线的全新网站,通常希望所有页面都被收录。此时只需保留一个后面没有任何内容的 Disallow 声明即可:
User-agent: *
Disallow:
甚至直接省略 Disallow 这一行也是允许的。在这个场景下最常见的失误,就是误写成 Disallow: /。仅仅多了一个斜杠,就会让所有爬虫止步于首页,最终导致页面收录数量直接清零,这一点务必警惕。
假如你不希望某一家特定的搜索引擎索引你的网站,可以单独为它定制规则,而完全不影响其他搜索引擎的抓取行为:
User-agent: Baiduspider
Disallow: /
上述配置仅对百度的爬虫生效。需要注意的是,爬虫的名称不同,写法也不同,你需要事先在各大搜索引擎的官方文档中查阅准确的爬虫标识,比如 Googlebot、Bingbot、Sogou web spider 等都是常见的名称。
企业官网经常采用的一种策略是:对前台访客内容开放,同时把管理后台、临时上传目录等敏感区域彻底锁死。示例如下:
User-agent: *
Disallow: /wp-admin/
Disallow: /temp/
Disallow: /backup/
Disallow: /*?from=
除了封锁明确路径,还可以使用通配符配合参数匹配来拦截带特定追踪标记的动态链接,从而避免爬虫抓取大量重复和无效的 URL。这种做法的好处是既能确保公开内容的收录,又能够防止后台数据在搜索结果中意外泄露。
在编写 robots.txt 的过程中,有不少容易被忽略的细节反而会引发大问题。以下列举了几个高频率出现的认知偏差,值得在配置时再三检查。
对于大规模站点来说,爬虫的抓取额度(Crawl Budget)是宝贵的资源。通过精细化设置 robots.txt,可以让爬虫的精力分配更加合理,进而加快重要内容的收录速度。
比较常见的优化手法是屏蔽页面内的搜索功能路径、筛选排序参数以及无限翻页的列表页。例如,当站内搜索路径是 /search?keyword= 时,你可以在文件中添加 Disallow: /search。这样操作以后,爬虫就不会把大量时间浪费在生成无穷无尽的动态搜索结果页上,也不会因为这些搜索结果页占据额度而忽略了核心的产品页或文章页。
但请注意,在使用抓取额度策略时,切勿将整站 CSS 和 JS 文件路径全部封锁。现代搜索引擎在评估页面质量和排名时,需要借助这些渲染资源来完整理解页面内容,如果将它们全部屏蔽,反而可能适得其反,导致页面评级不理想。
效果并非即时可见。搜索引擎会定期重新拉取该文件,通常这个过程需要几个小时到几天的时间。你可以通过搜索引擎的站长平台(如百度搜索资源平台、Google Search Console)主动提交更新后的 robots.txt 地址,这会加速其生效。
可以的。robots.txt 的作用域是单一的域名或子域名。例如,设置在 www.example.com 下的规则,并不会影响 m.example.com 或 static.example.com。因此,如果你有独立的移动站或 CDN 子域名,需要针对每个子域名的根目录单独放置对应的配置文件。
不会。如果网站根目录下无法找到该文件,爬虫会默认网站允许抓取所有公开内容。但这并不意味着是好事,因为一旦后台目录被搜索引擎扫描到,仍有可能被意外索引。因此,即使网站内容全部公开,也建议放置一个仅包含 User-agent 声明和 Sitemap 地址的极简文件,来主动引导爬虫的抓取行为。
robots.txt 的配置并非越复杂越好,它的核心目的是让爬虫抓取行为变得更加可控。建议你根据自己网站的规模,先梳理出必须防泄露的路径,再明确需要重点推广的内容区,然后依照语法规则撰写一份精简的文件。配置完成后,借助站长工具进行多次校验,结合实际的收录数据反馈,持续迭代优化,这样才能让这份协议成为你日常 SEO 运营中的得力助手。