站点运营

站点运营:noindex 残留自查,別让该收錄的頁面被一行标簽挡在门外

noindex 往往是為了临时屏蔽而加,上线之後却容易被忘在頁面、模板或响應头里。本文梳理 noindex 常见的残留位置,给出一套可执行的排查顺序,並說明它與 robots.txt、nofollow、canonical 之間的区別,帮助把這項检查放進固定的發布流程。

站点运营

站点运营:noindex 残留自查,別让该收錄的頁面被一行标簽挡在门外

给頁面加 noindex,通常都有明确理由:測試环境不想被外面看到、活動頁還没定稿、某批内容准备整体下线。問题在于這些設定经常被当成一次性操作,加完之後没人负责撤掉,等頁面正式對外时标簽還留在原地。

和 robots.txt 相比,noindex 的作用范围更小、藏得也更深:它可能寫在單個頁面的头部,可能寫在整個栏目的模板里,還可能根本不在源碼中,而是由服務器或 CDN 以响應头形式下發。正因為不易察觉,它才值得單獨做一次自查。

noindex 常见的几個藏身處

  • 單頁头部設定:頁面從草稿、舊版本或測試站複製過来,标簽一起带了過来。
  • 基础模板寫死:為了临时屏蔽某個栏目,在公共模板里加了規則,後来内容做起来了也没改回来,所有繼承该模板的頁面都被挡住。
  • 响應头下發的 X-Robots-Tag:由服務器、反向代理或 CDN 配置决定,頁面源碼里完全看不到。
  • 分頁與聚合頁的批量規則:早期為控制重复内容给整類頁面统一加了限制,後續内容做厚了却没同步調整。
  • 迁移带来的残留:從舊站或測試站整体搬迁时,配置和模板一並複製過来。

一套可执行的排查顺序

動手之前先分清一件事:規則是加在單個頁面上,還是加在模板或服務器配置上。前者改内容即可,後者要動的地方更多,判断错了會白改很多次。

  1. 看源碼:打開几個有代表性的頁面,在头部区域查找 robots 相關标记,確認目前是允许還是禁止,同时留意是不是所有頁面表現都一致。
  2. 看响應头:用命令行工具只請求头部信息,检查是否存在 X-Robots-Tag。這一步最容易被跳過,因為它在源碼里看不见。
  3. 追到模板:如果多個頁面問题相同,直接去基础模板、栏目模板和配置文件里找,而不是一頁頁手工修改。
  4. 按頁面類型抽样:首頁、栏目頁、詳情頁、分頁、标簽聚合頁各取几個样本,判断结论按類型给出,而不是只看一两個頁面就下结论。
  5. 记錄结论:哪些是故意保留的(例如站内搜尋结果頁、後台入口),哪些是遗漏的,寫成清單,下次不必從零判断。

几個容易混淆的地方

與 robots.txt 的区別

robots.txt 里的 Disallow 表達的是「別来抓」,noindex 表達的是「可以抓,但別收錄」。如果一條路径既被禁止抓取,又指望靠 noindex 生效,通常两邊都落空:蜘蛛進不来,自然也看不到那個标簽。

與 nofollow 的区別

nofollow 主要影响連結是否被跟随,頁面本身照样可能被收錄。想要不收錄,需要的是 noindex。

與 canonical 的区別

canonical 是說明「以哪個地址為准」,它並不阻止收錄。两者在同一頁面上叠加使用时,判断會變得复杂,一般不建议這样搭配。

把 noindex 当成一個開關来管理,而不是一次性的临时動作。上线前確認、下线後清理,比事後翻记錄省事得多。

把检查放進固定流程

  • 用配置項或环境變量控制:測試环境預設禁止收錄,生产环境預設放開,减少手工遗漏。
  • 在發布清單里增加一條:確認目标頁面可以被抓取、可以被收錄。
  • 按季度對各類頁面做一次抽样,尤其關注新上线的栏目和刚改版過的模板。
  • 服務器或 CDN 配置變更之後,顺手复查一次响應头。

這件事花不了多少時間,却决定了前面做的 URL 規范、内鏈梳理、sitemap 整理有没有落地的机會。發布前多確認一步,比几個月後發現某批内容一直没被看到要划算。