站点地图(sitemap)常被当成“提交了就等着收錄”的工具,實际上它只做一件事:把 URL 主動摆到搜尋引擎面前,减少“發現”這一步的延迟。發現之後是否抓取、抓取之後是否進入索引,仍然取决于頁面本身的可訪問性、内容质量和站点整体的信任度。
它解决的是發現,不是收錄
没有 sitemap,搜尋引擎也能通過内鏈、外鏈和歷史记錄找到頁面,只是新頁面可能要等更久。sitemap 的價值在于:让新 URL、更新频繁的 URL、内鏈层級較深的 URL 更早被發現。它不改變頁面的质量判断,也不保證一定進索引。
哪些 URL 该放進去
- 可以被索引的規范 URL:返回 200、内容完整、没有 noindex。
- 新發布或近期有實质更新的頁面。
- 靠站内爬行不容易及时發現的深层頁面。
不该出現的:
- 被 robots.txt 屏蔽或带 noindex 的頁面。
- 會跳轉的地址(應寫跳轉後的最终 URL)。
- 已刪除、返回 404 或 410 的舊地址。
- 篩選參數、排序參數、會话 ID 等生成的重复變体。
- 登入後頁面、购物车、站内搜尋结果等没有獨立检索價值的頁面。
把不该出現的放進去,除了浪費抓取配額,還會拉低 sitemap 的可信度——报告上會顯示“提交了不少、收錄比例却很低”。
lastmod 要诚實
lastmod 用来告诉搜尋引擎這個頁面什么时候真正改過。如果每次构建都统一刷成目前時間,這個字段很快會失去參考價值,搜尋引擎會倾向于忽略它。比較稳妥的做法是只在正文、标题、價格等實质内容變化时更新;模板改版、導航調整這類不影响頁面主体的改動不必改。
分片與數量
URL 數量多的站点用索引文件来拆分:一個索引文件指向多個子 sitemap,單個子文件里的 URL 數量控制在合理范围。按内容類型或目錄分片,比随机切分更好排查問题——某一類頁面出状况时,對着對應的那個文件看就行。
更新與提交的节奏
内容更新频繁的站点,可以让 sitemap 跟着發布节奏保持更新;更新很少的站点,不必為了“顯得活跃”而频繁改動文件。提交之後通常仍需等待抓取周期,不要指望提交当天就出現在索引里。
怎么驗證它有没有起作用
把几邊的資料對起来看:
- 服務器日誌里,来自搜尋引擎的請求有多少是 sitemap 中的 URL?没有被抓取,就不必谈收錄。
- 索引狀態报告里,sitemap 中的 URL 有多少已收錄、多少是“已發現尚未编入索引”?後者往往指向抓取優先級或頁面质量問题。
- 把同一批頁面分成“放進 sitemap”和“只靠内鏈”两组,對比被發現的平均時間。
sitemap 是加速器,不是通行證。真正决定收錄的,還是頁面能不能被抓到、值不值得被索引。
几個常见誤区
- 把 sitemap 当提交入口:提交之後就不再维護,里面混着大量 404 和重定向。
- 只放首頁和栏目頁:最有發現價值的新内容反而没放。
- sitemap 里的 URL 與頁面上的 canonical 不一致,自己给自己制造了重复信号。
把這几件事理顺,sitemap 才能稳定地承担“發現”這一环,剩下的交给頁面本身。