移動優先索引执行之後,蜘蛛在多數情况下會優先用移動端 UA 抓取和评估頁面。如果你的手机版模板為了“轻量”砍掉了正文段落、相關連結或结构化資料,蜘蛛看到的就不是你在桌面端精心准备的那一份内容。這個自查不需要复杂工具,核心是把两端實际輸出的内容放在一起對比。
先確認蜘蛛看到的移動端版本長什么样
用移動端 User-Agent 請求頁面,拿到的是服務端返回的原始 HTML;再结合渲染後的 DOM 做對照。常用做法有三種:
- 用命令行指定移動 UA 抓取,观察原始 HTML 里有没有正文。
- 用 Search Console 的網址检查,對比“已抓取的頁面”和“測試實际網址”,看移動端的渲染结果。
- 本地用浏览器開發者工具切換设备模拟,查看最终 DOM,而不是只看源碼。
只看源碼容易誤判:有些内容在 HTML 里但被 CSS 隐藏,也有内容在 HTML 里根本不存在,靠 JS 才补上。两種情况對抓取的意义並不相同。
最常见的不一致来源
- 用 display:none 隐藏的模块:桌面端顯示的相關推荐、參數表、常见問题,移動端直接不輸出。隐藏展示和“不渲染内容”是两件事,後者會让這部分文字從索引里消失。
- 正文被裁剪:移動端只展示前几段加一個“展開全文”,而展開動作依赖点击,蜘蛛不一定触發。
- 移動端图片換了地址且缺失 alt:图片地址两套,替代文本只寫在桌面模板里。
- 導航只靠脚本:汉堡菜單里的栏目連結寫在 JS 數组里,HTML 中没有任何 a 标簽,内鏈结构在移動端等于不存在。
- 獨立 m. 域名的标注遗漏:桌面與移動互指的 alternate 或 canonical 寫错方向,導致索引版本混乱。
内容一致性不等于两端 HTML 一模一样,而是标题、正文主体、主要内鏈和结构化資料在两端都真實存在、都可被抓取。
逐項自查清單
- 取同一篇文章,分別在桌面 UA 和移動 UA 下抓取原始 HTML,統計正文段落數、标题层級數量和内鏈數量,记錄差异。
- 對比两端的 canonical 與 JSON-LD,確認指向同一個規范地址、描述同一份内容。
- 检查移動端導航和面包屑,確認不执行脚本也能看到 a 标簽。
- 检查移動端图片的地址與 alt,看是否存在只在桌面端出現的替代文本。
- 若使用獨立移動域名,確認桌面頁有指向移動頁的 alternate,移動頁有指向桌面頁的 canonical,並且互相回指。
- 检查移動端是否有体积過大、阻塞渲染的脚本,導致首屏内容迟迟不出現。
處理原則
- 優先使用响應式模板,两端共用同一份内容資料和同一套 URL,能省掉大部分一致性問题。
- 视觉上的折叠尽量用 CSS 實現,DOM 里保留完整内容,而不是在服務端就不輸出。
- 如果确有移動端獨立模板,内容字段從同一個資料源取,別让两套模板各自维護一份。
- 不要為了让移動端“更快”而刪除正文,速度問题應该從图片压缩、脚本拆分、缓存策略入手解决。
改完之後要复测
調整模板後,用同样的方法再抓一次两端 HTML,確認差异項减少。如果站点有抓取日誌,可以观察移動端 UA 抓取的頁面返回内容長度是否上升。索引更新需要時間,不必指望改完第二天就看到變化,重点是把结构性問题先消掉。
小结:移動端與桌面端的内容差异,多數来自模板层面的取舍,而不是内容本身。把這一步纳入上线前的常規检查,比事後逐頁排查省力得多。