Sitemap 常被当成“提交了就會抓”的開關,但它實际提供的是一份候選 URL 清單:抓不抓,仍取决于站点可達性、内鏈權重和抓取预算。如果 Sitemap 里的頁面長期没有出現在抓取日誌中,按下面的顺序排查,通常比繼續往文件里加頁面更有效。
先確認蜘蛛是否真的讀到了文件
- 在服務器日誌中按路径過滤 sitemap.xml 及分片文件,观察是否有搜尋蜘蛛的請求记錄,以及返回碼是否為 200。
- 检查 robots.txt 是否誤屏蔽了 Sitemap 所在目錄,或整体規則拦住了站点頁面,導致文件能提交但内容被挡。
- 確認文件没有啟用登入、驗證碼、浏览器校驗或按 UA 拦截等訪問限制。
- 站点存在多域名、多子域时,核對提交的地址與實际提供内容的地址是否一致。
再检查文件本身能否被正常解析
- 單個文件的 URL 數量建议控制在 5 萬條以内,未压缩体积不超過 50MB,超出應拆分並用 sitemap index 引用。
- XML 需格式正确,标簽閉合、無非法字符,编碼声明與實际编碼保持一致。
- lastmod 使用規范的時間格式並带上时区,長期寫死或频繁無意义地改動,都會削弱它的參考價值。
- 啟用 gzip 压缩时確認响應头設定正确,否則部分抓取端可能直接判定文件损坏。
URL 是否與站点目前狀態一致
- Sitemap 中只放返回 200 的規范 URL,避免混入會 301、302 跳轉或返回 404、410 的地址。
- 同一内容只保留一種形態,尾斜杠、大小寫、參數顺序應與 canonical 及站内連結保持一致。
- 已被 noindex 的頁面不必再放進 Sitemap,两種信号會互相抵消。
- 批量改版後,先確認重定向鏈只有一跳,再同步更新 Sitemap。
内鏈仍然是抓取分配的主要依據
即使 Sitemap 被正常讀取,蜘蛛對頁面的抓取優先級更多来自内鏈结构。可以從两個角度自查:
- 核心頁面能否從首頁或频道頁在 2 到 3 次点击内到達,路径是否唯一且稳定。
- 重要頁面是否只存在于 Sitemap 中,站内没有任何入口,這類頁面被訪問的频率通常偏低。
把 Sitemap 当作补充發現渠道,把内鏈当作主要發現路径,分工清晰之後,抓取覆盖更容易稳定下来。
服務器响應是否拖累了抓取节奏
- 观察抓取高峰期的返回碼分布,5xx 與超时過多會迫使抓取速率被動下降。
- 避免短時間内返回大量 429,速率限制最好與站点實际承载能力匹配。
- 首字节時間過長时,優先優化服務端處理與缓存策略,而不是反复重新提交 Sitemap。
排查顺序建议從“能不能訪問”開始,再到“能不能解析”,最後才是“值不值得抓”。顺序颠倒,容易在错誤的环节反复調整。
一份可执行的排查清單
- 日誌中確認抓取记錄與返回碼
- robots.txt 與訪問權限检查
- Sitemap 格式、体积、编碼校驗
- 抽样 URL 的狀態碼與 canonical 一致性
- 關键頁面的内鏈入口與点击深度检查
- 服務器响應時間與错誤率观察
- 調整後持續观察抓取日誌,再做下一步判断