很多站点的 sitemap 是從後台一键生成的,生成逻辑往往是「所有發布狀態的内容都放進去」。時間一長,這份清單里就會混進重定向地址、已经下线的頁面、被 noindex 标记的頁面,甚至一堆带參數的篩選頁。它本身不會直接让收錄變差,但會让核對工作變难:拿一份不干净的地图去找路,很容易被带偏。
先明确 sitemap 的角色
sitemap 的作用是告诉搜尋引擎「這些地址存在,可以来看看」,它是一個發現入口,不是收錄開關,也不是质量背书。放進去不等于會被抓取,被抓取也不等于會被索引。所以清單的第一原則是:只放你希望被人直接打開、並且内容獨立完整的頁面地址。
逐類清掉不该出現的地址
會跳轉的地址
如果某個地址 301 到另一個地址,sitemap 里應该寫最终落地的那一個。留着跳轉地址會多消耗一次抓取,也容易让索引里出現两條指向同一内容的记錄。
返回 404 或 410 的地址
内容下架、商品刪除之後,地址往往還留在清單里。用抓取工具批量跑一遍狀態碼,把非 200 的挑出来。注意区分 404 和 5xx:5xx 可能是服務器临时問题,不要急着删,先复查一次。
带 noindex 的頁面
這類頁面最容易被忽略:地址能打開、返回 200,但頁面头部明确寫了不索引。既然不希望它進索引,就没有必要繼續在 sitemap 里提交,两邊信号相互矛盾,核對时也容易算错分母。
篩選、排序、分頁參數产生的地址
參數组合可以生成遠超實际内容量的地址。先给參數分個類:影响内容的參數(如分類、頁碼)可以保留一部分;纯粹用于排序、追踪、會话的參數,通常不需要進 sitemap。
需要登入、地区限制或本身就是接口的地址
抓取端拿不到内容,提交上去只會浪費額度,也容易在日誌里制造無意义的错誤记錄,干扰後續排查。
地址寫法要和站内實际連結一致
- 大小寫:站内連結用小寫,sitemap 里就不要寫成大寫。
- 协议與域名:统一成一種寫法,不要 http 與 https、带 www 與不带 www 混着寫。
- 结尾斜杠:目錄形式和文件形式的寫法分開,別让同一個頁面两種形態都出現。
這些看起来是小事,但核對时同一個頁面出現两條记錄,統計數字就對不上,判断也會跟着错。
按類型拆分成多份,方便定位問题
把 sitemap 拆成内容頁、分類頁、专题頁等几份,每份控制在合理數量。好處是出問题时能快速缩小范围——是某一份整体表現差,還是零散几個地址的問题。再保留一份索引文件把這些子文件串起来即可。
核對後的處理方式
- 把清單導出成表格,加上狀態碼、是否可索引、最後修改時間几列。
- 重定向地址替換成最终地址,其余非 200 的地址直接移除。
- noindex 頁面移除,並確認指向這批頁面的站内連結入口是否也要調整。
- 重新提交後,隔一段時間看抓取日誌里這些地址的出現频率,確認舊地址没有繼續被大量請求。
清理 sitemap 不會立刻带来收錄變化,它的價值在于让判断有據可依:清單干净了,收錄數字的波動才更容易归因到内容或结构上,而不是被一堆無效地址干扰。
一個容易被忽略的循环
如果站内連結還在指向那些已经重定向或下线的地址,sitemap 清理完了,抓取端依然能從頁面里爬到它們。所以清單核對最好和站内連結检查一起做,两邊保持一致,才算真正收口。