搜尋抓取

新 URL 上线之後:主動推送、内鏈導流與 Sitemap 更新的配合

新頁面發布後能不能被蜘蛛尽快發現,取决于入口和清單两條路。本文梳理 Sitemap 更新、内鏈導流、主動推送與站外引用各自的邊界,並给出用訪問日誌驗證抓取效果的方法,以及几個容易踩的坑和可以固定下来的日常動作。

搜尋抓取

新 URL 上线之後:主動推送、内鏈導流與 Sitemap 更新的配合

新頁面發布之後,最常听到的疑問是:多久會被蜘蛛發現?這個問题没有标准答案,但可以拆成两部分——站点有没有把 URL 放到蜘蛛容易走到的位置,以及這些入口有没有被持續维護。推送和提交做的是“提醒”,連結和 Sitemap 做的是“通路”,两者缺一不可。

蜘蛛發現 URL 的两條基本路径

一條是顺着連結爬:從首頁、栏目頁、列表頁一路走到詳情頁。另一條是讀取清單:Sitemap、RSS 以及各類提交接口给出的 URL 列表。前者依赖内鏈结构,後者依赖清單的准确性和更新节奏。只做後者不做前者,蜘蛛可能抓了清單里的 URL,却不知道该頁面在站内處于什么位置,後續重訪也缺少触發点。

四種常见發現信号,各自的邊界

Sitemap 的新增與更新

  • 新增 URL 及时追加,已经下线或改版的舊 URL 该移除的移除,別让清單里長期躺着 404 和重定向。
  • lastmod 只在内容真正發生變化时更新,格式和时区保持一致,避免整站時間戳一起跳動。
  • 分片文件按栏目或時間拆開,索引文件按需刷新,不要让蜘蛛每次都拉一遍全站清單。

内鏈導流:让新頁面站在“路口”上

  • 優先在抓取频率高的頁面(首頁、频道首頁、热门内容頁)给出入口,比埋在深层列表更有效。
  • 連結要出現在 HTML 源碼里,不能只靠前端渲染後再生成。
  • 按時間排序的“最新”模块有用,但要控制條數,避免一屏几百條連結把入口摊薄。

主動提交與推送

手動提交、站長後台的提交入口以及 IndexNow 這類推送协议,作用是把 URL 更快地放進队列,它們不保證抓取,也不保證收錄。使用时注意几点:推送的 URL 應当是能正常返回 200 的頁面,不應是被 robots.txt 拦截或带 noindex 的地址;批量推送要有节制,反复推同一個 URL 没有額外收益;推送後要回到日誌里核對,而不是只看接口返回成功。

站外引用

被其他站点連結指向,通常會带来新的抓取入口,被高频抓取的站点引用时更明顯。但這部分不可控,只能作為补充,不能当成主要手段。

怎么驗證有没有生效

  1. 在訪問日誌里筛出目标 URL,记錄首次被抓的時間,與上线時間、推送時間做對照。
  2. 看抓取那一刻的响應狀態和耗时。如果第一趟就是 5xx、超时或跳轉鏈,蜘蛛的後續安排可能被推迟。
  3. 观察同一批頁面是否成批被抓。只有零星几篇被訪問,通常說明入口太弱,而不是蜘蛛“没兴趣”。
  4. 對比不同入口的效果:把同一批頁面分別從首頁模块、Sitemap、推送三處投放,看哪條路径带来的抓取更快。

這些观察结果比任何“几小时收錄”的说法都可靠,因為抓取节奏取决于站点規模、歷史表現和蜘蛛自身的調度。

几個容易踩的坑

  • 把新 URL 放在 robots.txt 屏蔽的目錄下,又奇怪為什么没有抓取。
  • Sitemap 里混入大量參數頁、分頁副本和已下线的連結。
  • 用 302 或纯 JS 跳轉作為新頁面的入口,让蜘蛛多走一步。
  • 頁面内容還没准备好就推送,蜘蛛抓到一個空壳,之後重訪意愿下降。
  • 只看提交數量不看日誌,把“提交成功”誤当成“已经抓取”。
推送解决的是“告诉你”,内鏈解决的是“带你走”,Sitemap 解决的是“给你一張清單”。三者配合,新頁面被發現的概率才會稳定一些。

可以固定下来的日常動作

  1. 發布即给入口:新頁面在栏目頁和至少一個高频頁面出現連結。
  2. 当天更新 Sitemap,追加新 URL;改動過的頁面只更新對應的 lastmod。
  3. 按批次推送,记錄推送時間和 URL 清單,方便後續核對。
  4. 三天内查一次日誌確認抓取狀態;如果没被抓,先补内鏈入口,而不是反复推送。

把這些動作做成流程,比临时找“加速抓取”的技巧更實用。抓取终究是蜘蛛自己的节奏,站点能做的是把路铺好、把信号给准。