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 規則更隐蔽:它不會挡住整站,但可能让某一類頁面長期停在门外。