robots.txt 管的是整站路径的抓取范围,页面级指令管的是单个 URL 能不能被抓、能不能被索引。后者写一次影响一大片,却常常藏在模板文件和响应头里,出问题时不容易第一眼看到。
页面级指令一共有三条路
- meta robots:写在 HTML 的 head 里,只对当前页面生效,蜘蛛需要拿到并解析 HTML 才能读到。
- X-Robots-Tag:写在 HTTP 响应头里,除了 HTML,还能用在 PDF、图片、视频等非 HTML 资源上。
- 站长平台的工具设置:部分平台提供 URL 级别的移除或索引调整入口,属于临时手段,不适合长期当作常规配置。
多条指令同时出现时会怎样
同一个 URL 上如果既有 meta robots,又有 X-Robots-Tag,且两边说法不一致,多数情况下更严格的那条会起作用。不同搜索引擎在处理细节上可能略有差别,重要的落地页建议改完之后实测一次,别只看文档描述。
常见的几类误配
1. 测试环境的 noindex 混进生产
预发环境为了不被抓,模板里加了 noindex,上线时忘了摘。表现是全站页面能返回 200,日志里也有蜘蛛到访,但索引量长期不涨,排查时又容易先怀疑内容质量。
2. 该做落地页的列表被统一 noindex
有的站点给分页、筛选、标签页批量加 noindex,本意是减少重复内容。但如果其中某类页面本来承担着获取流量的职责,就等于自己把它关掉了。批量处理前,先按页面类型分组评估。
3. nofollow 写在导航或页脚模板里
导航和页脚是全站重复出现的位置,一旦带上 nofollow,站内链接关系的表达会变得很被动。除非有明确理由,这类位置保持默认更稳妥。
4. X-Robots-Tag 按目录下发,波及静态资源
用 Nginx 或 CDN 按路径给整个目录加响应头,容易连带图片、CSS、JS 一起中招。配置时尽量用文件类型或精确路径限定范围,别用一个通配符盖住整段目录。
5. 运维和运营各改了一半
响应头可能由运维在网关层加,meta 标签由运营在模板里改。两边都没有统一的变更记录,出了问题互相以为对方动过。建议把这类配置记在同一份文档里,写明生效范围和负责人。
6. 只检查 HTML,漏掉非 HTML 资源
PDF 白皮书、产品图册这类文件,指令只能写在响应头里,肉眼看不到。做自查时把常见的附件类型也列进去。
一份可执行的自查清单
- 列出站内所有页面模板,标出哪些模板带了页面级指令。
- 用 curl -I 抽查线上 URL 的响应头,确认没有意料之外的 X-Robots-Tag。
- 用浏览器开发者工具或抓取工具查看渲染后的 head,确认 meta robots 与预期一致。
- 对同一批 URL 做改动前后对比,保留时间点和操作人。
- 非 HTML 资源单独抽查一轮,覆盖 PDF、图片、视频等类型。
- 按站点既有的观察节奏复测,而不是改完就当成结束。
改动节奏上的两个建议
第一,把指令改动和内容改动分开记录。两者混在一起时,出现索引波动很难判断是哪一边引起的。第二,范围先小后大,先在单个栏目验证,再决定是否推到全站模板。指令类配置回滚成本不高,但前提是你知道原来是什么。
页面级指令的影响面往往比一条 robots 规则更隐蔽:它不会挡住整站,但可能让某一类页面长期停在门外。