站点地图(sitemap)是網站主動递给搜尋引擎的一份地址清單。它不保證頁面被收錄,也不直接影响排名,但能帮助蜘蛛更快發現新連結、了解頁面的更新节奏。問题往往出在後續:很多站点的 sitemap 在生成那一刻是准确的,之後長期没人管,慢慢變成一份與實际站点脱节的清單。蜘蛛照着走了几趟發現對不上,這份文件的可信度就會下降。
一、sitemap 是怎么慢慢“過期”的
- 改版後老連結没同步移除,表里還留着已经 404 或被 301 的地址。
- 新發布的栏目和文章靠手動补錄,漏掉一批,發布時間越久缺口越大。
- lastmod 被程序批量刷成当天,與實际改動時間對不上。
- 分頁、标簽聚合、篩選參數頁全部塞進去,地址數量虚高,真正有價值的部分被稀释。
- sitemap 文件本身能返回 200,但内容是空的,或者條數超出限制被截断。
- 多語言、多终端版本只提交了一部分,另一半依靠蜘蛛自己摸索。
這些問题單獨看都不致命,叠在一起就會让蜘蛛把有限的抓取時間花在無效地址上。
二、内容取舍:放什么,不放什么
站点地图不是越全越好。它的作用是提高發現效率,而不是把站内所有能点開的連結都登记一遍。
- 建议放入:正文頁、栏目頁、有獨立内容價值的服務頁或产品頁。
- 谨慎放入:标簽聚合頁、分頁第二頁之後、篩選结果頁。這類頁面數量容易膨胀,且内容高度重复,放進去之前先想清楚它們是否有獨立價值。
- 不建议放入:登入註冊、购物车、站内搜尋结果、必须带參數才有内容的頁面。
一個判断方法:如果這個地址被單獨打開,用戶看到的是一個能獨立阅讀的頁面,那它大概率值得進表;如果打開後只是一堆連結的堆叠,或者跳到別的頁面,就该再考虑一下。
三、可执行的自查清單
- 直接在浏览器訪問 sitemap 地址,確認能正常打開、返回的是 XML 内容,而不是错誤頁或跳轉頁。
- 抽查 20 到 30 條 URL,逐條看狀態碼是否為 200,地址寫法是否與頁面實际地址完全一致,包括协议、是否带 www、结尾斜杠。
- 對照服務器日誌里蜘蛛的訪問记錄,看它是否真的来讀過這份文件,讀完之後是否顺着里面的地址爬取。
- 核對 lastmod 字段,只在正文有實质改動时更新,日期改而内容没變属于無效信号。
- 检查單個文件的條數與体积是否在限制范围内,超出就拆成多個文件並用索引文件匯總。
- 確認 robots.txt 中声明的 Sitemap 地址與實际路径一致,別指向一個已经废弃的舊文件。
四、把维護放進日常流程
與其隔半年想起来才整理一次,不如把 sitemap 生成挂到内容發布流程里:新頁面上线的同时自動進表,頁面下线或改地址时自動移除。這样表里的内容始终跟着站点走,不需要額外的记忆成本。
另外可以给自己定两個检查节点:一是每次站点改版或栏目調整之後,二是每季度一次常規抽查。抽查不需要全量校驗,随机取几十條看狀態碼和地址一致性,通常就能發現系統性問题。
站点地图的價值不在于條目多,而在于每一條都還能走得通。一份干净、及时、地址准确的清單,比一份塞满歷史遗留地址的大表更有用。