站点改版时,视觉、性能、内容往往被反复推敲,但搜索蜘蛛看到的是另一套东西:一张由 URL 和链接组成的图。改版相当于把这张图重画一遍,如果旧地图没有平稳作废、新地图没有及时生效,就会出现新页面已经上线、蜘蛛却还在旧路径里打转的局面。
改版要交接的不是页面,是三条通路
把交接拆开看,其实只有三样东西需要处理:URL 本身、指向 URL 的内链、蜘蛛发现 URL 的入口。页面模板换了、栏目重新分组了,都不影响这套逻辑;真正影响抓取的是这三条通路有没有同步切换。
旧 URL:先保证可访问,再考虑回收
最常见的事故是改版当天全站 404。蜘蛛手里存着大量旧地址,一旦访问得到硬 404,它既不能顺着跳转去新地址,也拿不到任何提示。稳妥的做法是让旧 URL 在一段时间内保持可访问,并通过 301 指向对应的新地址;确实不再需要的页面,可以先用 410 明确告知,再逐步清理,而不是一刀切。
要注意跳转的落点必须是一对一的对应关系。把几十个旧栏目页全部指向首页,蜘蛛会认为这些 URL 最终归并到同一个地址,原先分散在各栏目下的详情页就失去了入口。
新 URL:让内链先于 Sitemap 铺开
很多人改版后第一件事是提交新的 Sitemap,却忘了新页面上线时站内链接还指着旧地址。对蜘蛛来说,Sitemap 是候选清单,内链是实际路径,路径没通,清单再多也只是排队等待。
顺序上更稳的做法是:先让导航、列表页、正文相关推荐全部指向新 URL;确认这些页面本身可以被抓取、不是靠点击才出现的按钮链接;然后再更新 Sitemap。Sitemap 与内链指向同一个地址集,蜘蛛的发现效率会明显不同。
切换顺序建议
- 新页面可访问,返回 200,内容完整;
- 站内内链全部换成新 URL,旧 URL 保留 301;
- 更新 Sitemap,去掉旧地址,写入新地址;
- robots.txt 保持放行,不要在切换期临时封禁;
- 观察一段时间的抓取日志,再决定是否回收旧 URL。
这里没有需要抢的时间窗口,匆忙提交反而容易把半成品地址送进抓取队列。
过渡期常见的几个断点
- JS 渲染的菜单未更新:HTML 里还是旧链接,渲染后才变成新地址,蜘蛛可能先按旧路径走一遍。
- Canonical 还指向旧地址:新页面写着旧 URL 的 canonical,等于告诉蜘蛛这个新地址不重要。
- Sitemap 新旧混装:同一批页面出现两个地址,抓取配额被分摊到无效 URL 上。
- 旧站仍在对外提供链接:测试域名或旧环境被外链引用,蜘蛛可能从那里重新发现废弃地址。
- 服务器在切换期不稳定:超时和 5xx 会让蜘蛛放慢甚至暂停这一段的抓取节奏。
怎么确认交接已经完成
看三处:抓取日志里旧 URL 的访问量是否持续下降、新 URL 是否稳定出现;搜索结果中展示的地址是否逐渐统一为新地址;Sitemap 里上报的 URL 与站内实际链接是否一致。三处都收敛了,说明抓取通路已经换过来了。如果旧 URL 仍然被反复请求,通常不是蜘蛛没收到 301,而是站内还残留着指向它的链接。
改版的成败不在页面本身,而在于蜘蛛能不能沿着新的路径,走到你希望它去的那些地址。
把交接当成一次通路迁移来做,会比把它当成一次上线发布省心得多。