蜘蛛發現新 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 地址保持稳定,不要每次重新生成一個新地址。
落地检查清單
- 用無痕窗口從首頁出發,看能否在較少点击内到達任一内容頁
- 查看源碼,確認關键入口是静態 HTML,而不是渲染後才出現
- 確認 HTML 站点地图、归档頁、feed 都返回正常狀態碼且未被 robots 挡住
- 核對 Sitemap 與頁面實际連結,清理已失效地址
- 观察服務器日誌中這些入口頁的抓取情况,判断是否真的被走到
入口頁本身不需要排名,它的作用是“把路修通”。判断标准不是它带来多少流量,而是蜘蛛有没有顺着它走下去。
第二條通道只是提高被發現的概率,並不等于一定被抓,更不等于收錄。真正起作用的還是内容是否值得保留、站点是否稳定可訪問。把入口做清楚、把重复收敛好,剩下的交给時間和抓取节奏。