网站重构时如何保住原有 SEO 流量

网站重构时如何保住原有 SEO 流量

本页目录14

网站重构时如何保住原有 SEO 流量

先讲结论

重构掉排名的根本原因不是"换了新主题",是上线那天有一批旧 URL 突然消失或被换地址,搜索引擎找不着,外链也回不来。要保住流量得做四件事。上线前两到三周,把旧站的 URL、流量页、外链页、转化页全部抓出来。建一张旧→新 301 映射表,每条 URL 都有归宿。上线那天按 runbook 顺序走,先在 staging 验证再切流量。上线后四周盯 Search Console、收录、排名、404,发现问题当周补。这篇是我们做老站重构时实际用的清单,不是理论。

我们接过一个建材出口客户。原 WordPress 站跑了五年,月度自然流量 8000 左右,靠 30 多篇产品页和案例文撑着询盘。市场部不满意视觉,决定整站重构上 Next.js + headless。第一版上线第三天,自然流量掉到 2300,老板半夜电话过来。问题查出来很尴尬:开发把 /products/xxx-tile/ 改成了 /en/products/xxx-tile,没人写 301 规则,老站靠这批页面吃了五年的外链一夜之间全是 404。

这种事不复杂,但上线前少做一步,掉的流量就要两到三个月才能慢慢回来。下面这份清单是我们后来固化下来的流程,每次重构都跑一遍。

1. 抓旧站

上线前两到三周,先把旧站完整抓一遍,不是凭印象列页面,是用工具把数据落到表格里。需要的四类数据:

  • 全部 URL 清单:用 Screaming Frog 或 Sitebulb 跑一遍站点,导出所有可访问的 URL,包括 PDF、图片页、Tag 页、分页。我们见过最坑的一次是客户忘了 200 多个 /case/page/2/ 这种分页,新站没生成分页全部 404。
  • 自然流量页:从 Google Search Console 拉过去 12 个月的 Pages 报告,按点击量排序导出。前 20% 的页面通常贡献 80% 的搜索流量,这批必须重点保住。
  • 外链页:用 Ahrefs、Semrush 或 GSC 的 Links 报告导出"被外链指向的页面"。这些 URL 是你过去几年攒下来的资产,断一条少一条。
  • 转化页:从 GA4 拉出过去 6 个月有过转化(表单提交、WhatsApp 跳转、邮件点击)的 landing page 列表。流量不一定大,但每一页都直接关系到询盘。

把四份数据合并到一张总表,列:旧 URL、过去 12 个月点击、外链数、转化数、内容主题、是否保留。这张表是后面所有决策的根。审计这一步具体怎么做,更细的字段见公司网站改造前的完整审计清单

2. 映射表

总表做完,逐行决定每个旧 URL 的去向。只有三种结果:

  • 一对一保留:URL 结构变了但内容主题不变。例如 /products/red-tile.html/products/red-tile/。301 直接映射。
  • 合并:旧站有三篇内容相似的产品页,新站决定合并成一篇主页加锚点。三个旧 URL 都 301 到新主页,最好直接 301 到锚点。这种情况里,三页的关键词和外链锚文本必须在新页面里保留下来,不然合并就是变相删除。
  • 下线:内容确实过时、不再卖了,或者从来没流量也没外链。这类 301 到最相关的上级分类页,或者直接 410 Gone。要 410,不要 404。410 告诉搜索引擎"这页是有意下线的",比 404 干净。

每一行要写出新 URL,写不出新 URL 的就不要上线。我们的硬规矩是:映射表里如果还有"待定",重构 sprint 不能进 staging 验证阶段。

301 表写成 nginx/Apache 的 rewrite 规则、Next.js 的 redirects 配置、或 WordPress 的 Redirection 插件记录,开发同事直接拿去用。这块和 旧域名和旧网站迁移的 SEO 清单 提到的换域名场景思路一样,但单纯重构同域名时就不必动 DNS 和 hreflang。

3. 内容保留

很多重构项目把 SEO 想成纯技术问题,结果上线后发现:URL 都 301 对了,排名还是掉。原因常常出在内容上。开发把旧产品页 1500 字的描述精简成 300 字,理由是"更适合现代设计"。页面排名变低,是因为它讲得变少了。

上线前要确认这几件事:

  • 关键词出现:过去 12 个月每一个排名前 10 的关键词,要能在新页面的 H1、H2、首段或正文里自然出现。不是堆砌,是确保新页讲的还是同一件事。
  • 正文长度:高价值页(前 20% 流量页)新版字数不能低于旧版的 70%。设计师想"留白",让他们留在视觉部分,不是删内容。
  • 图片 alt:所有图片的 alt 文本从旧站迁过来,不要让新 CMS 自动生成"image-1.jpg"。alt 是图片搜索的命门。
  • 结构化数据:旧站的 FAQ schema、Product schema、BreadcrumbList,新站要重新加上。模板上线前用 Google 的 Rich Results Test 跑一遍。
  • canonical:旧站如果本来就有 canonical 配置(分页指向首页、参数页指向干净 URL),新站要保留同样的逻辑,不是在每个页面默认指向自己就完事。

内容迁移这部分细节多到能单独写一篇文章,按字段拆解的清单见企业网站内容迁移清单

4. 技术基线

技术 SEO 在重构里最容易翻车的几项,按上线前必查的优先级:

  • robots.txt:开发在 staging 上配的 Disallow: /,上线时常常忘了删。这一行就能让整站从 Google 消失。每次上线前最后一步,curl https://yourdomain.com/robots.txt 肉眼过一遍。
  • sitemap.xml:新站生成新的 sitemap,URL 全部用新地址,提交到 Google Search Console 和 Bing。旧 sitemap 不必主动删,让它 404,搜索引擎会重新抓。
  • canonical 标签:每页一个,指向自己,写在正式域名上,不是 staging 域名漏改的那个。
  • hreflang(多语言才需要):路径变了之后,hreflang 的目标 URL 也要全部跟着更新,不只是改语言切换器。
  • 404 页面:自定义一个有用的 404 页,放主要服务和搜索框。Google 不惩罚 404,但用户从外链点进来直接跳走,这个体验值得修。
  • 页面速度:Lighthouse 跑一遍,LCP 控制在 2.5 秒以内,CLS 在 0.1 以内。新站常常因为加了一堆动效或自动播放视频,上线就比旧站慢。

更系统的检查项见新站或重构网站的技术 SEO 基线。具体术语解释参考出海建站术语表。也建议带着重构这个视角再翻一遍 Google Search Central 的 SEO 入门指南

5. 上线 runbook

上线那天不是"按个发布键"。我们用的 runbook 是这样的,按时间倒推:

上线前一周

  • 在 staging 上跑一遍完整爬取,比对总表,确保所有旧 URL 都有对应的 301。
  • 把 301 规则在 staging 上手工敲 30 条核心 URL 验证。
  • 把新 sitemap 草稿放到 staging 上让爬虫先适应。
  • 备份旧站完整数据(数据库 + 文件),不止备份一次。

上线当天(按顺序)

  1. 切换 DNS 或 Web 服务器配置,新站接管流量。
  2. 立刻 curl 检查 robots.txt 和 sitemap.xml 是否在线。
  3. 跑 30 条核心旧 URL 看是否 301 到正确新地址。
  4. 在 Search Console 提交新 sitemap,请求重新抓取首页和前 5 个流量页。
  5. 在 GA4 和 Search Console 给当天打个标记(annotation),后面查问题时能立刻定位。

上线后第一周

  • 每天看一次 Search Console 的 Coverage 报告,关注新出现的 404 和 Soft 404。
  • 每天跑一次外部抓取(Screaming Frog),看是否有未配 301 的 URL 漏网。
  • 每天在 GA4 看 Pages 报告,对比上线前一周的 top 20 页面是否还在带流量。

这套流程和我们 sprint 节奏的关系,可以参考我们的小团队如何跑一个 4 周网站重构 Sprint

6. 上线后 4 周

上线后第一个月是流量观察期,不是放手期。每周固定看四件事:

  • Search Console,Coverage:新增 404、Excluded、Crawled but not indexed。404 当周补 301,Excluded 通常是 noindex 设错了。
  • Search Console,Performance:和上线前 4 周对比点击、展示、平均排名。掉得最快的 5 个 query,对应到具体页面去查。
  • Search Console,Links:外链页面是不是在搜索引擎那边重新关联到了新 URL。如果某个高价值外链页 4 周后还没更新,可以考虑直接联系站长换链接。
  • GA4,转化:表单、WhatsApp、邮件点击的总量和分页面数据。流量没掉但转化掉了,问题大概率在新模板的 CTA 位置或表单字段。

第 4 周做一份对比报告:上线前 30 天 vs 上线后 30 天,分别按页面、按 query、按国家。报告不是给老板看的,是用来决定下一个 sprint 是补内容、补外链还是修转化。

取舍

这份清单做完整大概要 3-4 周准备时间,加上线后 4 周的密集监控。预算紧的小团队常问:能不能砍掉哪几步?我们的判断是:

  • 必做:抓旧站、映射表、robots/sitemap/canonical 检查、上线后第一周监控。这四件事砍掉任何一件,掉流量都是必然的。
  • 可以推后:结构化数据补全、404 页面美化、Lighthouse 性能调优。上线后两周内补上不影响 SEO。
  • 可以不做:把所有旧分页(page/2、page/3)单独 301。这种页面通常没流量没外链,301 到分类页或 410 都行。

如果时间真的不够,至少把 SEO 流量前 20% 的页面单独拎出来。这批必须一对一 301、内容关键词保留、上线后每天看。剩下的 80% 出问题了再补。

常见问题

重构后 301 要保留多久?

至少 12 个月,建议 24 个月。Google 官方的站点迁移指南 明确建议 301 至少保留一年,且实际外链站长更新链接的速度通常比搜索引擎重新抓取还慢。301 长期保留几乎没成本(一行 nginx 配置),但删早了等于把这几年的外链全部废掉。

流量短期下滑多少算正常?

上线后 1-2 周通常会有 5-15% 的自然流量波动,搜索引擎在重新抓取和索引。如果 4 周后还没回到上线前 90% 的水平,说明有未发现的问题,要重新检查 Search Console 的 Coverage 和 301 命中率。

要不要先开 noindex 慢慢上线?

不要。新站上线就该开放给搜索引擎抓取,noindex 越久搜索引擎越不知道发生了什么。正确做法是 staging 阶段用密码保护或 robots disallow,正式域名一上线就完全开放。

旧站的博客文章可以全部删掉吗?

不建议直接删。先看 Search Console 数据:过去 12 个月有点击或外链的文章必须 301 到对应主题页或保留;完全没流量没外链的可以 410 Gone。一刀切删掉 = 把可能的搜索资产一起扔掉。

预约诊断

如果你正在准备重构现有的企业官网,或者已经上线但流量明显下滑,欢迎带着旧站域名、Search Console 数据访问权限和重构上线时间,跟我们做一次免费的网站重构服务初步诊断。我们会用上面这份清单逐项过一遍,告诉你哪些是 P0 级别的修复、哪些可以放到下一轮迭代。