做蜘蛛池和站点运营时,经常有人問:入口頁在 PC 端放了一批連結,移動端模板里没放,搜尋蜘蛛到底會不會發現這些目标 URL?反過来,移動端有連結、PC 端没有,又會怎样?這個問题的答案取决于搜尋引擎用哪一版頁面来建立索引。
先明确:蜘蛛抓的是哪一版入口頁
目前主流搜尋引擎對多數站点預設采用移動優先的策略:先以移動端 user-agent 抓取頁面,再用這一版内容建立索引並提取其中的連結。也就是说,如果入口頁的移動版和 PC 版 HTML 不一致,搜尋引擎大概率以移動版為准来判断頁面上有哪些連結。
這個規則有两個前提:一是入口頁确實做了移動端适配(响應式或獨立移動站);二是移動端返回的内容不是空壳或错誤頁。如果移動版只是一個“請用手机訪問”的提示頁,連結發現的效果就會大打折扣。
几種典型的不一致场景
- 响應式但連結被隐藏:同一個 HTML,靠 CSS 在窄屏下把連結区块设為不顯示。這類連結通常仍留在源碼里,被抓到的概率不低,但處理優先級可能靠後。
- 獨立移動站只放了部分連結:m 域名下的模板是精简版,只在 PC 站挂了一半目标 URL,移動版里没有的連結就没有被發現的机會。
- 移動版用不同 URL 结构:比如移動站把 /a/123 改寫成 /m/a/123,如果没有做适配声明,搜尋引擎可能把两套 URL 当成两個頁面分別處理。
- 移動版返回错誤狀態:某些 UA 判断逻辑出错,给蜘蛛返回 404 或跳轉首頁,這时頁面上的連結等于不存在。
怎么確認蜘蛛實际抓到了哪一版
與其猜,不如查日誌:
- 按 user-agent 過滤,把移動端蜘蛛和桌面端蜘蛛分開看,注意有些蜘蛛 UA 里會带 Mobile 字样。
- 看它請求入口頁时返回的狀態碼和响應体积。移動版通常更小,對比同一 URL 在不同 UA 下的字节數就能看出差异。
- 看紧接着的後續請求:如果蜘蛛抓完入口頁後去抓了目标 URL,說明那一版里的連結被解析到了。
- 用搜尋引擎官方提供的 URL 检查類工具,切換移動/桌面模拟,看渲染出的連結是否一致。
落地时的處理建议
- 優先保證两版入口頁的連結集合一致。最省事的做法是用响應式模板,連結区块只寫一次,用 CSS 控制展示,而不是维護两套 HTML。
- 如果确實是獨立移動站,務必配置好移動适配關系,减少两套 URL 被割裂處理的風險。
- 不要用 JS 判断 UA 後再决定是否輸出連結,蜘蛛的渲染能力有限,容易漏。連結直接寫在服務端輸出的 HTML 里最稳妥。
- 入口頁數量多的时候,先抽查几個,再用日誌確認整体情况,避免全量返工。
連結被發現不等于會被抓取,被抓取也不等于會進入索引。移動優先只解决“連結有没有被看到”這一层問题,後面的抓取與篩選仍由搜尋引擎自行判断。
小结
蜘蛛池入口頁的 PC 版和移動版不一致时,別指望搜尋引擎主動帮你合並两邊的連結。把連結放在两版都能讀到的位置,再用日誌驗證蜘蛛實际抓取的是哪一版,是比較稳妥的做法。