站点地图(sitemap)常被当成一次性任務:建站时生成一份,提交上去,然後几年不管。但站点结构、栏目和内容都在變,一份長期不更新的站点地图,慢慢就會變成“過期清單”——里面留着已下线的頁面,缺着新增的栏目,lastmod 時間還停在上线那天。它不會立刻引發什么故障,却會让搜尋引擎在判断“這個站最近有什么新東西”时缺少可靠依據。
先明确站点地图的定位
站点地图的作用是辅助發現,而不是替代抓取和索引判断。它告诉爬虫“這些地址存在,大致什么时候變過”,但頁面能不能被索引、以什么位置出現,仍然取决于内容质量與站内结构。因此自查的目标不是把 URL 數量做大,而是让這份清單和站点現状保持一致。
自查一:里面放的是不是值得被索引的地址
- 只保留返回 200、且允许被索引的頁面,把被 robots 屏蔽、需要登入、带 noindex 的地址剔除。
- 篩選、排序、站内搜尋结果這類參數组合頁不要批量塞進去,它們數量巨大且内容重复。
- 草稿、预览、測試域名、内部後台地址一律不進。
- 已下线的老頁面如果是 404 或 410,直接從地图里删掉,而不是留着等失效。
自查二:lastmod 是否说了實话
不少程序生成地图时會统一寫入生成時間,结果所有頁面的 lastmod 都是“今天”,這個字段也就失去了參考價值。比較稳妥的做法是:只有正文内容發生實质修改时才更新 lastmod,模板調整、广告位變化、评论区新增不在此列。如果做不到精确,宁可省略该字段,也不要用批量刷新的時間凑數。
自查三:分片與規模
單份地图文件建议控制在 5 萬條 URL、未压缩 50MB 以内,超出後拆成多個分片,並用索引文件统一列出。分片不要随便切,可以按栏目或内容類型划分,這样日後某個栏目整体調整时,只需重新生成對應分片即可。
如果站点有多個子域或獨立板块,可以考虑分別生成,便于定位問题,也便于在站長平台里單獨观察資料變化。
自查四:和站点其他配置保持同步
- 地图地址要在 robots.txt 中声明,路径別寫错,协议和域名也別漏。
- 改版、換域名、栏目下线之後,地图要跟着重新生成,別留着舊域名的地址。
- 站点若有新闻、视频或图片内容,可以額外生成對應的专用地图,但基础地图仍要维護好。
- HTTPS 與 HTTP、带 www 與不带 www 之間只保留一種形式,地图里不要混用。
自查五:驗證不能只看“已提交”
在站長平台看到“已提交”,只說明文件被讀取了,不代表其中地址被處理。可以结合三点判断:一是服務器日誌里地图文件是否被定期抓取;二是地图中的新頁面是否在合理時間内出現在抓取日誌里;三是抽查若干地址,確認狀態碼正常、内容可訪問。如果某個新栏目長期没動静,問题往往不在蜘蛛,而在站内缺少入口或地图没更新。
一個可持續的维護节奏
- 内容發布後由程序自動增量更新地图,减少人工遗漏。
- 每月做一次抽样检查,看 lastmod、狀態碼、域名形式是否正常。
- 每次改版、栏目調整、批量下线内容後,手動重新生成一次全量地图。
- 每季度复盘一次:地图里哪些地址長期没有抓取,是没入口,還是已经被忽略。
站点地图不是提交得越多越好,它是给爬虫看的一份目錄。目錄和實际货架對不上,找東西的人只會更費劲。
把站点地图当成一份需要定期核對的清單,而不是一次性的提交動作,工作量其實不大:多數环节可以自動化,剩下的就是在每次结构調整时顺手更新。它带来的好處未必是立竿见影的排名變化,而是让站点在“被發現”這一环少出岔子。