很多站点把 sitemap 当成收錄開關:提交上去,等几天,没動静就反复重传、拆分、改格式。實际上 sitemap 只是URL 發現的一個补充入口,它告诉搜尋引擎“這里有哪些地址”,既不保證抓取,也不保證索引。把它的位置搞清楚,能省下大量無效動作。
sitemap 解决的是“知道”,不是“收錄”
搜尋引擎發現 URL 的路径大致有:站内連結、外鏈、重定向、sitemap,以及站長平台的手動提交。sitemap 的優势是覆盖面全,可以包含正文里没有入口的頁面;劣势是它几乎不携带權重和上下文信息——一個只在 sitemap 里出現的 URL,和正文中被多次引用的 URL,抓取優先級並不相同。
所以出現“提交了但没收錄”,先別急着改 sitemap 格式,先確認這個 URL 在站内是否還有其他正常入口。
几個常见的用法誤区
- 把所有能想到的 URL 全塞進去,包括篩選參數頁、重复内容頁、分頁的深层頁
- 提交後從不更新 lastmod,或者每次生成都刷成目前時間
- 用 sitemap 去“推”被 noindex 或被 robots.txt 屏蔽的頁面
- 文件里的 URL 與實际返回的 URL 不一致,比如 http 與 https、带不带 www、路径结尾有没有斜杠
- 只想靠 sitemap 让一批低质量頁面被收錄,却不動正文和内鏈
lastmod 要真實,不要当作催促按钮
lastmod 是给抓取調度參考的信号。如果每次生成 sitemap 都把它改成当天時間,搜尋引擎很快就會学會忽略這個字段,之後真實更新也未必被重视。合理的做法是:内容發生實质變更时更新,模板調整、導航改動、广告位轮換不算。時間格式建议用規范寫法並带上时区。
分片與体积的基本约束
單個 sitemap 文件一般不要超過 5 萬條 URL,未压缩体积控制在 50MB 以内;超出就分片,再用索引文件(sitemap index)串起来。分片最好按内容類型或目錄划分,而不是按時間随机切——哪一组出問题,一眼就能看出来。
另外,文件里只放你希望被抓取、返回 200 的規范 URL。重定向、404、noindex 頁面混進去,只會让报告變得更难讀。
提交之後该看什么
- 抓取日誌:文件里的 URL 有没有被訪問、訪問频率如何、集中在哪些目錄
- sitemap 报告:是否有解析错誤,實际被讀取的條數與提交條數差多少
- 索引报告:是“已编入索引”還是“已發現但未抓取”,這两種狀態的處理方向完全不同
- 抽样检查:随机挑几條,確認正文入口、canonical、返回碼都正常
“已發現但未抓取”通常說明站点整体抓取资源紧張,或頁面優先級偏低。這时要處理的是站点结构和内容质量,再提交一次 sitemap 基本没用。
哪些問题靠 sitemap 解决不了
- 頁面本身内容單薄,或與站内大量頁面高度重复
- 頁面需要登入、依赖交互才能看到正文
- 站点整体可抓取性差,比如大量超时和 5xx
- URL 被 robots.txt 或 noindex 有意挡住
- URL 结构混乱,同一内容存在多個版本
這些都属于抓取與索引判断层面的問题。sitemap 只是一份“名單”,改變不了名單背後頁面的實际情况。
sitemap 的作用是让搜尋引擎更省力地找到 URL,而不是让它必须收錄。發現、抓取、索引是三件事,前一步做完,不等于後一步會自動發生。