網站收錄

同一URL两次抓取内容不一样,收錄迟疑时容易漏掉的一條排查

頁面能抓取、返回碼正常,索引狀態却長期停在“已發現,尚未编入索引”,問题可能出在頁面本身不稳定:同一URL在不同時間返回的主体内容、主标题和正文结构差异過大,抓取方难以判断它代表哪一版。本文整理了六類常见来源、几種驗證方法和一個處理顺序。

網站收錄

同一URL两次抓取内容不一样,收錄迟疑时容易漏掉的一條排查

做收錄排查时,站点通常先看三件事:站内有没有给入口、能不能正常抓取、有没有被 robots 或 noindex 明确拒绝。但如果這几項都没問题,頁面還是長期停在“已發現,尚未编入索引”,可以換一個方向看看:同一個 URL 在不同時間被抓取时,返回的是不是同一份内容。

同一個 URL,不同時間抓到不同内容

搜尋方判断一個頁面能不能進索引,前提是知道這個 URL 稳定地代表一份内容。如果一天之内抓三次,三次返回的主标题、正文主体、主要内鏈结构都不一样,“這個 URL 代表哪一版”本身就成了一個需要額外判断的問题。判断成本越高,收錄判断被推迟的可能就越大。

這里说的不稳定,指的不是细节差异,比如评论數、销量、時間戳這一類動態信息;而是主标题、正文结构、核心内容這一层面的變化。

常见的六類不稳定来源

  • 随机推荐模块:每次刷新都從内容库随机抽取,首頁或詳情頁大面积變動,甚至挤在正文之前。
  • 首屏轮播與 A/B 測試:不同訪問者看到不同标题或不同主图,頁面主标题跟着變。
  • 時間、訪問量、库存提示:把這類數值寫進标题或 H1,頁面的“身份”随时在變。
  • 设备與地域分流:PC 和移動端、不同地区返回的是两套内容,而不是同一内容的不同排版。
  • 登入態與 Cookie:未登入和登入狀態看到的頁面差异過大,甚至跳轉到不同 URL。
  • 广告與懒加载占位:正文被大量插播内容切成碎片,主体部分难以识別。

怎么驗證

  1. 用同一個 URL 發起两次抓取,間隔几分钟,不带 Cookie,對比主标题和正文是否一致。
  2. 分別用移動端和桌面端 UA 各抓一次,看返回的是同一内容的不同排版,還是两套内容。
  3. 關閉 JS 再抓一次。如果關閉後拿不到主体内容,說明頁面高度依赖脚本渲染,需要確認渲染後的结果本身是否稳定。
  4. 检查站内搜尋、篩選、排序入口會不會生成可抓取的 URL,並把這類 URL 和正式内容頁混在一起。

處理顺序:先稳主体,再動附属模块

建议先把主体部分固定下来,主体包括主标题、正文、核心參數和主要内鏈。推荐位、热销榜、猜你喜欢這類模块可以放在主体之後,並尽量限制變化范围。如果這些模块必须随机,至少让服務器返回的首屏 HTML 里包含完整、稳定的主体内容,而不是等脚本执行完才拼出来。

判断優先級的方法很简單:把頁面抓下来两次做對比。如果连你自己都难以確認哪一版算正式版,抓取方也一样。

已经收錄,但版本看起来乱

如果頁面已被收錄,只是索引里的标题或摘要在不同時間顯示不同,通常不必急着改 URL。先確認 canonical 指向的是不是同一版、站内連結是否都指向這個版本、頁面主体是否已经稳定,稳定一段時間後观察,往往比频繁調整标簽更有用。

可以加進收錄自查的四條

  • 主体内容两次抓取是否一致;
  • 主标题里是否包含會持續變化的數值;
  • 站内連結是否都指向同一版 URL;
  • 動態模块是否出現在主体之前,或與主体混排。

收錄是抓取、URL 規范、重复内容、頁面质量多個因素叠加的结果。把“這個 URL 是否稳定地代表一份内容”补進自查,往往能解释那些翻遍設定也查不出原因的收錄迟疑。