有些頁面内容不差,也没有被 robots.txt 挡住,但發布很久仍然没有出現在索引里。遇到這種情况,很多人會先怀疑内容质量,其實更常见的原因是頁面從一開始就没有被蜘蛛發現。孤岛頁面指的就是没有可爬入口、只能靠外部連結或主動提交才能被發現的 URL。
先分清“没被發現”“被抓了没收錄”和“收錄了没展現”
讨论孤岛頁面之前,要把三個阶段分開看。第一是 URL 發現,蜘蛛是否知道這個地址存在;第二是抓取,蜘蛛是否真的来訪問過;第三是索引,抓取之後是否被编入索引並可以展現。孤岛頁面卡在最前面一步,後面两步自然無從谈起。
判断方法並不复杂:在抓取日誌或站点日誌里搜尋目标 URL。如果完全没有訪問记錄,優先怀疑發現环节;如果有訪問记錄但索引报告顯示未收錄,問题就轉移到抓取或索引判断上。
三個暴露入口要逐項检查
内鏈是否可爬且路径合理
内鏈是最主要的發現渠道。检查时不要只看頁面上有没有連結,還要看連結是否真的以可爬形式輸出。常见問题包括:連結由 JavaScript 在点击後才生成、連結指向了需要登入的頁面、連結被包裹在無法解析的交互组件里。更稳妥的做法是,在頁面 HTML 源碼中能直接看到目标 URL 的 a 标簽。
另外,内鏈层級過深也會影响發現效率。如果一個頁面要经過五六個层級才能到達,蜘蛛分配给它抓取和评估的優先級通常會低一些。
站点地图是否准确收錄了目标 URL
站点地图是辅助發現工具,但不能替代内鏈。它适合用来补充那些内鏈較少或层級較深的頁面。检查站点地图时,注意三点:目标 URL 是否在文件里;返回的地址是否與頁面最终地址一致;站点地图本身是否被 robots.txt 或頁面規則正确放行。如果站点地图里寫的是带參數或重定向的舊地址,蜘蛛按图索骥也可能找不到真正頁面。
導航與聚合頁是否给了入口
導航栏、分類頁、标簽頁和专题聚合頁都是重要入口。一個新頁面如果只出現在站点地图里,而没有出現在任何導航或聚合路径中,它的發現稳定性就會差很多。這里不必强求每個頁面都放上導航,但至少要保證它属于某個可爬的聚合頁或列表頁。
常见“伪入口”要單獨标出来
- 連結加了 nofollow,蜘蛛可能不沿着它繼續發現。
- 入口頁本身被 noindex 或 robots.txt 屏蔽,鏈路在中間断開。
- 連結指向的地址经過多次跳轉,最终 URL 與入口不一致。
- 入口位于需要登入或交互後才出現的内容区域。
- 分頁或篩選參數把入口推到了蜘蛛很少訪問的深层。
這些情况看起来有入口,實际可爬性很差。排查时以頁面源碼和抓取日誌為准,不要只看浏览器里能不能点到。
被發現之後,還有抓取與质量两道關
頁面被内鏈或站点地图暴露,不等于一定會被收錄。蜘蛛還要判断是否值得抓取、抓取後是否值得编入索引。抓取预算有限时,低價值頁面可能長期排在队列後面;抓取之後,如果内容與已有頁面高度重复、信息量太薄,也可能被归並或排除。
所以處理孤岛頁面时,先打通發現环节,再观察抓取和索引是否跟進。不要一上来就大改内容,否則很难判断是入口問题還是质量問题。
把發現、抓取、索引分成三步看,排查會清楚很多。孤岛頁面通常先輸在第一步,而不是内容本身。
一個可操作的检查顺序
- 在日誌中確認目标 URL 是否被蜘蛛訪問過。
- 查看頁面源碼,確認内鏈是否以可爬 a 标簽存在。
- 检查站点地图是否包含目标 URL,且地址與最终 URL 一致。
- 確認入口頁和站点地图没有被 robots、noindex 或登入墙挡住。
- 观察一段時間内的抓取频率與索引狀態,再决定是否調整内容或合並頁面。
孤岛頁面往往不是一下子形成的,而是新頁面上线、舊入口改版、聚合頁調整之後逐渐失去入口。定期用内鏈检查和站点地图核對,比等到收錄出問题再回头找原因要省力。