有些 URL 提交進了 Sitemap,服務器也能正常返回 200,但抓取日誌里几乎看不到蜘蛛訪問。排查一圈下来,問题往往不在服務器,而在于這個 URL 没有任何内鏈指向它——也就是常说的孤岛頁面。
孤岛 URL 是怎么形成的
孤岛 URL 指的是站点里没有其他頁面連結指向、只能靠 Sitemap 或外部連結被發現的地址。常见来源有這几類:
- 运营活動頁、落地頁做完投放後入口被撤掉,頁面本身還留在线上;
- 商品或内容下架後又重新上架,新 URL 生成了,但列表頁、分類頁没有同步;
- 篩選、排序、组合參數生成的頁面,被複製成獨立地址單獨使用;
- 多語言或多地域版本,只有其中一個版本接進了導航;
- 歷史改版遗留頁面,舊内鏈被删,頁面又没有做 301。
為什么内鏈缺失會影响抓取
Sitemap 更多是“告知存在”,内鏈才是“路径”。蜘蛛顺着連結爬行时,内鏈传递的是层級、權重和上下文;孤岛頁面拿不到這些信号。實际表現通常是:
- 被發現得晚,頁面更新後長時間停留在舊版本;
- 抓取频次低,即使内容有改動也不一定及时回訪;
- 頁面之間的關系無法被理解,不容易被归入同類内容;
- 一旦 Sitemap 里删掉该地址,頁面就彻底失去入口。
需要說明的是,内鏈缺失並不等于一定不被收錄,只是让發現和更新變得更依赖外部因素,可控性變差。
怎么把孤岛 URL 找出来
- 日誌對照:把一段時間内蜘蛛訪問過的 URL 與站点全部 URL 做差集,從未被訪問的地址優先排查。
- Sitemap 對照:Sitemap 里有、但在全站頁面源碼里搜不到该地址的,基本就是孤岛。
- 站内爬取:用自己的爬虫從首頁出發爬一遍,能到達的 URL 集合與 Sitemap 集合比較,缺的那部分就是内鏈断点。
- 站内資料辅助:看訪問量极低但仍在线的頁面,很多是入口消失導致的。
修复的優先顺序
不是所有孤岛頁面都值得加内鏈。先分類,再動手:
- 有價值的頁面:加回相關列表頁、专题頁或正文中的上下文連結,锚文本要有實际含义。
- 内容重复或過期的頁面:做 301 收敛到主版本,同时從 Sitemap 中移除舊地址。
- 只用于投放的落地頁:如果不希望被自然搜尋抓取,可以考虑加 noindex;如果希望被抓取,就给它一個稳定入口。
- 參數组合頁:規范化為一個主 URL,其余用 canonical 指向或屏蔽抓取。
加内鏈时的几個注意点
- 不要為了數量在每個頁面都堆同一個連結,相關性比數量重要。
- 列表頁翻頁、篩選條件里的連結要能被正常解析,避免只用 JS 绑定点击事件。
- Sitemap 更新與内鏈上线尽量同步,避免出現“内鏈已删、Sitemap 還在”的中間狀態。
- 修复後观察该 URL 在日誌中的首次抓取時間和後續回訪频率,判断是否真的回到抓取路径里。
孤岛 URL 更像是路径問题,而不是提交問题。Sitemap 负责告知,内鏈负责带路,两者缺哪一個,發現效率都會打折。
定期做一次“全站 URL 集合 vs 蜘蛛已抓取集合”的對照,比事後猜测某個頁面為什么迟迟没動静更有效。修复时按價值分层處理,把内鏈、Sitemap 和狀態碼三件事對齐,URL 發現的断点會少很多。