搜尋抓取

移動版與桌面版路径不一致时:蜘蛛會按哪一版走

移動優先抓取下,蜘蛛主要讀的是移動版 HTML,桌面版上齐全的内鏈未必生效。本文說明两版路径不一致會带来哪些断点,如何用不同 UA 對比連結集合,以及把導航、分頁、懒加载入口對齐的具体做法,让蜘蛛從首頁到詳情頁的路径保持通畅。

搜尋抓取

移動版與桌面版路径不一致时:蜘蛛會按哪一版走

不少站点同时存在桌面版和移動版两套 HTML:桌面版導航齐全、侧栏推荐一堆,移動版為了首屏速度砍掉了大半入口。搜尋引擎以移動優先的方式抓取後,蜘蛛看到的主要是移動版頁面,桌面版上那些“看得见”的連結,蜘蛛可能一次都没走過。

蜘蛛抓取时用的是哪一版頁面

移動優先索引的基本逻辑是:搜尋引擎主要用智能手机 UA 抓取頁面,並以這次抓到的 HTML 作為判断依據。也就是说,你精心维護的桌面版内鏈结构,如果移動版没有同步,對抓取路径就不起作用。

  • 同一 URL 按设备返回不同 HTML 的站点:蜘蛛取的是移動端结果,需要確認服務端确實按 UA 輸出了對應版本。
  • 獨立域名的 m 站:蜘蛛從桌面 URL 出發後,能不能顺着跳轉拿到移動版 URL,是關键的一步。
  • 只有一套响應式模板的站点:路径通常一致,但仍要检查窄屏下被隐藏或延迟加载的連結。

移動版最容易断掉的几類入口

  1. 被折叠收起的導航。汉堡菜單里的連結如果只是用 CSS 隐藏,連結仍在 HTML 中,問题不大;如果内容靠点击後由 JS 插入 DOM,就要看渲染阶段能否补上。
  2. 無限滚動。首屏之後的内容通過滚動触發請求,蜘蛛不一定“滚”那么遠,列表深處的詳情頁可能一直没被連結到。
  3. 懒加载的選項卡與折叠面板。預設未展開的内容如果不在初始 HTML 里,其中的連結就抓不到。
  4. 移動版頁脚被精简。桌面版頁脚往往是全站連結的集散地,删掉之後,深层頁面的入口直接少一批。

怎么確認两條路径是否一致

最直接的办法是取同一批 URL,分別用桌面 UA 和移動 UA 抓一次,對比解析出的連結集合。

  • 既看數量差异,也看差异分布:是首頁少了几條,還是詳情頁模板整体少了一层相關推荐。
  • 用日誌按 UA 归類,观察移動 UA 的請求是否覆盖到各主要目錄,還是只在首頁和列表頁打轉。
  • 把两次抓取结果画成路径图,重点标出只出現在桌面版路径里的 URL。
路径不一致不等于一定出問题,但如果“只有桌面版能到達”的恰好是重要内容頁,它被發現的概率就明顯變小。

把两版路径對齐的做法

  • 能不拆就不拆:响應式一套模板配一份連結结构,比维護两套導航省事,也少一類不一致。
  • 如果已有 m 站,保證每條桌面版連結在移動版都有對應的可点击 a 标簽,而不是靠 JS 事件绑定。
  • 頁面間跳轉不要来回切換:桌面 URL 跳到移動版後,移動版不要再把蜘蛛彈回桌面版,容易绕圈。
  • 移動版不要屏蔽蜘蛛,也不要在 robots.txt 里只放行桌面版;同时避免移動版與桌面版的标题、主内容差异過大。
  • 無限滚動补一個分頁入口,让列表深處的頁面有一條静態可達的路径。

改版或日常维護时顺手检查

移動端模板調整、導航重构、前端框架升級之後,抓取路径最容易悄悄變短。上线後挑几個典型目錄,用移動 UA 抓一遍,確認從首頁到詳情頁的鏈路仍然走得通,比等收錄資料出現波動再回头排查要省力得多。