简短回答
迁移后,只要每个带来流量或外链的 URL 在上线后仍有响应,网站就能保住排名:要么在同一地址提供相同内容,要么通过服务器端永久重定向跳转到最接近的对应页面。大多数迁移问题,都能追溯到某个没被列入清单的 URL。
Google 的网址变更网站迁移指南给出了基本原则:把每个旧 URL 对应到一个新 URL,使用 301 或 308 等服务器端永久重定向,并保留“通常至少 1 年”,同时“预计迁移期间网站排名会出现暂时波动”。
该指南还建议一次只改一件事:先换域名,再改版式。Google 的更改地址文档说得更直接:如果把迁移与内容和 URL 结构的改版同时进行,Google 重新评估每个页面期间,“您可能会看到一些流量损失”。如果两件事都要做,请把改版安排为单独的阶段。
三种迁移类型
| 迁移类型 | 变化内容 | 重定向 | Search Console |
|---|---|---|---|
| 仅更换托管 | 服务器或 CDN;所有 URL 保持不变 | 无需 | 关注抓取和索引情况 |
| 平台(Wix 到 WordPress,WordPress 到 Astro) | CMS、模板,通常还有部分 URL 模式 | 每个路径发生变化的 URL | 提交新站点地图,然后持续监控 |
| 域名或子域名 | 所有 URL | 全部 | 为每个已验证的版本提交更改地址 |
如果只是更换托管,Google 的托管指南建议“至少在迁移前一周”调低 DNS TTL,并让旧服务器持续运行,直到其流量降为零。上线后抓取频率短暂下降属于正常现象。
迁移之前:列出所有拥有 URL 的内容
重定向对照表的质量,取决于背后旧 URL 清单的完整程度,而每种来源都会有遗漏。
抓取线上网站
抓取当前网站,导出每个 URL 及其状态码、标题、元描述、canonical 和 hreflang 标签,再加上 XML 站点地图中的所有 URL。Google 还建议检查服务器日志,找出近期至少被访问过一次的 URL。
从 Search Console 和分析工具中提取着陆页
在 Search Console 的效果报告中,选择最长的日期范围导出“网页”标签页的数据,并对分析工具中的自然搜索着陆页做同样的操作。这些页面带来流量和潜在客户,因此上线时要逐一手动检查。
找出哪些页面链接到你
链接报告会显示被链接最多的网页,但其表格“限制为 1,000 行”,而且 Google 表示它并非完整列表。请结合你使用的外链工具一起查看。
列出表单、集成和媒体文件
记下每个表单及其提交内容的去向、每个嵌入的工具(预约、聊天、地图、支付),以及人们直接链接的每个文件。Google 的指南说,计划中要包括“视频、图片、JavaScript 和 CSS 文件”,因为这些 URL 和其他内容一样会发生变动。
制作重定向对照表
每个旧 URL 一行:旧 URL、新 URL、状态码、备注、是否已测试。遵循四条规则:
- 把每个旧 URL 对应到最接近的页面。把许多旧 URL 重定向到一个不相关的目标(例如首页),“可能会被视为软 404 错误”。
- 如果多个旧页面合并成了一个,就把它们全部重定向到这个页面。
- 如果某个页面没有对应页面,请返回 404 或 410,而不是重定向。
- 只要新平台允许,就保持路径不变。
搭建期间:重定向以及随之迁移的内容
使用一对一的服务器端 301 或 308 重定向
Google 的重定向文档指出,301 和 308 表示“重定向目标应为规范网址”,并建议“尽可能使用服务器端永久重定向”。临时状态码(302、303、307)则没有这个含义,而 JavaScript 重定向只应作为最后手段。
请直接重定向到最终 URL。Google 的抓取程序最多会跟随10 次重定向跳转,但网站迁移指南建议“直接重定向到最终目标”。如果之前的迁移遗留了重定向,也要把它们指向新的最终 URL。
请检查提供重定向服务的系统的默认状态码。在 Dardo 用来托管其所建网站的 Cloudflare Workers 上,_redirects 文件默认使用 302,除非你在每一行写明 301;它最多支持 2,000 条静态重定向和 100 条动态重定向,且无法匹配查询参数。因此,WordPress 的默认固定链接(/?p=123)需要在 Worker 的代码中编写重定向逻辑。
何时应改为返回 404 或 410
内容单薄的页面、已过期的优惠和重复页面无需保留。Google 的指南说,不迁移的内容应“正确返回 HTTP 404 或 410”,而且 Google 的抓取程序对除 429 之外的所有 4xx 状态码一视同仁:该 URL 会从索引中移除。
迁移元数据、canonical 和 hreflang
- 标题和元描述。请逐字段迁移,而不是让新模板自动生成。
- Canonical。每个新页面都应带有指向其新 URL 的自引用 canonical。Google 的规范化指南称 canonical 是“提示,而非规则”,因此 canonical、重定向和站点地图必须保持一致。
- Hreflang。根据 Google 的本地化版本指南,每个语言版本“必须列出自身以及所有其他语言版本”,而且“如果两个页面没有互相指向,这些标签将被忽略”。请把每条标注都更新为新 URL。
结构化数据、内部链接和图片 URL
- 结构化数据。在新模板中重新构建 Organization、Breadcrumb、Article 或 Product 标记,并用富媒体搜索结果测试工具进行测试。Google 的迁移指南没有提到这一点,所以很容易被遗漏。
- 内部链接。请直接指向新 URL,而不是指向重定向。
- 图片和文件。保留具有描述性的文件名和 alt 文字;对于有外链或图片搜索流量的旧图片和 PDF 网址,请设置重定向。
数据分析与用户同意
重新安装数据分析、转化事件和广告像素,并在预发布环境中测试。如果旧网站会请求 Cookie 同意,新网站在触发这些标签之前,也必须以同样的方式请求同意。
各平台常见的问题
以下说明来自各平台截至 2026 年 10 月的官方文档,描述的是平台的运作方式,而非缺陷。
| 平台 | 需要映射的网址模式 | 导出与重定向限制 |
|---|---|---|
| WordPress | 固定链接可以是朴素格式(/?p=N)、基于日期或基于文章名称。分类和标签归档始终保留一个基础路径,例如 /category/。 | 自 WordPress 6.4 起,新安装的站点默认关闭附件页面,但升级而来的站点仍保持开启,因此较老的站点可能为每个上传的文件生成一个网址。 |
| Webflow | CMS 内容项位于集合页面中。 | 代码导出不包含 CMS 内容、电子商务、用户账户、表单处理、站内搜索和本地化页面,并且需要 Workspace 方案。集合可单独导出为 CSV。 |
| Wix | 博客文章位于 /post/ 前缀之下,该前缀可以改名但无法移除。在 WordPress 上,使用 /post/%postname%/ 作为自定义固定链接结构即可保留它们。 | Wix 网站“必须在 Wix 的服务器上运行”,因此离开就意味着重建页面。 |
| Framer | 修改子路径不会更新现有的重定向规则,因此旧规则可能指向已失效的路径。 | 网站以标准 HTML、CSS 和 JavaScript 发布;CMS 内容可通过插件导出为 CSV 或 JSON。 |
| Squarespace | 网址映射支持用 [name] 变量匹配整个集合,例如 /blog/[name] -> /posts/[name] 301。 | 导出文件为 WordPress XML,包含一个博客页面、布局页面和图库,但不包含商店页面、商品、视频或音频区块,也不含自定义 CSS。网址映射无法重定向图片或文件网址,且上限约为 2,500 行。 |
| Shopify | 店面网址位于 /products/、/collections/、/pages/ 和 /blogs/<blog>/ 等路径之下;Shopify 将 /products 和 /collections 视为固定路径。 | 重定向只对不再加载页面的网址有效,每家店铺最多可设 100,000 条(Plus 为 20,000,000 条)。 |
离开 Wix 意味着重建每一个页面;离开 Squarespace 则意味着导入导出内容所涵盖的部分,其余需要重建。迁移到 Shopify 通常会改变商品网址,因此映射表必须覆盖每一件商品。
上线当天
- DNS。如果主机或 DNS 有变更,请至少提前一周调低 TTL。
- 抓取屏蔽。移除预发布环境的
noindex标签和 robots.txt 屏蔽。Google 建议列出开发期间使用过noindex的所有网址。 - 重定向。与新网站在同一次发布中上线。
- 重定向测试。用脚本跑一遍整张映射表:每个旧网址都应一步以 301 或 308 跳转到正确的最终网址,且该网址返回 200。
- Search Console。验证新网站并提交新的站点地图,同时提交一份旧网址的站点地图,以便它们被重新抓取。出现这些网址被重定向的警告属于正常现象。
- 更改地址。如果更换域名,请使用同一个 Google 账号,在新旧两边都拥有的资源上提交,并覆盖旧域名的所有变体,包括带 www 和不带 www 的版本。
- 关键转化路径。提交一份真实表单,进行一笔测试支付,并确认数据分析事件已到达。
- 你自己的链接。更新社交媒体主页、广告和目录收录信息。
上线后的 30、60 和 90 天
第 1 至 30 天:预期会有波动
排名可能会在“Google 重新抓取并重新索引你的网站期间”出现波动,而且“中小型网站的大多数页面可能需要几周时间才会变化,较大的网站则需要更长时间”。请关注:
- 索引和站点地图报告。旧网站的已索引网址下降,新网站的上升。
- 按页面查看效果。新网址开始获得展示和点击。
- 服务器日志和 404。每一个意料之外的 404 都意味着映射表中缺了一行。两周内每天检查。
第 31 至 60 天:与基准数据对比
将你的主要落地页与其新网址进行对比。对于任何点击量下降的页面,请按顺序检查:重定向是否一步到达正确页面,内容或标题是否有变化,内部链接是否仍指向它,它是否在站点地图中。然后请那些带来最有价值外链的网站更新链接。
第 90 天及以后:保留重定向
Google 的指南建议重定向“通常至少保留 1 年”,并且从用户的角度出发,应“考虑无限期保留重定向”。对于域名迁移,“更改地址”页面规定了 180 天的下限,此后如果旧网站仍可被抓取,Google 就会将其视为无关的网站。它还建议将旧域名“至少续费一年”,以免被他人购买。
检查清单
| 阶段 | 任务 | 完成标准 |
|---|---|---|
| 上线前 | 抓取网站、站点地图和服务器日志 | 得到一份包含所有旧网址及其状态码的清单 |
| 上线前 | 导出落地页和外链最多的页面 | 重点页面和外链目标页已在映射表中标记 |
| 上线前 | 列出表单、集成、脚本和文件 | 每一项都有负责人,以及在新网站上的方案 |
| 上线前 | 建立重定向映射表 | 每个旧网址都有目标网址,或已决定返回 404/410 |
| 搭建 | 服务器端 301 或 308 重定向 | 一步到位,无重定向链,不批量重定向到首页 |
| 搭建 | 标题、描述、canonical、hreflang | 与旧页面一致;canonical 和 hreflang 使用新网址 |
| 搭建 | 结构化数据、内部链接、图片网址 | 通过富媒体搜索结果测试;内部链接不再经过重定向 |
| 搭建 | 数据分析、转化和用户同意 | 事件在预发布环境中触发,且在需要时仅在用户同意后触发 |
| 上线 | 移除 noindex 和 robots.txt 屏蔽 | 新网址可被抓取 |
| 上线 | 测试重定向映射表 | 每一行都返回预期的状态码和目标网址 |
| 上线 | Search Console:验证、站点地图、更改地址 | 已提交且没有严重错误 |
| 上线后 | 监控索引、404 和效果 | 旧网址下降,新网址的展示量上升 |
| 迁移后 | 保留重定向和旧域名 | 至少一年 |
获取迁移方面的帮助
Dardo 会将网站迁移到部署在 Cloudflare Workers 上的定制 Astro 站点,重定向映射表是我们在上线前测试、并随网站一起交付的成果。请查看网站迁移;如果迁移时还需要全新的设计,请查看网站改版。或者告诉我们您要迁移什么。
