运营网站,几乎躲不开根目录下那个名为 robots.txt 的文本文件。它的核心职责,是用若干条指令告知搜索引擎的爬虫程序,站内哪些路径允许访问,哪些区域应当避开。配置得当,抓取资源会向优质页面倾斜,新内容的收录节奏也会更理想;而一旦规则写错,整站权重受损甚至消失于索引的情况,同样时有发生。接下来,我们将这份文件的核心语法与高频误区逐一拆解清楚。
robots.txt 是给爬虫看的协议文件,直接在地址栏输入“域名/robots.txt”即可查阅。它扮演的是“向导”角色,只负责告知爬虫哪些路径可通行。但页面能否被纳入索引库,这份文件并无最终决定权。若想彻底移除页面在搜索结果中的显示,应依赖 noindex 元标签。此外,被 robots.txt 屏蔽的页面,若外链资源充足,搜索引擎仍可能将其收录,只是快照来源可能并非原站内容。
同时需意识到,此协议完全依赖爬虫的自觉遵守。主流搜索引擎的蜘蛛大多会遵循规则,但大量恶意采集程序及第三方抓取工具对此视而不见。涉及用户隐私、交易流水、后台管理等高敏目录,务必叠加登录验证、IP 白名单或防火墙等安全手段,切勿将站点安全完全寄托于这份“君子协定”。
robots.txt 由若干个规则组构成,每组均需以 User-agent 字段起始。所有字段遵循“名称: 值”的书写格式,冒号使用英文半角,其后留一个空格是约定俗成的规范。多数爬虫对格式具有较高容错性,但严谨书写可避免后续解析异常。
该行声明本规则组约束的目标爬虫类别。仅需限定 Google 搜索蜘蛛,写 User-agent: Googlebot;若需统一约束全部搜索引擎爬虫,则用通配符 User-agent: *。也可拆分多个规则组,实现差异化策略,例如对谷歌放宽抓取权限,而对必应适当收紧。
Disallow 声明禁止访问的路径,Allow 声明许可访问的路径,二者常协同使用。需留意一个细节:Disallow 后留空(即 Disallow: 且无值),代表解除全部限制,爬虫可抓取全站任何内容。当同一 URL 命中多条规则时,搜索引擎默认按“最长匹配优先”原则裁决——路径匹配越具体,优先级越高。例如同时指定 Disallow: /api/ 与 Allow: /api/public/,因后者路径更长更具体,public 子目录将被放行。
Sitemap 字段声明站点地图的完整 URL,便于爬虫快速掌握全站结构,一般置于文件末尾。Crawl-delay 字段则规定爬虫两次抓取的间隔秒数。特别提示,Google 的抓取程序并不识别此字段,其官方推荐做法是在 Search Console 后台调整抓取频率,而非依赖该指令。
常见误区首推路径理解的偏差。Disallow 的值指向根目录下的路径,而非完整 URL。比如禁止抓取某个目录,应写 Disallow: /private/,而不是 Disallow: https://域名/private/。其次是通配符的滥用。星号(*)确实可配对任意字符序列,例如用 Disallow: /*?sort= 来屏蔽包含指定参数的动态网址,但滥用通配符容易造成误伤,导致大量正常页面被意外拦截。
字母大小写同样不可忽视。robots.txt 的路径匹配默认区分大小写,/Category 与 /category 被视为两个不同地址。若站点目录结构混用大小写,需分别书写规则,或确保 URL 规范统一。另一个易错项是注释符号。该文件支持以 # 开头添加注释,但注释只能独占一行,写在规则语句末尾可能导致整条规则解析失败。
一份稳妥的配置,可按以下步骤逐步推进:
验证时建议抽查三类页面:核心内容页(应允许)、隐私或后台页面(应拒绝)、带查询参数的动态页(根据需求确认匹配结果)。若发现规则冲突,优先检查路径长度与通配符使用是否合理。
爬虫通常会周期性重新抓取该文件,生效时间从几小时到数天不等。若需加速变更生效,可在 Google Search Console 中提交该文件请求重新抓取,或适度提高站内更新频率以吸引爬虫回访。
在文件首行写入 User-agent: *,次行写入 Disallow: / 即可。此规则会拒绝所有搜索引擎的爬虫访问全站任意路径。但需重申,这并不等于网页会从索引中消失,仅制止后续抓取。若意图彻底下线,还需配合服务器返回 404 或 410 状态码。
可以。该声明支持重复出现多次,允许分别提交不同子站点的地图地址,或同时收录 XML 格式与图片、视频等专项地图。只要每一行均以 Sitemap: 开头并附带完整可访问的 URL 即可,顺序不影响抓取效果。
robots.txt 配置并非难事,核心在于精准理解路径匹配的规则、留意大小写与注释格式,并牢记“仅约束抓取,不决定收录”的边界。建议定期复盘规则内容,删除已失效的屏蔽项,结合搜索引擎后台的抓取报告动态调整。同时切勿忽略安全防护的叠加,将敏感目录彻底封堵在协议之外。从梳理站点结构起步,逐步落实与验证,你的站点抓取效率将更趋健康有序。