站点运营

站点运营:站点地图分片與 lastmod 自查,別让 sitemap 變成過期清單

站点地图是 URL 發現的重要入口,但不少站点的 sitemap 長期無人维護:混入重定向、404、noindex 頁面,lastmod 全站同一時間戳。本文梳理分片規則、lastmod 寫法、常见错誤與自查清單,帮你把站点地图變回一份可信的清單。

站点运营

站点运营:站点地图分片與 lastmod 自查,別让 sitemap 變成過期清單

站点地图是被低估的入口

對蜘蛛来说,站点地图是最省力的 URL 發現方式:不用一层层翻導航,就能拿到一份現成的清單。但這份清單的價值完全取决于它的准确性。一份混着重定向、404、noindex 頁面、lastmod 全是同一時間戳的 sitemap,不但帮不上忙,還會让蜘蛛對整站质量打折扣。

哪些 URL 才该進 sitemap

原則只有一條:你想让搜尋引擎收錄、並且确實允许收錄的頁面。落到具体判断上:

  • 返回 200,且没有 meta robots 或响應头里的 noindex;
  • canonical 指向自己,而不是指向別的 URL;
  • 不是登入頁、购物车、站内搜尋结果頁、带一堆參數的篩選頁;
  • 移動端和 PC 端用同一個 URL,不需要重复列出;
  • 分頁列表一般只列第一頁,不要把翻頁全部铺開。

反過来,重定向 URL、410、软 404、robots.txt 里 Disallow 的路径,都不该出現在站点地图里——寫進去只會制造互相矛盾的信号。

分片:別把所有 URL 塞進一個文件

單個 sitemap 文件有硬性上限(通常约 5 萬條 URL 或 50MB 未压缩体积),超過就要拆成多個文件,再用一個 sitemap 索引文件把它們串起来。分片建议按用途切,而不是按數量平均分:

  • 按内容類型:文章、商品、图集、专题各一個分片,出問题时好定位;
  • 按更新時間:把最近更新的内容單獨放一個分片,方便優先提交和观察;
  • 索引文件只放分片地址,不要混進具体頁面 URL。

分片文件的路径要稳定,不要每次生成都換一套随机地址——蜘蛛记不住,歷史抓取資料也没法纵向對比。

lastmod 是最容易被寫坏的一栏

很多站点生成 sitemap 时,直接把 lastmod 寫成生成時間,全站几千條 URL 時間戳一模一样。後果是:搜尋引擎會降低對這一栏的信任,之後你再認真更新,它也未必当真。

比較稳妥的做法,是让 lastmod 對應内容真正發生實质變化的時間——正文改動、标题調整、结构化資料补充都算;僅僅換了广告位、調了模板样式、改了頁脚,不算。如果内容确實没變,就別為了“看起来新鲜”去改時間。

站点地图只是提交线索,不是收錄保證。提交之後,仍要靠内容质量、站内連結和服務器稳定性,来决定抓取與索引的结果。

提交與观察

把索引文件地址寫進 robots.txt 的 Sitemap 指令,同时在搜尋资源平台里手動提交。此前各平台提供的 ping 自動通知接口近年陆續調整或停用,不建议把流程押在單一自動机制上,重点還是让 sitemap 本身准确、稳定。

之後在服務器日誌里观察各分片的抓取情况:抓取频率是否正常、返回碼是否為 200、有没有 5xx 或超时。如果某個分片長期無人問津,先查它的内容质量和入口價值,而不是反复重新提交。

一份可以照着做的自查清單

  1. 抽查 20 條 URL,確認全部返回 200、可索引、canonical 自指;
  2. 检查 sitemap 中是否混入重定向、410、noindex、Disallow 路径;
  3. 確認 lastmod 分布合理,不存在全站同一時間戳;
  4. 確認單文件未超上限,索引文件只引用分片;
  5. 確認 robots.txt 里的 Sitemap 地址可訪問、没有多余跳轉;
  6. 對比日誌抓取量與實际更新量,判断分片切法要不要調整。

站点地图花不了多少時間,却是少數能被蜘蛛直接讀取的“自述文件”。把它维護干净,往往比多寫几篇内容更容易看到效果。