網站收錄

sitemap 里放什么、不放什么:它负责發現,不负责收錄

sitemap 常被当成收錄開關,其實它只影响蜘蛛能不能更快發現 URL。這篇文章梳理该放進去和不该放進去的頁面類型、多版本 URL 的取舍、lastmod 的寫法,以及提交之後该观察哪些資料,帮你把 sitemap 当成一份持續维護的清單,而不是一次性的提交動作。

網站收錄

sitemap 里放什么、不放什么:它负责發現,不负责收錄

sitemap 管的是“發現”,不是“收錄”

很多人把 sitemap 当成一個“提交就能收錄”的按钮:文件生成好、丢進後台,然後坐等索引數量上涨。實际執行一段時間就會發現,提交前後蜘蛛的抓取节奏可能有變化,但收錄结果並不會因為一份文件就整体改變。sitemap 解决的是“發現”問题,不是“收錄”問题。它把一批 URL 明确摆到蜘蛛面前,减少“没人連結所以找不到”的情况;至于這些頁面最终進不進索引,仍然由頁面本身的质量、可索引狀態和站点整体情况决定。

哪些 URL 值得放進 sitemap

  • 返回 200、允许索引的規范 URL:canonical 指向自己,robots meta 里没有 noindex。
  • 有實质内容、确實希望被搜到的頁面:栏目主頁面、文章詳情、产品頁。
  • 站内連結深度較深、入口較少的頁面,靠 sitemap 补一條發現路径。
  • 新上线、内鏈還来不及铺開的頁面。
  • 更新频繁、需要重新抓取的頁面,配合可靠的 lastmod 一起提交。

哪些 URL 放進去只會添乱

  • noindex 頁面:一邊声明不许索引,一邊請蜘蛛来抓,信号互相矛盾。
  • 301、302 跳轉地址:應该放跳轉後的目标,而不是跳轉前的舊地址。
  • 404、410 或已经下线的頁面:長期挂着死鏈,既消耗抓取,也削弱文件的可信度。
  • 站内搜尋结果頁、排序篩選參數頁:數量可能無限增長,且大多是重复内容。
  • 分頁的深层頁面、标簽聚合頁:是否值得收錄要單獨判断,不要整批塞進去。

多版本 URL 只留一個

同一個頁面如果存在带參數、大小寫不同、结尾斜杠不同等多個版本,sitemap 里只寫規范版本。把几個版本一起提交,等于主動把重复内容送到蜘蛛面前,後面再靠 canonical 收口,效率會差很多。如果站点同时存在 http 與 https,或者 www 與非 www 並存,先在服務器层面统一跳轉,再谈 sitemap。

格式和维護上的几個细节

  • 單個文件建议不超過 5 萬個 URL、未压缩体积不超過 50MB,超出就分片,再用索引文件匯總。
  • 一份 sitemap 里只放同一域名下的 URL,不要混入其他域名。
  • 文件地址寫在 robots.txt 中,方便蜘蛛找到;有多份时列出索引文件即可。
  • 定期清理:下线的頁面、失效的 URL 该删就删,sitemap 是一份维護中的清單,不是一次性動作。

lastmod 不要随便填

lastmod 是给蜘蛛判断“這個頁面值不值得再来一趟”的參考。如果每次生成 sitemap 都把時間刷成当天,蜘蛛很快就會学會忽略這個字段;反過来,頁面确實做了大幅修改却從不更新,也會错過重新抓取的时机。宁可只给真正改過内容的 URL 寫 lastmod,也不要整批刷時間。

提交之後该看什么

  1. 抓取日誌里這些 URL 有没有被訪問,返回的是什么狀態碼。
  2. 索引报告里,這批 URL 是進入了索引,還是停在“已發現,尚未编入索引”。
  3. 被排除原因的分布:是 noindex、重定向,還是“已抓取,尚未编入索引”。
  4. 站点整体抓取量有没有被這批 URL 挤占。

如果日誌里根本看不到抓取,先检查 robots.txt 是否拦截、文件是否可正常訪問、URL 本身是不是跳轉地址。如果抓取了却不收錄,問题通常不在 sitemap,而在頁面内容和站点整体质量层面。

把 sitemap 当成一份“告诉蜘蛛有哪些頁面”的清單,而不是收錄的承诺书,很多困惑會自然减少。