蜘蛛池知识

蜘蛛池入口頁的移動端视图:蜘蛛用手机 UA 抓到时看到的可能不是這一版

搜尋引擎普遍以移動端為主评估頁面,蜘蛛抓取入口頁时也常带手机 UA。同一份頁面在移動端被折叠、裁剪或被 robots 屏蔽,都會让蜘蛛拿到一份残缺的 HTML。本文梳理移動端常见的几種翻车方式、用手机 UA 自查的顺序,以及入口頁在移動端该怎么简化處理。

蜘蛛池知识

蜘蛛池入口頁的移動端视图:蜘蛛用手机 UA 抓到时看到的可能不是這一版

做蜘蛛池入口頁的时候,很多人只在自己电脑的浏览器里看一眼,觉得頁面能打開、文字都在,就当作没問题了。但搜尋引擎現在普遍以移動端為主来评估頁面,蜘蛛抓取时带的 User-Agent 也常常是手机浏览器。也就是说,你在宽屏下看到的那個排版整齐的入口頁,蜘蛛未必能看到同一版。

為什么蜘蛛會带着手机 UA 来

抓取端的選擇通常有三種實現方式:响應式布局、獨立移動站、以及按 UA 動態返回不同 HTML。前两種比較常见,第三種在過去几年被大量使用,也是問题最集中的一種。它意味着同一個 URL,用桌面 UA 和手机 UA 請求,服務器可能返回两套完全不同的内容。

移動端常见的三種翻车方式

  • 内容被折叠。移動端為了首屏好看,把正文和一部分連結塞進「展開全文」,必须点击或滚動到底才加载。如果展開逻辑依赖 JS,蜘蛛很可能只拿到标题和一句摘要。
  • 内容被裁剪。模板在移動端直接删掉侧栏、相關阅讀、分頁導航。入口頁本来靠這些位置把連結铺出去,裁掉之後蜘蛛能顺着走的路径就少了。
  • 移動版被屏蔽。m 站單獨配了一份 robots.txt,或者移動版模板里带着 noindex。桌面版能抓,移動版反而拒之门外。

用自己的手机 UA 自查一遍

  1. 用命令行带上手机 UA 請求一次入口頁,直接看返回的 HTML 源碼,而不是看渲染後的画面。
  2. 把移動版和桌面版的正文文字量做個對比。差的不是排版,是内容本身少了多少。
  3. 记錄跳轉鏈:入口頁是否跳到 m 站,m 站是否又跳回来。301、302 跳個两三次還不落地,抓取端容易中途放弃。
  4. 看移動版上的 canonical 指向哪里。桌面版和移動版各自指向自己、或者一方指向另一方,都是常见寫法,但至少要一致,別两邊互相打架。
  5. 检查首屏有没有遮挡式彈窗、浮层或下载引導。這類元素會盖住正文和連結。

两套站還是一套模板

如果维護成本允许,優先用响應式。一套 HTML、一套連結结构,蜘蛛無论带什么 UA 拿到的都是同一份内容,你也不用去對齐两個版本的 canonical。确實要分站的话,把移動版当成正式版本對待:正文完整、連結完整、允许抓取,然後和桌面版做一次交叉核對。

入口頁的核心價值是让蜘蛛發現並走到下游連結,正文短一点不可怕,可怕的是移動端把連結一並藏了起来。

几條省事的做法

  • 正文和連結在两種 UA 下都完整輸出,折叠只影响视觉呈現,不影响 HTML 里有没有。
  • 折叠、選項卡優先用 CSS 或原生 HTML 實現,少依赖点击後才發起請求的脚本。
  • 移動端的彈窗做成可關閉、可延後出現的,不要一進頁面就糊在正文上。
  • 改動模板後,隔一段時間再用手机 UA 抓一次,確認返回的仍是完整版本。

把移動端当成主版本来看待,而不是桌面版的附属品,很多「蜘蛛来了却什么都没抓到」的疑問,會自然少一大半。