搜尋抓取

HTML 站点地图與 XML 站点地图:两套入口在 URL 發現里的分工

XML Sitemap 與 HTML 站点地图常被混為一谈,前者更像给搜尋蜘蛛的候選清單,後者是一條真實可走的抓取路径。本文拆解两者的分工、各自容易踩的誤区,並给出與内鏈结构、服務器稳定性配合的排查顺序。

搜尋抓取

HTML 站点地图與 XML 站点地图:两套入口在 URL 發現里的分工

站点地图這個概念常被混着用:有人指的是给搜尋引擎讀的 XML 文件,有人指的是面向訪客的 HTML 頁面。两者在 URL 發現里承担的角色並不一样,把职责分清,抓取路径會顺很多。

XML Sitemap:一份给搜尋蜘蛛的候選清單

XML Sitemap 的作用是补充,不是替代。它告诉搜尋蜘蛛“這些地址存在,可以考虑来抓”,但能否被抓、什么时候被抓,仍取决于服務器响應、頁面质量和其他入口的佐證。

几個容易被忽略的点:

  • 只放規范地址,也就是 canonical 指向的那個,不要让带參數版本和不带參數版本同时出現在文件里。
  • 只放返回 200 的地址,把重定向和 404 留在里面會稀释整份文件的可信度。
  • lastmod 寫真實修改時間,改标题、調模板這類不涉及正文的改動不必刷新它。
  • 文件本身要能被稳定訪問,抓取时超时或返回 5xx,等于這份清單没交上去。

HTML 站点地图:一條真實可走的抓取路径

HTML 站点地图是一個普通頁面,連結是真實的 a 标簽,搜尋蜘蛛能顺着走,用戶也能点。它的價值在于把分散在各處的入口收拢,降低深层頁面被漏掉的概率。

但它不是萬能的:一個頁面上堆几百上千條連結,單條連結能分到的權重被摊薄,靠後的條目未必比通過正文内鏈被發現得更快。更合适的做法是分层——總览頁連結到分類,分類頁再連結到具体條目。

常见誤区一:把 XML Sitemap 当成唯一入口

如果站点除了 Sitemap 之外没有任何内鏈指向某批頁面,這些頁面就接近孤儿 URL。搜尋蜘蛛可能抓到它們,但缺少内鏈和外部引用时,後續回訪容易變得不稳定。Sitemap 更适合做补漏,而不是主要的發現通道。

常见誤区二:HTML 站点地图做成一次性清單

内容一更新,頁面结构就變了,而站点地图頁還停留在几個月前的狀態,点進去全是失效連結。這既浪費抓取,也會让人對整站的维護狀態产生负面判断。把它纳入常規更新流程,或者用程序按分類自動生成,成本都不高。

两套入口怎么配合

一個比較稳的顺序是:

  1. 先確認首頁和主導航能覆盖到所有一級栏目。
  2. 每個栏目頁用正文内鏈覆盖其下的重要内容,形成可走的路径。
  3. 用 HTML 站点地图兜住那些层級深、入口少的頁面。
  4. 用 XML Sitemap 补上分頁、归档、媒体等不容易通過内鏈暴露的地址。
  5. 观察日誌,看哪些入口真的被走過,再决定删减還是补充。

別忘了服務器這一层

再合理的入口设計,也要服務器接得住。抓取高峰时响應變慢、超时率上升,搜尋蜘蛛往往會主動降速,原本能走完的路径會被截断。Sitemap 文件、站点地图頁、栏目頁都属于被訪問频率較高的地址,它們响應不稳,會连带影响整站的抓取节奏。

入口设計解决“能不能被發現”,服務器稳定性解决“發現得顺不顺”。两者缺一個,URL 發現的效率都會打折扣。

最後一句提醒:站点地图不是提交完就結束的動作。内容在變,入口结构也應该跟着變,定期回头看日誌和收錄情况,比一次性把 URL 全塞進文件要有效得多。