搜尋抓取

搜尋蜘蛛抓取:nofollow 與 robots meta 混用造成的入口發現受阻排查

内鏈批量加 nofollow、分頁連結被 nofollow、X-Robots-Tag 在 CDN 上被繼承,都會让本该被發現的 URL 失去入口。本文区分連結級、頁面級、响應头級三類抓取指令的作用范围,给出常见誤用场景與排查修复顺序。

搜尋抓取

搜尋蜘蛛抓取:nofollow 與 robots meta 混用造成的入口發現受阻排查

做站内抓取巡检时,常會遇到一種情况:頁面本身可訪問,内容也正常,但站内大量内鏈指向的 URL 迟迟没有出現在抓取日誌里。服務器、DNS、Sitemap 都排查過没發現問题,剩下的怀疑對象往往是連結級和頁面級的抓取指令——nofollow、robots meta 以及 X-Robots-Tag。這三者作用范围不同,一旦混用,很容易把本该被正常發現的入口静音掉。

三類指令的作用范围不一样

  • rel=nofollow:寫在單個 a 标簽上,只影响這一條連結,表達的是不跟随该連結,對目标頁的發現是负面信号。
  • meta name=robots:寫在頁面 head 区域,作用于目前頁,常见值包括 noindex、nofollow、noarchive,可以组合使用。
  • X-Robots-Tag:寫在 HTTP 响應头里,常用于 PDF、图片、视频等非 HTML 资源,但同样可以作用于 HTML 頁面。

把這三者混為一谈,是很多入口發現異常的直接原因。比如以為给内鏈加 nofollow 能节省抓取预算,實际效果却是把栏目頁的入口通道逐條切断。

常见誤用场景

全站模板批量 nofollow

模板里為了防止權重外流,给友情連結、底部導航、面包屑统一加上 rel=nofollow。面包屑和主導航恰恰是抓取路径的骨架,被 nofollow 之後,深层頁面只能靠 Sitemap 單点入口被發現,抓取深度往往明顯變浅。

分頁與篩選連結被 nofollow

列表頁的翻頁連結被加上 nofollow,理由是避免重复内容。但翻頁連結是通往歷史内容的主要路径,一旦不再跟随,列表頁第二頁以後的文章基本失去内鏈入口,只能等待 Sitemap 逐條提交。

noindex,follow 的语义誤讀

noindex,follow 的含义是目前頁不要收錄,但可以跟随其上的連結,這個组合本身是合理的。問题在于,如果頁面 A 是 noindex,follow,而 A 上所有指向 B 的連結又被加上 nofollow,B 就同时失去了頁面級和連結級两條通道,只剩 Sitemap 一條路可走。

X-Robots-Tag 在 CDN 或反向代理上被繼承

源站没有設定,但 CDN 邊缘节点或安全防護层统一注入了一條 X-Robots-Tag: noindex, nofollow。這種情况在頁面源碼里完全看不出来,必须查看响應头才能發現。多节点环境下還可能出現部分节点有、部分节点没有,導致抓取表現时好时坏。

robots.txt 與 meta 指令叠加

robots.txt 的 Disallow 表示不许抓取,meta robots 表示抓到了也別用。两者叠加时,如果頁面被 Disallow 但 Sitemap 仍在提交,入口會進入既抓不到又不可索引的狀態,日誌里几乎看不到任何痕迹。

建议的排查顺序

  1. 先用命令行工具或浏览器開發者工具查看目标頁的响應头,確認是否存在 X-Robots-Tag。
  2. 再查看 HTML 源碼 head 区域的 meta robots,注意是否有多個互相冲突的寫法。
  3. 逐個检查抓取路径上的關键連結,看 a 标簽是否带 rel=nofollow,重点是導航、面包屑、分頁三類。
  4. 把以上结果和 robots.txt 規則對照,確認連結没有被 Disallow 挡在抓取之外。
  5. 最後回到抓取日誌,区分這些 URL 是從未被抓取,還是抓取了但没被處理,两種情况的處理方向完全不同。

修复时的判断原則

並不是所有 nofollow 都要去掉。外部不可控連結、明顯的广告位、用戶生成内容中的可疑連結,加 nofollow 是合理的。真正需要清理的是指向自己站点核心内容的内鏈。修复顺序建议從導航、面包屑、分頁這三類结构性連結開始,它們是抓取路径的主干,改動带来的收益最直接。

修改指令後,抓取行為不會立刻發生變化。建议儲存改動前後的日誌做對比,观察一到两周,看目标 URL 的抓取覆盖是否在逐步恢复,而不是改完当天就下结论。

复核时可以關注的点

  • 响應头中不再出現意外的 X-Robots-Tag,且各 CDN 节点表現一致。
  • 導航、面包屑、分頁連結的 a 标簽中不再有批量注入的 rel=nofollow。
  • 頁面級 meta robots 的取值與實际意图一致,没有互相冲突的重复声明。
  • Sitemap 中提交的 URL 没有被 robots.txt 規則排除在外。
  • 抓取日誌中這些 URL 的出現频次呈上升趋势,而不是長期為零。

抓取指令的排查不需要复杂工具,關键在于分清三類指令的层級關系,再按連結級、頁面級、响應头級的顺序逐层核對,避免把可用入口誤当成已失效入口處理。