先分清两種站点地图
XML 站点地图是给爬虫讀的,通常放在根目錄,站点變大後用索引文件分片提交;HTML 站点地图頁是给人和爬虫一起看的普通頁面,一般放在頁脚或主導航的次要位置,路径常见為 /sitemap/ 或 /sitemap.html。两者不冲突,也不是二選一:前者负责把 URL 清單准确地交出去,後者负责让訪客在结构里迷路时找到方向,顺带用文字連結把重要入口再串一遍。
如果站里只做了 XML 地图,頁面层面没有任何總览,訪客走進深层栏目容易断线;如果只做了 HTML 頁面而没有 XML,站点規模一大,URL 的提交和维護就會變得很吃力。
頁面里该放什么
核心原則是「少而准」,不是把全站地址複製一遍。
- 主要栏目和一級入口:首頁之外的重点频道、分類,按结构顺序列出,名稱用訪客能讀懂的栏目名,不要直接丢英文缩寫或路径。
- 常年有效的重要内容:帮助中心、政策條款、關于我們、联系方式這類長期需要的頁面。
- 對訪客有實际價值的聚合入口:专题頁、资料匯總、常见問题總入口。
列表顺序建议跟站点的真實结构一致,別一會儿按拼音、一會儿按更新時間。訪客和爬虫都需要一條能预期的路径。如果栏目很多,可以先列一級,再在各自的栏目頁里做二級導航,而不是把所有层級都摊在一個頁面上。
列表長度與更新节奏
有没有一個「正确條數」?没有硬标准,但一個頁面塞几千條連結,對訪客来说是灾难,對爬虫来说也容易變成低價值的大連結堆。比較稳妥的做法是:把稳定、重要的入口留在頁面上,動態更新的内容交给 XML 地图和正常的栏目列表。
更新上,HTML 站点地图頁不需要每天改。栏目調整、重要頁面新增或下线时同步一次就够了。可以在頁面顶部寫一句简短的說明,注明這份索引最近一次整理的時間。
几個容易忽略的细节
- 連結文字用描述性文字,不要清一色寫「点击這里」或「更多」。
- 尽量用真實的可点击連結輸出,不要全靠脚本在客戶端生成,否則部分抓取工具拿不到内容。
- 按栏目分组时加小标题,让長列表有段落感,訪客能快速掃讀。
別把它做成垃圾桶
實践中常见的問题有這几類:
- 只挂几個栏目,和主導航完全重复,頁面没有任何額外信息量。
- 長期不维護,里面全是已经刪除或改名的舊地址,變成死鏈集合。
- 把标簽頁、站内搜尋结果頁、带排序參數的連結一並堆進来,等于把一堆可抓可不抓的地址推到了眼前。
- 以為放了這一頁就一定會被收錄。它只是入口,是否收錄仍由搜尋引擎判断。
和頁脚全站連結怎么分工
頁脚連結每個頁面都有,用来给全站提供基础入口,條目要克制;HTML 站点地图頁只有一頁,可以承载稍多一些的结构說明和分類導航。两者有重叠没關系,但不要指望靠堆連結改變抓取结果。真正起作用的,還是站点本身结构清晰、重要頁面有合理的内鏈路径。
一份可以落地的清單
- 確認站点是否已有 HTML 站点地图頁,頁脚或「關于」区域是否有入口。
- 對照目前栏目结构,删掉失效連結,补上新增的重要入口。
- 检查頁面本身的标题、描述和 H1 是否清楚,別只寫「網站地图」四個字。
- 確認頁面能被正常抓取,没有被 robots.txt 或頁面元标簽誤挡。
- 把這一頁纳入季度性的结构检查,和栏目規划一起過一遍。
站点地图頁解决的是「找不到入口」的問题,解决不了「内容本身没價值」的問题。