搜尋抓取

给蜘蛛多留一條路:HTML 站点地图、归档頁與订阅入口怎么用

站内連結和 XML Sitemap 之外,站点還可以准备第二條 URL 發現通道:HTML 站点地图、归档頁、标簽聚合與 RSS 订阅入口。本文讲清這些入口分別适合什么场景、怎么落地,以及翻頁上限、參數收敛、入口可達性等容易踩的坑。

搜尋抓取

给蜘蛛多留一條路:HTML 站点地图、归档頁與订阅入口怎么用

蜘蛛發現新 URL 主要靠两條线:站内連結和 XML Sitemap。但不少站点會卡在“連結挖不到、Sitemap 又不够用”的中間地带——内容藏在列表頁深處、只在某個模块短期出現、或者压根没有稳定入口。這时候补一條“第二條發現通道”,往往比反复提交 Sitemap 更實际。

什么情况下需要第二條通道

  • 新内容上线後首頁和栏目頁更新不及时,連結要等下一次改版才出現
  • 内容层級偏深,從首頁点進去要五六层
  • 部分連結只在搜尋框、表單或前端交互之後才出現
  • 内容有生命周期,活動頁、专题頁下架後入口随之消失
  • XML Sitemap 里 URL 很多,但看不出哪個更值得先抓

常见的几種入口形式

這些入口本质都是“人工可维護的 HTML 連結列表”。蜘蛛顺着静態 HTML 連結走,比依赖脚本或參數跳轉更稳,也更容易在日誌里观察到。

  • HTML 站点地图:一頁列出主要内容頁
  • 按時間或分類的归档頁:形成稳定的時間轴
  • 标簽、主题聚合頁:把同主题内容聚在一起
  • RSS / Atom 订阅源:輸出最近更新的清單
  • 最新更新模块與相關阅讀、上下篇連結

HTML 站点地图的實操细节

结构與位置

  • 用 ul / li 輸出纯連結,不要等脚本执行後再拼接
  • 在頁脚放一個全站可见的入口,保證任何頁面都能較快到達
  • 入口地址保持固定,例如 /sitemap.html,尽量不带參數
  • 連結文字用真實标题,避免“点击這里”這類無意义文字

内容與規模

  • 單頁連結過多时按分頁拆分,並在各頁之間互相連結
  • 優先放内容頁,功能頁、搜尋结果頁不必列入
  • 更新不必實时,但要有稳定节奏,比如每天或每周
  • 與 XML Sitemap 保持大致一致,避免两套口径互相矛盾

归档頁與聚合頁的取舍

归档頁的價值在于時間轴稳定,蜘蛛能顺着翻頁持續發現歷史内容。但要注意几個副作用:

  • 無限翻頁會让抓取在列表里打轉,建议設定翻頁上限,早期内容由分頁归档承接
  • 篩選、排序參數不要出現在归档連結里,否則容易滚出大量近似 URL
  • 同一内容同时出現在分類、标簽、時間三種归档时,選一條主路径並用 canonical 收敛
  • 只收錄极少内容的标簽頁,可以考虑合並成主题頁,而不是每個标簽都單獨做一頁

RSS 與订阅入口

RSS / Atom 是一條轻量的“最新内容清單”,适合更新频繁、栏目較多的站点。它不替代 Sitemap,但能让近期 URL 多一次曝光机會。建议只輸出标题、摘要和連結,不要輸出全文;feed 地址保持稳定,不要每次重新生成一個新地址。

落地检查清單

  1. 用無痕窗口從首頁出發,看能否在較少点击内到達任一内容頁
  2. 查看源碼,確認關键入口是静態 HTML,而不是渲染後才出現
  3. 確認 HTML 站点地图、归档頁、feed 都返回正常狀態碼且未被 robots 挡住
  4. 核對 Sitemap 與頁面實际連結,清理已失效地址
  5. 观察服務器日誌中這些入口頁的抓取情况,判断是否真的被走到
入口頁本身不需要排名,它的作用是“把路修通”。判断标准不是它带来多少流量,而是蜘蛛有没有顺着它走下去。

第二條通道只是提高被發現的概率,並不等于一定被抓,更不等于收錄。真正起作用的還是内容是否值得保留、站点是否稳定可訪問。把入口做清楚、把重复收敛好,剩下的交给時間和抓取节奏。