很多站点的 sitemap.xml 是建站那天由插件自動生成的,之後就再也没人打開看過。栏目加了、文章下线了、URL 規則換過了,這份文件却還停留在原来的样子。它不會报错,也不會让頁面打不開,但會悄悄影响搜尋引擎對站点结构的判断。
sitemap 是给蜘蛛看的路线图
站点地图的作用说起来简單:告诉搜尋引擎你的站上有哪些 URL 值得去看,尤其是那些藏在深层、不容易被連結發現的頁面。它不是收錄的保證,只是一個提交线索的入口,最终抓不抓、收不收,决定權仍在搜尋引擎那邊。
正因為如此,這份清單的质量就很關键。如果里面混進了大量已下线的地址、带篩選參數的组合連結、甚至測試环境的頁面,蜘蛛按图索骥跑過去,看到的是一堆 404 或者空白頁,抓取预算就在這些無效訪問里被消耗掉了。
常见的几類問题
- 文件長期不更新,新栏目和新文章根本没有寫進去;
- 里面塞了几萬條 URL,其中大部分是翻頁和篩選參數;
- 包含了被 noindex 的頁面、登入頁、後台地址;
- 同一個頁面出現多個版本,比如带 www 和不带 www 各寫一遍;
- sitemap 索引文件里列出的子文件已经打不開。
一次完整的自查流程
- 先看 robots.txt 里声明的 sitemap 地址是否正确、能否正常訪問;
- 從文件里抽样若干個 URL 實际跑一遍,观察返回的狀態碼;
- 核對清單條數與後台實际内容量,差距過大就要找原因;
- 检查是否混入了本该被屏蔽或标记為不索引的地址;
- 確認 lastmod 時間是否真實,不要每次生成都刷成当天;
- 大站用索引文件拆分,單個文件控制在五萬條以内。
几個容易忽略的细节
先说 lastmod。有些 CMS 插件會在頁面有任何改動时重寫這個字段,如果只是換了個邊栏广告、調了下模板,時間也被刷成最新,蜘蛛對比几次之後就不太愿意信任這個信号了。理想情况下,它應该反映正文内容的真實變更時間。
再说 URL 轉义。地址里带中文或者特殊字符时,要按規范做编碼處理,否則解析這一步就可能出問题。同样值得检查的還有协议和域名的一致性,http 與 https、主域名與別名域名之間,最好只保留一個版本。
另外,分頁、标簽聚合頁、搜尋结果頁要不要進 sitemap,需要有個明确態度。全部塞進去,等于把抓取预算摊薄;一條不放,又可能让真正有價值的列表頁缺少入口。通常的做法是只保留主干栏目和優质内容,其余的交给内鏈去發現。
sitemap 不是越全越好,它應该是一份经過篩選、能真實反映站点重点内容的清單。
多久核對一次
栏目調整、批量上下线、改版迁移之後,都應该顺手看一遍。平时可以每月抽查几條,重点確認新上线的栏目有没有被正确纳入,已下线的部分有没有及时清掉。如果站点規模不大,手動维護一份也不算负担。
判断标准其實很简單:如果這份文件能让一個完全不了解你網站的人,按着它走完主要内容,中間不撞上空頁面,那它就是合格的。