站点地图(sitemap)是最省事的“URL 清單”提交入口,也最容易被当成垃圾桶:建站时生成的規則一挂就是几年,分類頁、标簽頁、被 noindex 的頁面、带參數的篩選结果全都在里面。清單越脏,搜尋引擎越难判断哪些頁面值得優先處理。核對 sitemap 的意义不在于提交得更多,而在于让清單和“你真正希望被索引的頁面集合”尽量重合。
先明确 sitemap 應该放什么
一個實用的判断标准:這個 URL 能否直接訪問、是否返回正常狀態碼、正文對用戶是否有價值、是否没有被 robots 或 meta 指令挡在索引之外。四條都满足,才适合留在清單里。
- 可訪問:返回 200,不是重定向鏈、不是 404/410,也不是软 404 式的空结果頁;
- 可索引:没被 noindex、没被 robots.txt 屏蔽、没有指向其他 URL 的 canonical;
- 有獨立價值:正文、參數、列表内容與其他頁面有實质差別;
- 是規范版本:http/https、www 與非 www、大小寫、末尾斜杠都统一到同一個形態。
哪些 URL 最常被誤放進来
按出現频率從高到低,大致是這几類:
- 篩選、排序、分頁产生的參數组合,尤其是多维篩選;
- 站内搜尋结果頁、空结果頁、降級兜底頁;
- 已被 canonical 合並的重复版本,如打印頁、带追踪參數的分享連結;
- 登入後、购物车、訂單等需要會话才能打開的頁面;
- 已经下线但仍留在生成規則里的舊栏目、舊商品。
這些 URL 即便被抓取,也很难進入索引,却會占用抓取资源,還會让报表里的“已發現未索引”數量虚高,干扰你對真實問题的判断。
lastmod 不能随便寫
lastmod 是抓取調度的參考信号之一。如果每次生成 sitemap 都把時間刷成目前時間,或者用构建時間代替内容更新時間,這個字段就失去区分度:所有頁面看起来都在變,等于都没變。
可用的做法是让 lastmod 對應正文的實际變更,例如内容管理系統里的更新時間字段;模板改動、样式調整不要寫進去。
同理,priority 與 changefreq 現在的參考價值有限,與其填一堆没有依據的值,不如把精力放在清單准确性和 URL 規范上。
核對顺序建议
- 導出目前 sitemap 的全部 URL,按模板分组統計數量,先看哪一類占比異常;
- 抽取每類若干样本,實测狀態碼、canonical、robots 指令,確認是否可索引;
- 對照站内連結和真實流量入口,確認清單里的 URL 都能從站内正常点到;
- 剔除不该提交的類別,改在生成規則层面過滤,而不是只改這一次的文件;
- 检查 lastmod 的取值来源,确保它跟着正文更新走;
- 重新提交後,按模板分组观察索引狀態變化,而不是只看總數。
拆分與体量
清單較大时按類型分片(文章、商品、分類),便于單獨排查和單獨提交,也方便出現問题时快速定位到某一類。分片文件同样要保證里面的 URL 都合格,不能因為“先提交上去看看”就放宽标准。
提交之後看什么
sitemap 只是發現渠道之一,提交不等于收錄。合理的观察方式是:對比提交前後同類頁面的抓取频次與索引狀態變化。如果没有變化,回头检查清單本身是否被過滤、URL 是否可訪問、内容是否足够獨立。把 sitemap 当成一份需要定期维護的资产,每次改版、上线新模板、調整 URL 结构时都回头看一眼,比一次性提交一大批連結更有效。