如何迁移网站

本文档介绍了如何更改网站上现有网页的网址,同时最大限度降低对 Google 搜索结果产生的负面影响。以下是一些此类网站迁移的示例:

  • 网址从 HTTP 更改为 HTTPS
  • 域名更改,如将 example.com 更改为 example.net,或者合并多个域名/主机名。
  • 网址路径更改:将 example.com/page.php?id=1 更改为 example.com/widget,或将 example.com/page.html 更改为 example.com/page.htm

概览

  1. 网站迁移的常规最佳实践。 了解会出现的情况,以及迁移对您的用户和排名有何影响。如需从 HTTP 迁移到 HTTPS,请参阅 HTTPS 最佳实践
  2. 准备新网站并对其进行全面测试。
  3. 准备网址映射,从当前网址映射到对应的新格式。
  4. 通过将服务器配置为从旧网址重定向至新网址,开始网站迁移
  5. 监控新旧网址的流量

网站迁移的常规最佳实践

  • 将迁移过程分解为若干个小步骤(如果适合您的网站)。
    如果您的网站较大且在技术上可行,我们建议您一开始只迁移网站的某一部分,以测试它对流量和搜索索引编制的影响。在这之后,您可以迁移网站上剩余的内容,一次性迁移或按版块迁移都可以。在选择网站的最初测试版块时,建议您选择具备以下特点的版块:不经常变化,且不会受到频发事件或不可预测事件的严重影响。另外请注意,虽然仅迁移一个版块是测试迁移的不错方法,但在搜索影响方面并不一定代表整个网站的迁移效果。迁移的网页越多,就越有可能遇到更多需要解决的问题。仔细规划可以最大限度减少所遇到的问题。
  • 一次只更改一项内容
    计划逐个对网站做出更改,而不是同时更改所有内容。例如,如果您想要将网站迁移到新域名、更改内容管理系统 (CMS) 并更新网站以使用新布局,请逐个执行:先创建一个新的网域,然后更改网站布局。
  • 尽量选择在网络流量较低时进行迁移。
    如果您的流量会呈季节性波动或在某些工作日骤降,那么明智的做法是在周期性流量骤降期间迁移网站。这意味着,更少的用户会受到网站迁移期间可能出现的潜在问题的影响,并且服务器可以分配更多资源专门供 Googlebot 抓取网站。
  • 预计迁移期间网站排名会出现短暂波动。
    如果您对网站进行了重大更改,那么在 Google 对您的网站进行重新抓取以及重新编入索引期间,该网站的排名可能会出现波动。一般来说,中型网站可能需要几周的时间才能使大多数网页进入我们的索引,大型网站则可能需要更长的时间。Googlebot 和我们的系统发现和处理已迁移网址的速度,在很大程度上取决于网址的数量和您的服务器速度。 提交站点地图有助于加快发现流程,按版块迁移网站也是可行的。
  • 不用担心链接功劳。
    301302 和其他服务器端重定向不会导致 PageRank 排名降低。
  • 充分利用 Search Console。
    Search Console 是您的朋友,尤其是在网站迁移过程中。您可以在 Search Console 中分别验证每个资源的数据。通过“索引状态”报告可进行全面检查。通过站点地图报告可查看站点地图中提交的网址有多少个编入了索引。
  • 耐心等待
    Googlebot 必须至少访问旧网站和新网站中的每个网址一次,才表示网站迁移完成了。我们没有固定的抓取频率;Googlebot 抓取的速度取决于网站的大小以及可能的抓取速度。迁移操作是逐个网址地迁移。

准备新网站

每种网站迁移操作的准备细节各不相同,不过您通常需要执行以下一项或多项操作:

  • 设置 CMS(最好与旧网站相同)并从旧网站导入内容。
  • 转移您托管的图片和下载内容(如 PDF 文档)。
    这些内容可能已经从 Google 搜索或链接中获取流量,因此有必要将其新位置告知用户和 Googlebot。
  • 要迁移至 HTTPS,您必须获取所需的 TLS 证书并在服务器上进行配置。
  • 为新网站设置 robots.txt,并确保新网站的 robots.txt 文件中的规则正确反映了您想禁止抓取的部分。

    请注意,某些网站所有者会在开发期间禁止抓取任何内容。如果您采取这种策略,请务必准备好在网站迁移开始时要使用的 robots.txt 文件。同样,如果您在开发期间使用 noindex 规则,请准备好开始网站迁移时需从中移除 noindex 规则的网址列表。

  • 如果不打算将所有旧内容迁移到新网站,请针对已删除或合并的内容提供错误代码,确保这些网址在新网站上正确返回 HTTP 404410 错误响应代码。

  • 确保设置正确 Search Console,这有助于网站迁移。

    在 Search Console 中同时验证新旧网站(如果您尚未这样做)。请务必验证新旧网站的所有变体。例如,验证 www.example.comexample.com,如果您使用的是 HTTPS 网址,还需要验证 HTTPS 和 HTTP 网站变体。请务必分别对旧网站和新网站执行此操作。

    • 检查 Search Console 验证状态

      确保您的 Search Console 验证状态在网站迁移之后将会继续有效。 如果您使用的是其他验证方法,请注意验证令牌可能会随着网址的更改而发生变化。

      如果您在 Search Console 中使用 HTML 文件方法验证您对网站的所有权,请不要忘记将当前验证文件加入到网站的新副本中。

      同样,如果您通过引用 meta 标记Google Analytics(分析)的包含文件验证所有权,请确保新的 CMS 副本中也包含这些内容。

    • 检查您在 Search Console 中对旧网站配置的任何设置,并确保新网站的设置也已更新,以反映这些更改。例如:

      • 抓取速度:将新旧网站的抓取速度设为“由 Googlebot 确定”。
      • 已拒绝的反向链接:如果您已经上传一个拒绝旧网站链接的文件,我们建议您使用新网站的 Search Console 账号重新上传该文件。
    • 清理最近购买的域名;您需要确保前任所有者未遗留任何问题。请检查以下设置:

      • 对之前的网络垃圾进行的人工处置措施。如果新网站受到任何人工处置措施,请解决列出的所有问题并提交重新审核请求
      • 已移除的网址。确保前任所有者未遗留任何需要移除的网址,尤其是网站级的网址。
  • 使用网站分析分析新旧网站的使用情况。网络分析软件可以帮助您做到这一点。通常情况下,网站分析配置包括嵌入到您网页中的一段 JavaScript 代码。有关跟踪不同网站的详情会因分析软件及其日志记录、处理或过滤设置而有所不同。请咨询您的分析软件提供商以获得帮助。此外,如果您一直计划对分析软件进行配置更改,现在无疑是个好时机。如果您使用的是 Google Analytics(分析),并且想在内容报告中实现完全分隔,建议您为新网站创建新的配置文件。

  • 确保服务器有足够的计算资源:迁移后,Google 会暂时比平时更频繁地抓取您的新网站。这是因为网站会将流量从旧网站重定向至新网站,并且对旧网站的所有抓取都会重定向至新网站,在任何其他抓取之外造成额外负担。请确保新网站拥有充足的容量,能够处理来自 Google 的更多流量。如果您的网站特别大,请与您的托管服务提供商联系,让他们提前了解您打算进行网站迁移。

准备网址映射

将旧网站的网址映射到新网站的网址非常重要。此部分介绍了一些可用于正确评估新旧两个网站上的网址以及帮助您建立映射的常规方法。有关生成此映射的准确详情会因当前网站基础架构以及网站迁移的细节而有所不同。

确定您的旧网址

在最简单的网站迁移情形中,您可能并不需要生成旧网址列表。例如,如果您要更改网站的域名(例如从 example.com 更改为 example.net),那么您可以使用通配符服务器端重定向。

在更为复杂的网站迁移中,您需要生成旧网址列表,并将其映射到相应的新目标网址。获取旧网址列表的方式取决于当前网站的配置,下面提供了一些方便实用的技巧:

  • 从重要的网址开始。若要找出这些网址,请执行以下操作:
    • 站点地图中查找,因为最重要的网址很可能就是已通过站点地图提交到 Search Console 中的网址
    • 查看服务器日志或使用分析软件,找出流量最高的网址
    • 利用 Search Console 中提供的“指向您网站的链接”功能,找出包含内外部链接的网页
  • 使用内容管理系统,该系统通常可让您轻松获得托管内容的所有网址的列表。
  • 查看服务器日志,找出近期至少访问过一次的网址。选择适合您网站的一个时间段,并注意流量的季节性波动。
  • 加入图片和视频,确保您在网站迁移计划中加入了嵌入内容(视频、图片、JavaScript 和 CSS 文件)的网址。这些网址的迁移方式需要与网站上所有其他内容的迁移方式相同。

创建从旧网址到新网址的映射

获取旧网址列表后,即可决定每个网址应该重定向至哪个目标网址。您存储此映射的方式取决于您的服务器及网站迁移。对于常见的重定向模式,您可以使用数据库或在您的系统上配置一些网址重写规则。

更新新网站上的所有网址详细信息

定义网址映射后,您需要完成三项工作,为接收流量做好网页准备。

  1. 更新注释,使其指向每个网页的 HTML 或站点地图条目中的新网址:
    1. 每个新网址都应该有一个自引用 rel="canonical" <link> 标记。
    2. 如果您迁移的网站包含多语言或多地区版本且使用了 rel-alternate-hreflang 注释的网页,请务必更新这些注释,以便使用新网址。
  2. 更新内部链接
    将新网站上的内部链接从旧网址更改为新网址。您可以根据需要使用之前生成的映射帮助查找和更新链接。
  3. 保存以下列表,以便进行最终的网站迁移

规划重定向策略

定义好映射且新网站准备就绪后,下一步就是规划重定向策略。我们建议您设定从旧网址到新网址的服务器端永久重定向,就像在映射中指明的那样。请与您的服务器管理员(或托管公司)联系,了解您可以在技术上执行哪种类型的服务器端重定向。如果您在 CMS 中使用的是 Apache HTTP 服务器或重定向功能,那么可能属于 .htaccess 文件中的重定向规则。

如果无法进行任何服务器端重定向设置,那么万不得已,您可以回退到客户端重定向。

确定如何迁移网站 - 是一次性迁移,还是按版块迁移:

  • 中小型网站:我们建议您同时迁移网站上的所有网址,而不是一次仅迁移一个版块。这既有助于用户与新形式的网站更好地互动,也有助于我们的算法更快速地检测到网站迁移并更新索引。
  • 大型网站:您可以选择一次迁移一个版块。这样更便于监控和检测问题,以及更快速地修正问题。

请注意以下几点:

  • 如果从技术上可行,使用服务器端永久重定向。尽管 Googlebot 支持多种重定向,但我们建议您尽可能使用 HTTP 永久重定向,例如 301308
  • 避免使用重定向链。虽然 Googlebot 能够在由多个重定向组成的“链”(例如,页面 1 > 页面 2 > 页面 3)中追踪最多 10 次跳转,但我们建议您直接重定向至最终目标网址。如果无法做到这一点,请尽量减少重定向链中的重定向次数,最好是不超过 3 次,且要尽量小于 5 次。重定向链会增加用户的等待时间,而且并非所有用户代理和浏览器都支持较长的重定向链。

开始网站迁移

网址映射准确无误,且您最终确定好如何进行重定向后,就可以开始迁移网站了。

  1. 实现或启用重定向:视您的重定向策略而定,这可能意味着您要将更新推送到服务器配置文件,或者更新您的 CMS(很可能需要使用自定义代码)。
  2. 检查 rel="canonical" link 注释和 robots meta 规则:重定向生效后,请确保新网站上的 rel="canonical" link 注释使用的是新网址。同样,如果您向新网站添加了 noindex robots meta 规则,以避免过早将新网址编入索引,请务必更新这些规则。
  3. 测试重定向。您可以使用网址检查工具测试单个网址,或者使用命令行工具或脚本测试大量网址。
  4. 在 Search Console 中针对旧网站提交地址更改请求
  5. 尽可能长时间保留重定向,通常保留至少 1 年。 在此期间,Google 会将所有信号都转移给新网址,包括重新抓取和重新分配其他网站上指向您的旧网址的链接。

    从用户的角度来看,不妨考虑无限期地保留重定向。但是,重定向对于用户来说速度较慢,因此请尽力将您自己的链接和所有来自其他网站的高流量链接更新为指向新网址。

  6. 在 Search Console 中提交新的站点地图。这有助于 Google 了解新网址。此时,您可以移除旧的站点地图,因为 Google 今后将使用新站点地图。

Googlebot 及我们的系统需要花费一段时间才能发现并处理网站迁移中的所有网址,所需的具体时间将取决于您服务器的速度和所涉网址的数量。一般来说,中小型网站可能需要几周的时间才能迁移大多数网页,大型网站则可能需要更长的时间。Googlebot 和我们的系统发现及处理已迁移网址的速度取决于网址数量和服务器速度。

在网站开始迁移后,请立即尝试更新尽可能多的传入链接,以改善用户体验并降低服务器负载。其中包括:

  • 内部链接:根据您之前创建的网址映射,替换指向您自己的网页的所有网址。
  • 外部链接:设法与链接至您当前内容的已保存网站列表中的网站取得联系,请求他们将原来的那些链接更新为指向您的新网站。建议您根据每个链接所能带来的入站访问量安排工作优先级。
  • 来自 Facebook、Twitter 及 LinkedIn 等的个人资料链接。
  • 指向新着陆页的广告系列。

监控流量

开始迁移网站后,监控新旧网站的用户和抓取工具流量变化情况。理想情况下,旧网站的流量会下降,而新网站的流量会增加。您可以使用 Search Console 和其他工具监控网站上的用户和抓取工具活动。

使用 Search Console 监控流量

Search Console 中的许多功能都可以帮助您监控网站迁移过程,其中包括:

  • 站点地图:提交您之前为映射关系保存的两份站点地图。最初,包含新网址的站点地图被编入索引的网页数量为零,而旧网址的站点地图会有很多网页被编入索引。慢慢地,包含旧网址的站点地图中被编入索引的网页数量会逐渐减少到零,而包含新网址的站点地图中被编入索引的网页数量会相应地增加。请注意,Search Console 可能会显示与站点地图相关的警告,其中站点地图包含重定向网址的旧网址;这很正常,您可以忽略这些警告:事实上,您毕竟是移至新网址。
  • “索引涵盖范围”报告:这些图表可反映网站迁移的情况,能够显示旧网站上被编入索引的网址数量逐渐减少,而新网站上被编入索引的网址数量逐渐增加。请定期查看此报告,以便及时了解是否发生了任何意外的抓取错误。
  • 搜索查询:随着新网站上越来越多的网页被编入索引并开始加入排名,搜索查询报告会开始显示新网站上的网址获得的搜索展示次数及点击次数。

使用其他工具监控流量

请留意您的服务器访问和错误日志,尤其要仔细检查 Googlebot 的抓取活动、意外返回 HTTP 错误状态代码的任何网址以及正常的用户流量。

如果您已在自己的网站上安装了任意一款网络分析软件,或者如果您的 CMS 可以提供分析功能,我们也建议您通过这种方式查看流量,了解流量从旧网站转向新网站的进展。尤其是,Google Analytics(分析)可提供实时报告,这是一项非常适合在网站迁移初始阶段使用的便捷功能。在这类报告中,您应该会看到旧网站的流量逐渐下降,而新网站的流量逐渐增加。

其他资源

网站迁移工作可能非常复杂,具体实施过程可能有各种技巧。我们发现 Aleyda Solis 的网站迁移核对清单特别有用,而 Screaming Frog 工具指南对网站迁移也很有帮助。

如果您在迁移过程中遇到问题,请在 Google 搜索中心上寻求帮助。
我们的帮助页面上有大量实用的建议,同时我们的用户论坛中也有针对特定问题的解答。如果您没有找到答案,可以在我们的搜索引擎优化 (SEO) 咨询交流时间活动期间向 Google 搜索专家提问。

排查网站迁移问题

下面列出了在更改网址的情况下迁移网站(包括从 HTTP 迁移到 HTTPS)时会出现的一些常见错误。这些错误可能会阻止系统将您的新网站完整地编入索引。

常见错误

noindex 或 robots.txt 屏蔽设置

请记得移除仅在迁移时需要使用的所有 noindex 或 robots.txt 屏蔽设置。

网站中可以没有 robots.txt 文件,但如果不存在 robots.txt 文件,请务必返回正确的 404 HTTP 状态代码。

测试方法

  • 检查 HTTPS 网站中的 robots.txt 文件,看看是否需要进行更改。
  • 使用网址检查工具检查 Google 似乎漏掉的新网站网页。

重定向不正确

检查从旧网站到新网站的重定向。我们经常看到重定向至新网站中的错误网址(不存在的网址)的情况。

您可以使用 Search Console 查看报告的“未找到”错误数是否异常高,或者您可以使用 Screaming Frog 等其他工具抓取您自己的网站,确认重定向是否按预期运行。

其他抓取错误

仔细检查“索引涵盖范围”报告,看看在迁移期间,新网站中的其他错误是否出现了激增的情况。

服务器容量不足

迁移完成后,Google 会比平时更频繁地抓取您的新网站。这是因为网站会将流量从旧网站重定向至新网站,并且对旧网站的所有抓取都会重定向至新网站,在任何其他抓取之外造成额外负担。请确保您的网站拥有充足的容量,能够处理来自 Google 的更多流量。

未更新站点地图

请确保您的站点地图中的网址已全部更新为新网址。