搜尋抓取

站点改版換了 URL:怎么让蜘蛛把新路径重新走一遍

站点改版或調整 URL 结构後,舊地址還在被蜘蛛訪問、新頁面却迟迟不出現,通常是抓取路径没同步更新。本文從 301 映射、Sitemap 替換、内鏈模板改造、並行過渡期和日誌驗證几個环节,梳理让蜘蛛重新走通新路径的實用做法。

搜尋抓取

站点改版換了 URL:怎么让蜘蛛把新路径重新走一遍

站点改版、栏目調整或者 URL 结构重做之後,常见的現象是:舊地址還在被蜘蛛反复訪問,新地址却迟迟没有動静。這通常不是蜘蛛没發現新頁面,而是它手里的那張路径图還没更新完——舊的入口還通着,新的入口又没接上。

舊 URL 不要直接消失

批量換 URL 时,如果舊地址直接返回 404,蜘蛛原来记住的路径就断了,需要從头重新摸索一遍。更稳妥的做法是让舊 URL 301 到對應的新 URL,而且要一對一映射。

  • 一對一:舊頁面跳轉到它自己的新地址,不要全部堆到首頁
  • 不要鏈式跳轉:A 跳 B、B 再跳 C,跳數越多损耗越大
  • 不要長期用 302:临时跳轉不传递路径關系,蜘蛛會一直当成临时狀態
  • 保留時間:舊地址的 301 建议保留几個月以上,等新路径稳定再考虑處理
把全站舊 URL 统一 301 到首頁,等于告诉蜘蛛所有舊頁面都是同一個頁面,原来分散在各處的入口會一起失效。

Sitemap 也要跟着換

Sitemap 里放新 URL,舊 URL 逐步從 Sitemap 中移除,但對應的 301 保留。索引文件的地址、分片數量如果發生變化,需要重新提交一次,让蜘蛛知道地图換了。

分片文件名尽量別复用

如果分片文件名不變、内容整体替換,蜘蛛需要重新下载整份文件才能意识到變化。给新分片換一個名稱,或者在過渡期新舊並行,抓取會更顺一些。

内鏈是蜘蛛主要走的路

Sitemap 只是告诉蜘蛛有哪些 URL,真正让它一层层走下去的還是站内連結。改版时如果只改了路由和 301,模板层還指向舊地址,蜘蛛每次都要多跳一次才能到新頁面。

  • 導航、面包屑:改版後最容易漏的地方
  • 分類列表、分頁:列表頁連結數量多,影响面大
  • 相關推荐、上一篇下一篇:正文区域的連結權重不低
  • 頁脚、侧栏:虽然位置偏,但全站模板一改就是全站生效

改的顺序建议是先動模板,再處理内容里手寫的硬编碼連結。模板改完,新产生的頁面自動指向新路径;存量内容可以分批替換。

给新舊路径留一段並行期

不建议一次性把所有東西同时換掉。比較稳的节奏是:先让舊 URL 301 到新 URL,同时新 URL 可以正常訪問;观察一段時間後,再把内鏈和 Sitemap 全部切到新地址;最後才考虑舊地址的收尾處理。

並行期内,新舊路径都能走通,蜘蛛不會因為某一环没改完就走進死胡同。

用日誌確認新路径被走到

改版是否生效,看日誌比看後台提交记錄更直接。重点观察三類信息:

  1. 新 URL 的抓取次數是否在增長,狀態碼是否稳定在 200
  2. 舊 URL 的 301 命中量是否在下降,說明蜘蛛正在把注意力轉到新地址
  3. 有没有出現新路径的 404 或 5xx,改版後最容易漏掉的就是邊缘頁面的映射

如果日誌里只有舊 URL 的 301 被訪問,新 URL 几乎没有记錄,說明新路径還没有真正進入抓取流程,需要回头检查内鏈和 Sitemap。

几個容易踩的坑

  • 用 robots.txt 屏蔽舊目錄:屏蔽之後蜘蛛讀不到 301,反而不知道新地址在哪
  • 把新頁面放進全新的子目錄,却没有任何内鏈入口,只能靠 Sitemap 單点發現
  • Sitemap 里新舊 URL 同时存在,狀態碼還都是 200,蜘蛛無法判断哪個是正式地址
  • 用 JS 跳轉代替 301,蜘蛛對脚本跳轉的處理並不總是及时
  • 改版当天就把舊頁面全部下线,没有留出過渡時間

改版本质上是给蜘蛛換一張地图。地图換完之後,還需要给它一点時間按新路线重新走一遍,急不来,但每一步都可以在日誌里看到進展。