搜尋抓取

移動版砍掉的那些連結:蜘蛛抓的是哪一版頁面

主流搜尋引擎的爬虫預設以移動端身份抓取,移動版 HTML 才是蜘蛛真正看到的頁面。本文梳理响應式、動態服務、獨立移動域名三種做法下連結图的差异,說明移動版做减法时最容易被砍掉的導航與正文内鏈,並给出用两種 UA 對比自查的方法和常见的拦截誤判。

搜尋抓取

移動版砍掉的那些連結:蜘蛛抓的是哪一版頁面

現在主流搜尋引擎的爬虫,預設以移動端身份發起抓取。Googlebot Smartphone 早已是主力,百度、必應也在往移動端信号倾斜。這意味着:你在桌面浏览器里看到的那個頁面结构,蜘蛛很可能根本没看到——它拿到的是移動版 HTML。如果移動版為了“轻量”砍掉了導航、頁脚、相關推荐和正文内鏈,蜘蛛的 URL 發現路径就會跟着變窄。

移動化有三種做法,連結图完全不同

响應式:一套 HTML 服務所有设备

响應式站点靠 CSS 做适配,HTML 只有一份。對蜘蛛最友好:連結、锚文本、canonical 完全一致,抓取路径和你在桌面看到的没有差別。唯一要留意的是別用脚本在窄屏下把某些 DOM 节点删掉,那样两版结构就不一致了。

動態服務:同一個 URL,两套 HTML

服務器按 UA 返回不同 HTML。只要連結集合一样,問题不大。但現實中常见的做法是:移動版把侧栏、頁脚、标簽云整块去掉,于是蜘蛛在同一個 URL 上只看到桌面版一半的連結,URL 發現能力實打實地缩水。

獨立移動域名:最容易形成两套割裂的連結图

m.example.com 這類做法問题最多。桌面版連結指向 www,移動版連結指向 m,如果两邊不做配對标注,就會形成两張互不相通的連結图。移動爬虫在 m 站内部绕圈,桌面 URL 長期得不到新連結补充;反過来,移動 URL 也可能只靠 Sitemap 才能被想起来。

移動版做减法时,最先丢的是連結

  • 導航折叠進汉堡菜單,並且菜單内容由脚本在点击时插入,HTML 源文件里没有連結。
  • 頁脚導航整块不下發,尤其是“全站栏目”“热门标簽”這類高價值連結区。
  • 正文相關推荐只在宽屏断点輸出,窄屏直接不渲染。
  • 分頁在移動端換成“加载更多”按钮,後續頁面的 URL 不再出現在 HTML 里。
  • 面包屑為了省空間被隐藏,层級關系只剩一個返回按钮。

這些改動的出發点都是体驗,但结果是把站内可爬的路径砍掉了一截。蜘蛛不是靠猜来找頁面的,路径少了,發現就慢了。

怎么自查:用两種 UA 各抓一遍

拿一個普通工具,分別用移動端 UA 和桌面 UA 抓同一批頁面的 HTML 源碼,然後對比三件事:内部連結的數量、锚文本是否一致、canonical 是否都指向同一個首選 URL。差异集中在導航和頁脚,就說明结构被砍了;差异出現在正文,就要看看是不是模板做了條件輸出。

移動版如果要精简,比較稳妥的顺序是:先保留連結,再压缩展示形式。菜單用 CSS 收起而不是用脚本生成,頁脚連結保留在源文件里,分頁繼續輸出可爬的 URL,這些都不影响视觉上的简洁。

別把移動端 UA 当成異常流量拦掉

還有一個容易被忽略的环节:服務器和 WAF 的規則。有些站点把移動端 UA 與“模拟器、采集器”归到一類直接拦截,或者给移動路径配了更嚴格的限流。蜘蛛连續拿到 403 或超时,抓取安排就會被推後,嚴重时干脆放弃這批 URL。上线任何 UA 匹配規則前,確認自己没有誤伤主流搜尋引擎的移動爬虫。

移動優先不是“移動端随便做做就行”。蜘蛛看到的那個版本,才是你真正提交给搜尋引擎的站点。