站点地图這個概念常被混着用:有人指的是给搜尋引擎讀的 XML 文件,有人指的是面向訪客的 HTML 頁面。两者在 URL 發現里承担的角色並不一样,把职责分清,抓取路径會顺很多。
XML Sitemap:一份给搜尋蜘蛛的候選清單
XML Sitemap 的作用是补充,不是替代。它告诉搜尋蜘蛛“這些地址存在,可以考虑来抓”,但能否被抓、什么时候被抓,仍取决于服務器响應、頁面质量和其他入口的佐證。
几個容易被忽略的点:
- 只放規范地址,也就是 canonical 指向的那個,不要让带參數版本和不带參數版本同时出現在文件里。
- 只放返回 200 的地址,把重定向和 404 留在里面會稀释整份文件的可信度。
- lastmod 寫真實修改時間,改标题、調模板這類不涉及正文的改動不必刷新它。
- 文件本身要能被稳定訪問,抓取时超时或返回 5xx,等于這份清單没交上去。
HTML 站点地图:一條真實可走的抓取路径
HTML 站点地图是一個普通頁面,連結是真實的 a 标簽,搜尋蜘蛛能顺着走,用戶也能点。它的價值在于把分散在各處的入口收拢,降低深层頁面被漏掉的概率。
但它不是萬能的:一個頁面上堆几百上千條連結,單條連結能分到的權重被摊薄,靠後的條目未必比通過正文内鏈被發現得更快。更合适的做法是分层——總览頁連結到分類,分類頁再連結到具体條目。
常见誤区一:把 XML Sitemap 当成唯一入口
如果站点除了 Sitemap 之外没有任何内鏈指向某批頁面,這些頁面就接近孤儿 URL。搜尋蜘蛛可能抓到它們,但缺少内鏈和外部引用时,後續回訪容易變得不稳定。Sitemap 更适合做补漏,而不是主要的發現通道。
常见誤区二:HTML 站点地图做成一次性清單
内容一更新,頁面结构就變了,而站点地图頁還停留在几個月前的狀態,点進去全是失效連結。這既浪費抓取,也會让人對整站的维護狀態产生负面判断。把它纳入常規更新流程,或者用程序按分類自動生成,成本都不高。
两套入口怎么配合
一個比較稳的顺序是:
- 先確認首頁和主導航能覆盖到所有一級栏目。
- 每個栏目頁用正文内鏈覆盖其下的重要内容,形成可走的路径。
- 用 HTML 站点地图兜住那些层級深、入口少的頁面。
- 用 XML Sitemap 补上分頁、归档、媒体等不容易通過内鏈暴露的地址。
- 观察日誌,看哪些入口真的被走過,再决定删减還是补充。
別忘了服務器這一层
再合理的入口设計,也要服務器接得住。抓取高峰时响應變慢、超时率上升,搜尋蜘蛛往往會主動降速,原本能走完的路径會被截断。Sitemap 文件、站点地图頁、栏目頁都属于被訪問频率較高的地址,它們响應不稳,會连带影响整站的抓取节奏。
入口设計解决“能不能被發現”,服務器稳定性解决“發現得顺不顺”。两者缺一個,URL 發現的效率都會打折扣。
最後一句提醒:站点地图不是提交完就結束的動作。内容在變,入口结构也應该跟着變,定期回头看日誌和收錄情况,比一次性把 URL 全塞進文件要有效得多。