搜尋抓取

改版期的抓取過渡:舊 URL 收尾、新内鏈铺開與 Sitemap 更新

站点改版不只是換模板,蜘蛛看到的入口、路径和响應都會跟着變。這篇讲改版前後如何安排舊 URL 的去向、把新内鏈一次铺好、更新 Sitemap,並用服務器日誌確認蜘蛛确實走到了新结构上,减少抓取空轉。

搜尋抓取

改版期的抓取過渡:舊 URL 收尾、新内鏈铺開與 Sitemap 更新

改版常常是前端和视觉先行,抓取层面的事情最後才被想起来。但對蜘蛛来说,一次改版意味着三件事同时變了:它能找到的 URL、它走連結的路径、以及它請求时拿到的响應。任何一項没安排好,都會在日誌里留下大段空轉记錄。

改版為什么會打乱抓取节奏

最常见的画面是:新頁面已经上线,但導航里還挂着舊地址;舊 URL 返回 404,却依然被内鏈推荐;Sitemap 還是上一版生成的。蜘蛛顺着這些入口走一圈,拿到的多是失效响應,自然要花更長時間才能摸清新结构。問题不在改版本身,而在過渡期的信息不一致。

第一步:先给舊 URL 定去向

  • 内容保留、只是換了地址:用 301 一對一指向新地址,不要全部堆到首頁。
  • 内容做了合並:跳轉到主题最接近的那一頁,而不是随便挑一個同級頁面。
  • 内容彻底不要了:返回 404 或 410,別让它繼續返回 200 變成空壳頁。
  • 只是參數或大小寫變了:能用跳轉或規范标簽收敛就收敛,避免两套地址長期並存。

跳轉最好一步到位。鏈條越長,蜘蛛在路上消耗越多,落地頁面也越容易被放到靠後的位置。

内鏈要在一次改版里改完

蜘蛛發現新頁面最主要的途径仍然是連結。如果導航、面包屑、列表頁、正文里還留着舊地址,等于把蜘蛛反复引回已经失效的路径。

  • 導航和面包屑指向新结构,且每個栏目都能從首頁点得到。
  • 列表頁條目保持可点击,別只在脚本里渲染連結。
  • 重要頁面尽量有 2 到 3 個不同位置的内鏈指向它。
  • 顺手清掉已经没有價值的死鏈和悬空連結。
孤立頁面最容易在改版期間产生:編輯從舊列表里删掉了入口,頁面本身却還在,蜘蛛只能靠 Sitemap 偶尔想起它。

Sitemap 與提交节奏

改版後把 Sitemap 重新生成一遍,只放目前有效的 URL,並確認里面每一條都能正常返回 200。舊地址不要留在 Sitemap 中,它們應该通過跳轉来收尾,而不是被繼續推荐。

頁面數量不多时,上线後尽快更新提交即可;頁面規模大时,分批提交比一次性全丢進去更容易观察變化。提交之後不必反复重交同一份文件,真正值得看的是日誌里這些新 URL 是否開始被請求。

服務器响應决定蜘蛛愿意走多遠

改版往往伴随新模板和新缓存策略,响應時間可能比原来更長。蜘蛛對超时和 5xx 的容忍度有限,连續失敗會让它降低對這段路径的回訪意愿。

  • 新模板上线前压测一遍,確認動態頁面响應時間没有明顯恶化。
  • 检查缓存命中情况,別让每個請求都打到資料库。
  • 確認没有把蜘蛛的 IP 段或 UA 誤拦在防護規則之外。
  • 發布高峰期做限速或降級时,優先保證 HTML 能正常返回。

上线後的检查顺序

  1. 用日誌確認蜘蛛是否已经訪問新 URL,以及狀態碼是否正常。
  2. 抽查舊 URL,確認跳轉目标正确、没有形成跳轉鏈。
  3. 抓取几個關键入口頁,看内鏈是否已经全部指向新结构。
  4. 检查 Sitemap 中的 URL 是否都能打開,有没有混入舊地址。
  5. 一周後再看一次日誌,比較新 URL 的抓取量是否在缓慢上升。

改版本身不一定伤到抓取,真正的問题通常出在過渡期的不一致:舊地址還在被推荐,新地址没有入口,或者服務器在新模板下响應變慢。把這三件事在上线前後各核對一遍,蜘蛛的抓取路径基本能平稳接上。