搜尋抓取

孤岛頁面怎么被找到:内鏈、Sitemap 與站内搜尋在 URL 發現中的分工

孤岛頁面能正常打開,却顺着栏目一层层点不到,蜘蛛往往只能靠 Sitemap 或外鏈發現,抓取和回訪节奏都會慢一拍。本文拆解孤岛頁的常见成因,說明内鏈、Sitemap 與站内搜尋在 URL 發現中的不同分工,並给出把頁面重新接回站点的具体做法。

搜尋抓取

孤岛頁面怎么被找到:内鏈、Sitemap 與站内搜尋在 URL 發現中的分工

站点里常有一類頁面:能通過搜尋框、站内推荐或者外部連結打開,但顺着栏目頁一层层点下去永遠到不了。這類頁面常被叫做孤岛頁面。它們不一定是坏頁面,却常常因為缺少内鏈而長時間不被搜尋蜘蛛發現,或者被發現之後隔很久才回来一次。

孤岛頁面是怎么形成的

大多數孤岛頁並不是有意做出来的,而是运营過程中的副产品。

  • 活動頁、专题頁上线时只在首頁挂了两周,入口撤掉後頁面本身還在。
  • 詳情頁被移出列表頁,比如商品下架、文章取消置顶,但 URL 仍可訪問。
  • 只有站内搜尋才能命中的组合结果頁,例如带多個篩選條件的列表。
  • 分頁很深的归档頁,第 30 頁之後再没有任何入口指向它。
  • 只在 App 或小程序里出現的頁面,網頁端没有對應連結。

這些情况的共同点是:URL 存在、服務器返回 200,但從站点的連結图上找不到一條通向它的路径。

蜘蛛發現 URL 的几條常規路径

理解孤岛問题,先要分清蜘蛛可能從哪里拿到一個 URL。常见来源大致有這么几類:

  1. 站内連結:首頁、栏目頁、列表頁、詳情頁里的 a 标簽,這是最主要也最稳定的入口。
  2. XML Sitemap:站点主動提交的候選清單,蜘蛛會把它当作待抓队列的补充来源。
  3. 外鏈:其他站点指向你的連結,尤其是本身被抓取較频繁的頁面上的連結。
  4. 歷史抓取记錄:之前抓過的頁面上再次出現連結,蜘蛛會顺着重訪。

孤岛頁通常只能依赖第二條和第三條。問题是,Sitemap 提供的更像一份备選名單,而不是抓取的保證;外鏈又完全不受你控制。只靠這两條路径,URL 被發現的時間、被回訪的频率都會明顯低于有正常内鏈的頁面。

Sitemap 里放着孤岛頁,為什么不等于被正常抓取

不少人把孤岛頁塞進 Sitemap 就算處理完了,實际效果往往打折。原因有几层:

  • Sitemap 里的 URL 缺少頁面之間的上下文,蜘蛛較难判断它的重要程度,抓取安排上通常靠後。
  • 如果同一份 Sitemap 里混了大量低價值 URL,真正需要抓的頁面會被稀释。
  • 孤岛頁没有内鏈,蜘蛛抓到之後也难以繼續向外扩散,這條路径基本到此為止。
  • 頁面内容更新时,缺少内鏈带来的再次發現,回訪主要靠 Sitemap 的 lastmod 提醒,节奏會慢一拍。
内鏈解决的是這條路走不走得通,Sitemap 解决的是要不要把這條候選记下来。两者不能互相替代。

把孤岛頁重新接回站点

如果頁面确實有保留價值,比較稳妥的做法是给它补一條站内路径,而不是長期依赖 Sitemap 兜底。

1. 找到合适的上游頁面

它属于哪個栏目、哪類内容,就回到那個栏目里。栏目頁、标簽頁、归档頁都是天然的入口,前提是這些頁面本身能被蜘蛛正常抓到。

2. 用相關推荐和正文内鏈补充

在同類内容里加一两條指向它的連結,比在頁脚堆一排連結更自然。連結锚文本能說明頁面主题,對蜘蛛理解頁面也有帮助。

3. 检查列表頁的分頁入口

翻頁如果只靠按钮触發 JS 而缺少可抓取的 a 标簽,深层的舊内容就會逐渐失去入口。可以在归档頁或按時間排序的列表里保留一條静態入口。

4. 單獨整理一份 Sitemap

把确實需要被發現、但暂时没有内鏈的頁面集中放在一個分片里,別和全站 URL 混在一起,方便在日誌里观察它們的抓取情况。

日常检查时可以先看這几項

  • 随机抽一批詳情頁,從首頁出發能不能点到它,大概需要几步。
  • 抓取日誌里,頁面的来源是站内連結,還是只有 Sitemap 與外鏈。
  • 站内搜尋结果頁、日歷頁、無限滚動列表,有没有生成大量無入口的 URL。
  • 下架、合並的頁面有没有做收尾處理,避免留下既無内鏈也無内容的 URL。

孤岛頁不是必须清零的問题,但值得定期清点。判断标准很朴素:這個 URL 如果對用戶有價值,就應该有一條站内路径能走到它;如果没有價值,與其让它挂着,不如干净地下线或做合並。