很多人排查收錄問题时,第一反應是去改 sitemap、去提交 URL、去查服務器日誌。這些都没错,但经常被跳過的一步是:這個頁面在站内有几條連結指向它?如果答案接近零,那它基本就是在等运气。
抓取是顺着連結走出来的
搜尋引擎的爬虫發現 URL 有几條路径:外鏈、sitemap、站内連結、以及歷史抓取记錄。其中稳定、可控、成本最低的是站内連結。sitemap 更像是把候選清單交上去,它提高了被發現的机會,但不保證爬虫會按表逐條跑一遍。
所以一個頁面能不能被持續抓到,很大程度上取决于它在連結图里的位置:有没有稳定的入鏈,离首頁有多遠,這些連結是不是爬虫能讀到的那一種。
三個可以先量化的检查点
- 入鏈條數:有多少個站内頁面連結到它。個位數和几十條,抓取概率差別明顯。
- 点击深度:從首頁出發,最少点几次能到。深层頁面如果只能靠一层层列表頁翻下去,抓取频次往往很低。
- 連結来源類型:来自導航、面包屑、正文推荐,還是只在頁脚或某個没人訪問的归档頁里出現。来源頁面本身的抓取频次,會直接影响它把權重和爬虫带過来。
孤岛頁面的几種典型形態
所谓孤岛頁面,就是除 sitemap 之外几乎没有入口的頁面。常见的成因有這几類:
- 只寫進了 sitemap,站内没有任何連結指向它。
- 連結由 JS 在客戶端渲染後才插入,而爬虫拿到的初始 HTML 里没有。
- 連結带上了 nofollow 或類似属性,等于告诉爬虫別跟。
- 分頁层級過深,第 5 頁往後的内容基本没有入口。
- 通過表單提交或站内搜尋才能到達的结果頁,天然缺少静態入口。
一套可执行的自查顺序
- 用站点抓取工具跑一遍全站,導出每個 URL 的入鏈數量和連結来源頁面。
- 把入鏈數為 0 或只有個位數的 URL 單獨列出来。
- 逐個確認:這些頁面的連結在原始 HTML 里能不能直接看到,還是依赖脚本生成。
- 能加内鏈的加内鏈:從相關文章、专题頁、列表頁、面包屑里给出真實入口。
- 確認改動已上线後,再用 URL 提交工具给几個重点頁面做個提醒。
加内鏈时的几個注意点
- 锚文本尽量描述目标頁内容,不要清一色“点击這里”或“了解更多”。
- 不要在頁脚堆全站連結,那種連結對爬虫来说是噪音,收益很低。
- 相關性優先。一篇讲 A 的文章去鏈一篇离题很遠的 B,作用有限。
- 面包屑和分類導航是最基础的入口,先把這两块做干净。
調整之後怎么观察
内鏈改動不會立刻反映在收錄上,通常需要几周時間让爬虫重新走一遍。观察时不要只盯收錄條數,可以一起看:抓取频次有没有變化、日誌里這些 URL 是否開始出現、索引覆盖报告里的狀態有没有從“已發現,尚未抓取”往前推進。
如果补了内鏈、也確認連結能被讀到,頁面仍然長期不進来,那再回到内容质量和重复度上去找原因。顺序上建议先解决“能不能被發現”,再讨论“值不值得收錄”,两者的排查方法完全不同。
内鏈是爬虫走的路,sitemap 是给它的地图。地图可以參考,但路不通,它還是到不了。