搜尋抓取

移動端 HTML 抓取核對:正文、連結與资源是否齐备

搜尋引擎大多以移動端 HTML 作為抓取與判断的主要来源。移動端頁面若在正文、内鏈或资源加载上與桌面端不一致,蜘蛛拿到的信息就會缩水。本文梳理三類常见的不對等,以及獨立移動站與動態服務的核對点,並给出用移動 UA 取源碼、對比 HTML、检查屏蔽規則與抓取日誌的實操流程。

搜尋抓取

移動端 HTML 抓取核對:正文、連結與资源是否齐备

多數搜尋引擎現在以移動端 HTML 作為抓取和判断的主要依據。這意味着同一個 URL,如果移動端頁面比桌面端少了一段正文、少了几條内鏈,蜘蛛拿到的信息就與用戶看到的、以及站長自己预期的版本不一致。核對移動端 HTML 的完整度,是抓取质量检查中容易被跳過的一步。

移動端 HTML 成為抓取基准之後

過去站長习惯在桌面浏览器里检查頁面,看到的内容自然是完整的。但抓取請求携带的 UA 是移動设备,返回的是移動端 HTML,服務端可能根據 UA、Viewport 或 Cookie 做差异化輸出。差异一旦存在,桌面端看到的“好頁面”與蜘蛛實际拿到的頁面就會分叉。

所以核對的第一步不是看頁面好不好看,而是確認抓取請求返回的 HTML 與目标版本是否一致。

三類常见的不對等

正文内容不對等

部分站点在移動端折叠或省略了長描述、參數表、常见問题区块,只保留标题和價格。用戶点開“展開”仍然能看到,但初始 HTML 里没有這段文字。如果這些内容對頁面主题很關键,蜘蛛抓到的就是一個信息更少的版本。

連結可见性不對等

移動端常把導航收進汉堡菜單,把相關推荐做成需要滑動才出現的列表。如果這些連結只存在于交互後的 DOM,而不是初始 HTML 的 a 标簽里,抓取路径就會明顯變窄。核對时可以直接查看移動端 HTML 源碼,統計首頁到詳情頁之間真正可用的連結條數。

资源與样式被屏蔽

為了移動端速度,有的站点在 robots.txt 里屏蔽了 CSS、JS 或图片目錄。屏蔽样式表會让蜘蛛看到一個结构混乱的版本,屏蔽脚本則可能让依赖渲染的内容整体消失。為节省移動流量而做的取舍,未必适合抓取环境。

獨立移動站與動態服務的核對点

  • 獨立移動站(如 m. 子域)需要有正确的對應關系,避免桌面 URL 與移動 URL 内容脱节。
  • 移動 URL 不應叠加無意义的跳轉鏈,也不要對蜘蛛返回與用戶不同的重定向目标。
  • 動態服務(同一 URL 按 UA 返回不同 HTML)要保證两版的核心信息一致,包括标题、正文與主要連結。
  • 检查移動端頁面有没有桌面端不存在的 noindex 或屏蔽規則。

核對流程

  1. 用移動 UA 請求目标 URL,儲存返回的原始 HTML,不要用浏览器渲染後的结果。
  2. 對比移動端與桌面端 HTML 中的正文段落數、a 标簽數量與主要标题文本。
  3. 检查 robots.txt 是否屏蔽了 CSS、JS、图片路径。
  4. 抽样若干詳情頁,確認初始 HTML 里是否存在指向其他頁面的連結。
  5. 在服務器日誌里查看移動 UA 的抓取频次與狀態碼,判断移動版本是否被正常抓取。

容易忽略的一点

移動端体驗優化與抓取友好並不冲突,冲突的是“只在交互後才出現”的内容。把關键正文與内鏈放在初始 HTML 中,再在此基础上做样式與交互增强,两條线可以兼顾。

移動端 HTML 是目前抓取的主要輸入。核對它的完整度,比反复打磨桌面端頁面的细节更有實际意义。