有些 URL 從上线那天起就没被任何站内連結指過:它們可能来自批量生成的落地頁、被撤下導航的老栏目,或者只在 Sitemap 里出現過一次。這類頁面在日誌里往往只有零星几次抓取,甚至長期為零。它們通常被称為孤岛頁面,問题不在于頁面本身好坏,而在于蜘蛛找不到一條稳定的路径走到它。
蜘蛛發現 URL 的几條通道
外鏈、Sitemap、站内連結是三條主要通道。外鏈不由你控制,Sitemap 是一份候選清單,只有站内連結是你能持續维護、並且蜘蛛每次抓取都會重新讀取的路径。把 URL 寫進 Sitemap 相当于递了一張名片,但站内没有一條路通向它,蜘蛛對它的抓取優先級通常不會高。
所以判断一個頁面是不是孤岛,不能只看 Sitemap 里有没有,而要看從首頁出發,经過几次点击能到達它。
常见的孤岛頁面来源
- 改版时保留了頁面,但導航和面包屑已经不再指向它
- 按模板批量生成的城市頁、型号頁,只在 Sitemap 里存在
- 用戶提交内容、评论的獨立頁,没有任何聚合入口
- 已经下线的活動頁,URL 還能訪問但站内没有連結
- 參數頁、篩選组合頁,被工具采集後塞進了清單
怎么把孤岛找出来
- 從服務器日誌提取被蜘蛛抓取過的 URL,和站内連結可到達的 URL 做差集
- 用站内搜尋或爬虫工具從首頁出發抓一遍,看哪些 URL 不在结果里
- 對比 Sitemap 與實际内鏈覆盖,差距大的部分通常就是孤岛集中区
- 抽查這些 URL 的响應狀態,確認是 200、301 還是已经變成软 404
分類處理,而不是一股脑补連結
不是所有孤岛都值得救。判断标准可以简單一点:這個頁面有没有獨立的搜尋需求,有没有真實用戶會需要它。
- 有需求、内容還在维護:补一條稳定入口,比如相關推荐、标簽聚合頁、栏目二級導航
- 内容過时但仍有訪問:做 301 指向新的等價頁面,让用戶和信号一起過去
- 批量生成、内容單薄:考虑合並或设為 410,別為了凑數量留在 Sitemap 里
- 只在特定场景使用的頁面:可以不進導航,但至少從一個能被抓到的聚合頁連結過去
内鏈入口的位置也有区別。導航和面包屑是站内最稳定的路径,正文連結上下文更强但容易被改動,頁脚連結堆得太多反而像模板噪声。入口數量不用多,一两條来自相關内容的連結,通常比在頁脚挂一排有用。
別用内鏈數量去凑抓取量。几十條指向同一個頁面的連結,不會让它更快被處理,反而可能让蜘蛛把這一片区域当成連結农场。
處理完之後要看什么
补完内鏈之後,观察日誌里這些 URL 的抓取次數和狀態碼變化,確認請求是分散到各個頁面,而不是集中在少數几個。孤岛頁面長期没人訪問,服務器和缓存對它們往往没有准备,第一次被抓时容易出現超时或 5xx,這類响應會影响後續的抓取节奏。
如果站点承载有限,更實际的做法是先把最值得保留的一批頁面接回内鏈,剩下的降低優先級,而不是一次性把几千個 URL 全部塞進 Sitemap 等着蜘蛛来。
最後,孤岛不是一次性問题。改版、下线栏目、調整導航都會重新制造一批,定期做一次内鏈覆盖的复查,比事後补救省事得多。