站点地图(sitemap)寫得很全,收錄却没跟上,是很多站長常遇到的困惑。先要明确一点:sitemap 是一份“候選清單”,它告诉搜尋引擎這些 URL 存在、可以去看看,但不代表提交就會被抓取,更不代表被抓取就會被收錄。把 sitemap 当成收錄開關,往往會做出错誤的動作,比如不断重复提交、無限扩充條數。
先分清 sitemap 能做什么、不能做什么
sitemap 的作用是补充發現路径,尤其适合内鏈較少、层級較深或新上线的頁面。它能影响的是“發現”,不是“索引”。是否抓取,取决于抓取预算、URL 的重要性和服務器的响應情况;是否收錄,還要看頁面质量、是否重复、有没有獨立價值。所以当收錄没跟上时,第一步不是加大提交量,而是检查這份清單本身是否干净。
sitemap 里常见的四類“混進来”的 URL
- 带追踪參數的地址:utm、會话 ID、来源标记等參數产生的 URL 和主地址内容完全相同,放進去只會制造重复。
- 已经跳轉的舊地址:站点改版或栏目調整後,舊 URL 如果還留在 sitemap 里,等于把抓取资源引向重定向鏈。
- 被屏蔽或标记 noindex 的頁面:robots.txt 屏蔽、meta noindex 的頁面出現在 sitemap 中,是自相矛盾的信号。
- 無獨立價值的组合頁:篩選、排序、分頁參數的排列组合動辄成百上千,铺進去很容易稀释整份清單的质量。
數量、更新與 lastmod 的可靠性
sitemap 不是越長越好。單個文件有大小和條數上限,超了要拆分成索引文件,這一点多數工具會自動處理。真正容易出問题的是 lastmod:如果每次生成都统一刷新成当天日期,搜尋引擎很快會判断這個字段没有參考價值,進而降低整份 sitemap 的可信度。比較稳妥的做法是只在頁面内容真實發生變化时更新對應條目的時間,其余保持不動。
一份可执行的核對顺序
- 確認 sitemap 地址本身返回 200,格式正确,没有被 robots.txt 誤屏蔽,並已在後台提交。
- 從 sitemap 中抽样几十條 URL,逐條查看狀態碼、canonical 指向和是否 noindex,判断清單與實际可索引頁面是否一致。
- 對比後台里“已提交”與“已编入索引”的數量。两者本来就有差距,差距是否集中在某一類頁面上,比绝對數字更有參考意义。
- 翻一段服務器日誌,看 sitemap 中的 URL 是否被實际抓取。如果長期没有抓取记錄,問题多半不在 sitemap 本身,而在站点整体抓取情况或頁面质量。
- 把清單收敛到只保留規范、可索引、有獨立内容的 URL,再观察一段時間的抓取和收錄變化。
sitemap 之外還得配合的几件事
- 内鏈:能被站内正常点击到達的頁面,發現路径更稳定,不必完全依赖 sitemap。
- canonical:sitemap 里放的應当是與 canonical 一致的規范地址,两者冲突會让信号變模糊。
- 頁面质量:抓取和收錄最终看的還是頁面本身。模板占比高、内容單薄的頁面,進不進 sitemap 意义都不大。
- 日誌观察:把日誌当成反馈渠道,而不是只盯着提交數量。
sitemap 的價值在于把该被發現的頁面准确交出去,而不是把能寫的 URL 都堆上去。清單越干净,參考價值越高。
如果你的站点收錄一直跟不上,建议先做一次 sitemap 的减法:删掉參數頁、跳轉頁和屏蔽頁,核對 canonical,再配合内鏈與日誌观察抓取情况。抓取與收錄本来就是两件事,分開看,問题會清楚很多。