站点地图(sitemap)是站点主動告诉搜尋引擎“我這里有哪些地址”的通道之一。它不能保證收錄,也不能让抓取量凭空變多,但能把新頁面和更新過的頁面更快地摆到蜘蛛面前。如果文件本身寫得随意,反而會给抓取带来額外干扰。下面按寫什么、怎么寫、怎么维護三块做一次自查。
一、先明确站点地图里该放什么
站点地图是给搜尋引擎看的地址清單,不是站点導航的备份。它的核心是“我愿意被索引的規范 URL”。
只放可訪問、可索引的地址
- 返回 200 狀態碼、内容能正常打開的頁面。
- 经過 canonical 確認的主地址,不要把带追踪參數、带會话 ID 的版本一並寫進去。
- 被 robots.txt 屏蔽或頁面带 noindex 的地址不要放,否則規則互相矛盾。
- 登入後才可见的頁面、购物车、站内搜尋结果頁、後台地址一律排除。
lastmod 要寫真實時間
如果清單里所有 URL 的 lastmod 都是同一时刻,或者每次生成都刷成目前時間,搜尋引擎會逐渐忽略這個字段。宁可只给确實改動過的頁面寫日期,也不要把全站時間统一刷新。時間格式按規范寫全,带时区偏移更稳妥。
二、文件本身要能被正常讀取
编碼與格式
- 使用 UTF-8 编碼,XML 声明與實际编碼保持一致。
- URL 中的中文、空格等特殊字符要按 XML 規則轉义,不能直接出現保留符号。
- 文件体积較大时開啟 gzip 压缩,能减少传輸開销。
分片與索引文件
單個文件建议不超過 5 萬條 URL、未压缩不超過 50MB。超過就分片,並用 sitemap index 列出所有子文件。分片後要逐個確認子文件可訪問,別出現某個分片返回 404 的情况。子文件的命名保持規律,便于以後排查。
提交位置
- 在 robots.txt 里用 Sitemap 指令声明地址。
- 同时在搜尋资源平台的站長工具中提交。
- 核對域名、协议(http 或 https)、www 與非 www 是否與站点實际訪問一致。
三、维護节奏與驗證
什么时候更新
- 批量發布新内容之後。
- 栏目结构調整、URL 規則變更之後。
- 重要頁面大幅改版之後。
- 定期全量生成一次,作為兜底,频率视更新量而定。
怎么驗證清單是否可信
- 直接訪問 sitemap 地址,確認返回 200 且内容為合法 XML。
- 随机抽查若干 URL,確認可正常打開、不是重定向跳轉、頁面没有 noindex。
- 把清單中的 URL 數量與站内實际可索引頁面數對比,差异過大要查找原因。
- 對照服務器日誌,看蜘蛛是否按预期抓取了清單里的地址,以及抓取後的狀態碼分布。
站点地图是提名,不是錄取。它把候選地址交出去,是否抓取、是否索引仍由搜尋引擎判断。
最後一点:站点地图不要長期放着不管。站点结构變了、URL 規則改了,舊清單里的地址就會變成 404 或重定向,反過来增加抓取负担。把生成和校驗纳入日常流程,比一次性寫完更管用。