robots.txt是网站根目录下一个纯文本文件,作用是告诉搜索引擎爬虫:站内哪些地方可以抓、哪些地方不能碰。配置得当,后台页面和敏感数据得到保护,核心内容也能更快被收录;配置失误,轻则页面抓取变慢,重则整站收录出问题。下面从语法、操作到避坑,把这件事讲透。
该文件由一组或多组规则组成,每组之间用空行分隔,每组内通常包含以下三条核心指令:
匹配规则是前缀匹配,且区分大小写。例如Disallow: /admin/会屏蔽所有以/admin/开头的URL,但不会影响/administer/以外的其他路径;而/Admin/和/admin/是两个完全不同的地址。另外需要留意:虽然苹果爬虫、必应等主流引擎都支持Allow指令,但部分冷门爬虫并不识别它,因此关键引流页面不要只依赖Allow来放行。
一个典型示例写法如下:
User-agent: *
Disallow: /backend/
Allow: /backend/public/
从零开始配置robots.txt,建议按以下顺序操作,兼顾效率与准确性:
很多站点在配置时踩过相似的坑,这里集中说明几点:
建议每次修改后都先用站长平台的“抓取测试”功能检查,确认无误再部署上线,避免影响线上收录。
Allow指令的价值更多体现在精细化放行上。例如某站点想屏蔽整个/uploads/目录,但其中的压缩包资源希望被收录,就可以这样写:
User-agent: *
Disallow: /uploads/
Allow: /uploads/whitepaper.pdf
同时,Sitemap声明是一个容易被忽略的加分项。将sitemap.xml地址写在robots.txt末尾,能让爬虫第一时间发现新页面或更新页面,对新站和内容更新频繁的站点尤其有效。以下是一个更完整的示例:
User-agent: *
Disallow: /admin/
Disallow: /cart/
Allow: /product/
Sitemap: https://example.com/sitemap.xml
需要明确的是,robots.txt只起到“礼貌请求”的作用,并非强制性的访问控制工具。真正的安全保护还是要靠密码验证、IP白名单等措施,不能完全依赖此文件。
会。如果你误写了Disallow: /,绝大多数爬虫会在下一次抓取时停止访问全站页面。不过规则更新后,爬虫通常会在几天内重新读取文件并恢复抓取,紧急情况下先修正文件再提交到站长平台申请重新抓取即可。
允许。你可以分别为不同搜索引擎写独立规则组,比如先给百度写一组,再给谷歌写一组,再写一组User-agent: *兜底。注意每组之间必须空一行,且优先级按出现的先后顺序判断,越靠前的规则越先被匹配。
有可能。如果该页面已被其他网站以链接方式引用,搜索引擎可能仍会展示其URL,只是不抓取内容或显示“已阻止访问”的提示。若想彻底从索引中移除页面,需使用noindex标签或通过站长工具提交删除请求。
配置robots.txt的关键在于三点:理清目录结构、写对规则语法、上线前仔细验证。日常维护中,每逢改版或新增功能模块,都应及时检查并更新该文件。建议建立固定的检查周期(如每月一次),结合站长平台的抓取报告,确保敏感资源得到保护的同时,核心内容始终稳定进入索引。