先明确:sitemap 只负责告知,不负责收錄
sitemap 的作用,是把站点希望被收錄的 URL 集中列出来,方便搜尋引擎更完整地發現它們。它不會让某個頁面優先被抓取,也不保證頁面進入索引。所以“提交了 sitemap 却没收錄”其實混着两個問题:蜘蛛有没有来抓?抓了之後有没有進索引?把這两件事拆開,排查方向才會清楚。
第一步:核對提交本身是否生效
- 確認提交的是 sitemap 索引文件還是單個 sitemap,地址是否與 robots.txt 中声明的一致;
- 確認文件能正常訪問,返回 200,内容類型是 XML,没有被 CDN 或防護規則拦截;
- 單個文件的 URL 數量控制在协议允许范围内,超出就拆分,再用索引文件串起来;
- 只放規范 URL:不要混入带參數頁、篩選頁、已 301 或已 404 的地址;
- lastmod 要真實反映内容變化,長期不動或天天變動都會降低參考價值。
這几項里任何一項出問题,平台拿到的都是一份失真清單,再用它看收錄資料就没有意义。
第二步:用日誌確認抓取有没有發生
- 在服務器日誌里筛蜘蛛 UA,看 sitemap 中的 URL 是否有訪問记錄;
- 有记錄但只集中在少數目錄,說明抓取額度被更活跃的部分占用了,其他目錄需要改善内鏈和更新频率;
- 完全没有记錄,先查 robots.txt 是否屏蔽、頁面是否只有 sitemap 没有站内入口、站点整体抓取量是否本来就低;
- 抓取频繁返回 5xx 或超时,蜘蛛會主動降低来訪频率,這时该修的是服務器和响應速度,而不是反复提交。
抓取量正常但索引為空,說明問题不在有没有被發現,而在頁面本身或站点信号。
第三步:抓到了却不進索引,看頁面價值與信号冲突
- 正文過短、模板占比過高,頁面之間几乎没有差异;
- 與站内其他頁面高度相似,属于可以合並的版本;
- canonical、noindex、hreflang 等信号互相打架,蜘蛛無法确定要保留哪個;
- 頁面属于工具頁、结果頁、空列表頁,本身没有獨立的检索需求。
這一類頁面即便被反复提交,也大概率停留在已抓取未索引的狀態,處理方式通常是合並内容或直接收敛,而不是繼續加連結。
一個可执行的排查顺序
- 先在站長平台確認 sitemap 狀態正常,没有讀取错誤;
- 抽 20 到 50 條 URL,和日誌、抓取統計對照,判断有没有被抓;
- 被抓但未收錄的,逐個看内容差异、信号冲突與頁面類型;
- 没被抓的,回头看内鏈入口、robots 規則與服務器响應;
- 把無效地址從 sitemap 中删掉,只保留真正想被索引的規范 URL。
日常维護的几條经驗
sitemap 應当跟着内容更新,而不是一次提交後長期不管。新頁面發布後,先確認它至少有站内入口,再進入 sitemap;下线的頁面要及时移除。規模較大的站点可以按栏目拆分,便于按目錄观察哪些部分長期表現偏弱。如果站点同时存在多種 URL 變形,先统一規范寫法,再考虑提交,否則只會把重复地址一起送進去。
最後提醒一句:sitemap 和各種提交工具都只是辅助發現的手段,收錄结果最终還是取决于頁面质量與站点整体表現,不必因為短期波動反复改動配置。