蜘蛛池入口頁真正的“内容”,是蜘蛛用自己那份 UA 請求回来的一串 HTML。同一批入口頁,在浏览器里看到的和蜘蛛抓到的可能完全不同,尤其是做了移動端适配或者按设备分流之後。這類差异平时看不见,等到日誌里来訪變少、或者入口頁只被索引了一個版本,才會浮現出来。
蜘蛛用哪種 UA 抓入口頁
主流搜尋引擎多年前就已轉向移動優先:抓取和索引主要參考移動版頁面,桌面版在很多情况下只是兜底。這意味着入口頁如果存在两套版本,蜘蛛更大概率拿到移動版那一份。你在电脑上打開的落地頁,未必是它看到的那一頁。
具体到日誌里,同一個搜尋引擎會出現两類 UA:一類带 Mobile 字样,一類是传统桌面蜘蛛。两者的来訪比例、抓取频次和覆盖的 URL 並不一样,統計时最好分開看,否則很容易把一次 UA 切換誤判成来訪腰斩。
入口頁常见的三種交付方式
响應式一套模板
同一份 HTML,靠 CSS 适配屏幕,服務端不区分 UA。這是對蜘蛛最省事的做法:只有一個 URL、一份内容,不存在版本分歧,抓取预算也不用重复花。
獨立的移動站
桌面走 www,移動走 m 子域或另一套路径。這種结构下,两套頁面需要互相标明 canonical 關系,内容也得基本一致。常见的問题是移動版被大幅精简,只剩标题和几張图,蜘蛛按移動優先取到這一版,對頁面质量的判断自然跟着缩水。
按 UA 動態返回
服務端讀 User-Agent 决定返回哪套模板。技術上可行,但風險在于两件事:一是缓存层可能把移動版缓存住,接着回给桌面蜘蛛;二是当移動版和桌面版内容差异過大时,容易被認定為按设备投放不同内容,差异越大,解释成本越高。
版本不一致會带来什么
- 入口頁被索引的版本與预期不同,站内連結的落点跟着變。
- 移動版精简掉了正文或連結,蜘蛛顺着入口頁走不到後續頁面。
- 移動站用 302 跳到首頁或 App 下载頁,蜘蛛到這里就断了。
- 两套版本各自声明 canonical,指向不统一,信号被拆散。
自己動手核對一遍
- 用桌面 UA 和移動 UA 各抓一次入口頁,對比返回的 HTML 正文、連結數量與跳轉。
- 看响應头里的 Vary、Cache-Control,確認缓存不會串版本。
- 检查移動版是否被重定向到與你無關的頁面,尤其是 App 下载和首屏彈窗。
- 把入口頁的關键連結在两種 UA 下分別數一遍,落点應当一致。
几條實用的處理建议
- 能响應式就响應式,入口頁没必要為了分流再造一套模板。
- 确實要分開,就让两版内容量級相当,並互相 canonical,別只留一版给蜘蛛。
- 移動端彈窗、下载引導、地域跳轉這些脚本,尽量別挡在正文和連結前面。
- 日誌統計按 UA 分類,移動蜘蛛和桌面蜘蛛的曲线分開看,避免誤讀。
入口頁的版本問题,本质不是适配問题,而是“蜘蛛拿到的那份 HTML 是不是你想让它看的那份”。
這些检查花不了多少時間,但能避開一類非常隐蔽的問题:你一直在優化桌面版,蜘蛛却始终在看另一份頁面。