做站点运营时,URL 發現常被理解成“有没有提交 Sitemap”或者“有没有外鏈”。但蜘蛛真正走的路,是從一個頁面跳到另一個頁面。如果某個頁面能被訪問,却在站内没有任何可跟随的入口,它就像一座孤岛:蜘蛛偶尔從 Sitemap 或外鏈游過去,抓完却發現没有下一步。
孤岛頁面不等于打不開的頁面
孤岛頁面的典型特征是:URL 返回 200,内容也正常,但從首頁、栏目頁、文章頁都找不到指向它的 可跟随連結。它可能只存在于 Sitemap 里,或者只被一個 nofollow 連結提到過,又或者連結寫在 JavaScript 点击事件里,需要用戶交互才出現。
對蜘蛛来说,抓到一個頁面之後,會解析 HTML,繼續找下一批 URL。如果這個頁面没有合格的連結,抓取路径就断了。断点越多,蜘蛛在站内可走的范围就越小。
常见的形成原因
- 只把 URL 放進 Sitemap,站内導航和正文里没有對應入口。
- 列表頁只展示最近内容,舊内容被归档後没有可点击的分頁或分類連結。
- 連結用 onclick 或 div 模拟,没有可被蜘蛛讀取的 a 标簽。
- 為了控制權重,给大量内鏈加了 nofollow,等于把路标遮住。
- 改版时舊路径被删掉,新頁面又没有补上内鏈。
- 篩選參數、排序參數把真實入口藏進多层交互里。
對抓取和發現的實际影响
Sitemap 可以完成“發現”,但它不负责告诉蜘蛛這個頁面有多重要、该多久回来一次。孤岛頁面通常抓取频率低,内容更新後也不容易被重新訪問。如果站点規模大,孤岛頁面還會消耗抓取预算,让蜘蛛把時間花在缺少出口的頁面上。
這不代表孤岛頁面一定不會被收錄,而是说它的抓取和复抓都不稳定。站点越依赖搜尋引擎带来流量,這種不稳定越值得處理。
自查时看什么
- 看服務器日誌:哪些 URL 的抓取来源只有 Sitemap,几乎没有站内 Referer。
- 用爬虫工具跑一遍站内連結,找出入鏈為 0 的頁面。
- 检查重要頁面在渲染後的 DOM 里有没有真實的 a href。
- 確認這些連結没有被 robots.txt、meta robots 或 nofollow 拦掉。
- 對比 Sitemap 和站内連結,看两邊覆盖的 URL 是否長期不一致。
修复思路:让重要頁面回到路径上
優先處理有搜尋需求、有轉化價值的頁面,而不是给所有頁面硬塞連結。可以從几個位置补入口:
- 面包屑和分類導航,让頁面回到上級路径。
- 相關推荐、上一篇/下一篇,给内容頁增加横向出口。
- 归档頁、标簽頁和分頁保留稳定連結,不要只靠加载更多。
- 把關键連結寫成普通 a 标簽,减少依赖 JavaScript 跳轉。
- Sitemap 與内鏈尽量一致:Sitemap 里重要的 URL,站内也應该有路径可走。
另外,服務器稳定性會直接影响蜘蛛是否愿意繼續走。频繁的 5xx、超时或限速,會让蜘蛛降低抓取节奏,原本能走通的路径也可能暂时断掉。抓取路径的维護,不只是加連結,也包括保證頁面能被稳定响應。
内鏈不是装饰,它是蜘蛛繼續走的路标。没有路标的頁面,只能等蜘蛛碰巧路過。
最後可以用一個简單标准判断:如果關掉 Sitemap,蜘蛛還能從首頁一路点到這個頁面吗?如果不能,它就算不是孤岛,也离孤岛不遠。