搜尋抓取

站点改版後的抓取衔接:让蜘蛛把注意力從舊 URL 轉到新 URL

改版或換域名之後,舊 URL 常被蜘蛛反复抓取,新 URL 却迟迟不進队列。問题多半不在蜘蛛,而在站内信号没完成交接。本文整理新舊地址映射、301 重定向、内鏈與 Sitemap 的配合方式,以及改版期的抓取压力控制和上线後的观察要点。

搜尋抓取

站点改版後的抓取衔接:让蜘蛛把注意力從舊 URL 轉到新 URL

改版、換域名或者重新划分栏目之後,很多站會遇到同一個現象:新頁面已经上线,抓取日誌里却還是舊地址被反复訪問,新 URL 迟迟没有進入队列。這通常不是蜘蛛反應慢,而是它接收到的信号仍然指向舊地址。

先整理一張新舊 URL 對照表

改版前應该先把映射關系寫清楚:哪一條舊地址對應哪一條新地址,哪些是合並的,哪些是真的不再保留。這張表是後面所有動作的依據——重定向規則、内鏈替換、Sitemap 生成都從它出發。如果對照表本身有缺口,上线後就只能靠日誌反推,成本會高很多。

表里建议至少包含:舊 URL、新 URL、處理方式(301、410、保留不動)、優先級。優先級高的部分先做,別指望一次全量切換。

301 是基础,但規則要干净

  • 尽量用一對一重定向,不要把所有舊地址都指到首頁,那會让蜘蛛把首頁当成所有舊内容的替代品。
  • 避免多級跳轉。A→B→C 的鏈式重定向,每多一跳都會多消耗一次請求。
  • 临时改版用 302 是常见做法,但停用時間別拖太久,否則新舊地址長期並存。
  • 確認重定向最终落到返回 200 的頁面上,中間夹着 404 或 5xx 會让整條鏈路失效。

内鏈是最直接的交接方式

重定向只是告诉蜘蛛“這個舊地址搬走了”,而内鏈才是告诉它“新地址值得抓”。導航、面包屑、栏目列表、正文里的相關連結,只要還在指向舊地址,就等于每天重复一次舊信号。改版时優先替換被連結最多的那批入口,比一次性全站替換更可控,也更容易排查遗漏。

Sitemap 與 canonical 的一致性

Sitemap 里應该只放新地址,不要新舊混着提交。如果頁面同时存在新舊两套模板,canonical 指向新地址能减少歧义;但如果内鏈還大量指向舊地址,canonical 的效力會被削弱。几個信号方向一致,蜘蛛才容易做出判断。

舊地址不要一刀切 404

改版上线当天把所有舊 URL 全部断開,是很常见的做法,但會让蜘蛛在短時間内撞上大量错誤頁,之後一段時間它對站点的抓取意愿可能變得更保守。更稳妥的方式是分批下线:先處理低價值、無外鏈的地址,有外鏈或仍有一定訪問量的舊地址保留 301 一段時間,观察日誌里的訪問频率下降後再收口。

改版期的抓取压力也要算進去

新舊地址並存意味着同一批内容在短時間内會有更多請求,加上蜘蛛重新發現和驗證新 URL,服務器压力往往高于平时。這個阶段如果响應變慢或開始返回 5xx,蜘蛛會主動降低抓取节奏,反而拖慢交接速度。控制方式不复杂:错開批量操作的時間,盯住响應時間和错誤率,必要时在服務器层面對異常請求做限速。

上线後的观察清單

  1. 抓取日誌里新 URL 的占比是否逐周上升;
  2. 舊 URL 的返回碼分布,301 與 404 各占多少;
  3. 新地址是否開始出現在搜尋结果中,标题和摘要是否正确;
  4. 内鏈替換是否遗漏了導航、分頁、侧栏這類模板位置;
  5. Sitemap 里是否還有舊地址残留。
改版後的抓取交接没有统一的時間表,能做的只是让信号尽量一致:地址映射清楚、重定向干净、内鏈指向新頁面、Sitemap 不再混入舊地址。剩下的交给蜘蛛按自己的节奏處理。