網站收錄

sitemap 提交了却没動静:常见無效提交與自查顺序

sitemap 只负责把 URL 告诉搜尋引擎,既不保證抓取,也不保證收錄。提交後長期没動静,問题多半出在清單本身:混入跳轉、noindex、被屏蔽或重复的地址,格式與規模出错,或把全站低质頁面一並提交。本文梳理無效提交的常见形態,並给出一份從抽样检查到日誌核對的排查顺序。

網站收錄

sitemap 提交了却没動静:常见無效提交與自查顺序

不少人把 sitemap 当成收錄開關:提交之後,就等着頁面出現在索引里。實际上,sitemap 只负责一件事——把 URL 告诉搜尋引擎,让它更容易被發現。它既不保證被抓取,更不保證被索引。

如果提交之後長時間没有動静,問题往往不在“提交”這個動作,而在這份 URL 清單本身,或者被提交的頁面暂时還不具备進入索引的條件。

先分清:sitemap 解决的是“發現”,不是“收錄”

爬虫處理一條 URL 大致會经過三個阶段:發現、抓取、索引。sitemap 只作用在第一個阶段。它让 URL 進入待抓取队列,但抓不抓、什么时候抓、抓完之後收不收,都由別的因素决定。

所以看到“已發現,尚未编入索引”這類狀態时,說明 sitemap 已经起了作用,URL 也确實被看到了。此时再怎么改 sitemap、再提交几次,都不會让頁面往前走一步。

常见無效提交的几種形態

1. 清單里混進了不该提交的 URL

  • 返回 404、410 的已刪除頁面
  • 發生 301、302 跳轉的舊地址,而不是跳轉後的最终地址
  • 被 robots.txt 屏蔽的路径
  • 設定了 noindex 的頁面
  • canonical 指向其他 URL 的重复版本
  • 同一内容带上跟踪參數、會话參數後的多個變体

這些 URL 提交上去通常不會报错,但也不會有结果,還會稀释整份清單的信噪比,让爬虫把配額花在無效地址上。

2. 格式與規模上的细节

  • 單個 sitemap 文件建议不超過 5 萬條 URL、未压缩不超過 50MB
  • 站点較大时用 sitemap index 拆成多個子文件,而不是硬塞進一個
  • URL 要寫完整的绝對地址,包含协议與域名
  • gzip 压缩的文件需要保留 .gz 後缀,纯文本則一行一條

這些属于基础要求,出错时往往表現為“文件讀取失敗”或“URL 數量異常”,比較容易在报告里直接看到。

3. 内容层面:全量不等于有效

把站点所有 URL 一並塞進去,包括分頁、篩選、站内搜尋结果頁、空标簽頁,是另一個常见問题。這些頁面本身可索引價值有限,大量提交只會让爬虫在低價值地址之間来回消耗预算,反而拖慢真正重要頁面的抓取节奏。清單不是越全越好,而是越准越好。

4. 放置與声明的位置

sitemap 需要在 robots.txt 中声明,或在搜尋平台的相應入口提交。子域名通常要各自提交,不要把多個子域的内容混在一個文件里,也不要把其他域名的 URL 寫進来。位置错了,爬虫可能根本讀不到。

一份自查顺序

  1. 從 sitemap 里随机抽 20 條 URL,逐條手動打開,看狀態碼、是否有 noindex、canonical 指向哪個地址。
  2. 检查 robots.txt,確認没有誤屏蔽這些路径。
  3. 確認清單里的地址與站内實际可抓取的規范版本一致,跳轉地址換成最终地址。
  4. 查看搜尋平台後台的 sitemap 报告,關注是否讀取成功、發現了多少條、其中多少處于“已發現,尚未编入索引”。
  5. 翻服務器日誌,確認爬虫是否真的抓取過 sitemap 文件本身,以及抓取频率是否正常。
  6. 對長期不收錄的頁面,回到内容本身判断:是否有獨立價值、是否與站内其他頁面高度重复。

提交之後该關注什么信号

第一,日誌里有没有對 sitemap 文件的抓取记錄;第二,报告里對 URL 的讀取與發現數量是否對得上;第三,這些 URL 後續有没有被抓取、有没有進入索引。

如果狀態長期停在“已抓取,尚未编入索引”,說明抓取這一环已经通了,問题出在頁面质量或重复判断上。此时繼續調整 sitemap 意义不大,重点應放在内容差异化和頁面本身是否值得被收錄。

sitemap 是告知,不是請求收錄。它能加快 URL 被發現的速度,但替代不了頁面自身的可索引條件。