網站收錄

站点地图寫對了才有用:sitemap 中该放與不该放的 URL

站点地图常被当成收錄加速器,其實它只是一條 URL 發現通道。本文從该放什么、不该放什么、常见寫法問题、提交後的驗證顺序几個方面梳理 sitemap 的正确用法,並說明它與内鏈、抓取频次之間的關系,帮你把一份清單變成真正可用的排查工具。

網站收錄

站点地图寫對了才有用:sitemap 中该放與不该放的 URL

站点地图(sitemap)是给搜尋引擎的一份 URL 清單,作用是帮助發現地址,而不是提交一份收錄申請。理解這一点,後面的取舍就顺了:它能让蜘蛛更快知道有這么個頁面,但頁面最终進不進索引,仍由内容质量、重复程度和站点整体可信度决定。

sitemap 能做什么,不能做什么

  • 能做:把新頁面、更新頁面、层級較深的頁面集中暴露给爬虫,减少靠内鏈慢慢被發現的時間。
  • 不能做:让低质頁面获得收錄,也不能替代站内連結结构。一個頁面如果没有任何入口連結,只在 sitemap 里出現,被發現之後往往也难以获得持續抓取。
把 sitemap 当作發現通道,不要当作收錄開關。

该放進 sitemap 的 URL

  • 返回 200、可正常訪問的規范地址,也就是 canonical 指向自身的那一個。
  • 希望被收錄的新頁面,以及近期确實做過内容更新的頁面。
  • 层級較深、靠内鏈不易到達的頁面,例如商品詳情頁、文章詳情頁。
  • 可索引的列表頁與栏目頁,前提是内容有獨特性、没有被參數污染。

不建议放進 sitemap 的 URL

  • 返回 301、302 的跳轉地址,以及 404 和软 404 頁面。
  • 被 robots.txt 屏蔽,或頁面本身带 noindex 的地址。這两種情况與提交 sitemap 是矛盾的,只會在报告里留下大量被排除的记錄。
  • 典型的重复地址:带排序、篩選、會话、跟踪參數的 URL,以及同一内容的不同寫法。
  • 分頁的深层頁和站内搜尋结果頁,除非你确實希望它們參與索引。
  • 登入頁、後台、购物车等没有收錄價值的地址。

常见的寫法問题

  • lastmod 造假:每次生成文件都寫目前時間,會让搜尋引擎不再信任這個字段,之後真正的更新反而没被注意到。
  • 單個文件的條數與体积超出限制,一般建议控制在 5 萬條、未压缩 50MB 以内,超出後按需拆分並寫進 sitemap 索引文件。
  • sitemap 自身被 robots.txt 屏蔽,或者文件放在需要登入才能訪問的目錄里。
  • 長期提交早已不存在的 URL 而不清理,报告里堆满错誤類型。

提交之後看什么

提交只是開始,接下来要靠資料判断效果:

  1. 看 sitemap 报告里的已發現網址數量與错誤類型,優先清理 404、跳轉、被屏蔽這几類。
  2. 對照已發現但尚未抓取的 URL,如果長期排队,先检查抓取量是不是被大量無價值地址占用了。
  3. 對已抓取的頁面,区分哪些進入了索引、哪些被判定為重复或已抓取未编入索引,再回到頁面本身找原因。
  4. 结合服務器日誌,確認蜘蛛是否真的按 sitemap 抓取,還是只抓了首頁和几個热门栏目。

和其他手段如何配合

sitemap 解决的是告知,内鏈解决的是可達,两者缺一不可。一個只有 sitemap、没有内鏈入口的頁面,即便被抓到,也很少被持續回訪;反過来,内鏈结构良好的站点,即使 sitemap 更新慢一些,收錄也不會明顯受影响。至于蜘蛛池之類的做法,影响的是 URL 發現和抓取频次這一层,同样不改變頁面的收錄判定结果。

一份顺序清楚的检查清單

  1. 確認 sitemap 里的地址都返回 200,且 canonical 指向自身。
  2. 剔除跳轉、404、noindex、被 robots 屏蔽的地址。
  3. 剔除參數重复和會话跟踪類地址。
  4. 校驗 lastmod,只在内容真正改變时更新。
  5. 在 robots.txt 中声明 sitemap 地址,並按体量拆分文件。
  6. 提交後按报告清理错誤,再结合日誌观察抓取是否覆盖到目标頁面。

把這些做完,sitemap 才算真正發挥了作用。它不會让收錄快多少,但能帮你少掉很多明明提交了却没有反應的困惑。