核心迁移步骤(通用流程)

无论你的网站是迁移到新域名、新主机,还是两者都变,核心步骤都大同小异,主要包括:

wordpress 迁移网站
(图片来源网络,侵删)
  1. 准备工作: 备份、检查信息。
  2. 导出文件: 将网站的所有文件(主题、插件、上传的图片等)下载到本地。
  3. 导出数据库: 将网站的数据库内容(文章、页面、设置、用户等)导出为 .sql 文件。
  4. 上传文件到新服务器: 将下载的文件上传到新主机的相应目录。
  5. 导入数据库到新服务器: 创建新的数据库,并将 .sql 文件导入。
  6. 修改配置文件: 更新 wp-config.php 文件中的数据库信息。
  7. 修改网站地址(可选但关键): 更新数据库中的网站 URL 和主页 URL。
  8. 最终检查: 清理缓存、测试网站功能。

详细操作指南

第一步:准备工作(至关重要!)

  1. 完整备份

    • 为什么重要? 这是防止迁移过程中出现任何意外(如文件损坏、数据丢失)的最后一道防线。
    • 如何备份?
      • 使用插件(推荐新手): 安装并激活 All-in-One WP MigrationDuplicator 等插件,它们可以一键打包你的网站文件和数据库成一个 .zip.wpress 文件,方便下载和恢复。
      • 手动备份:
        • 文件备份: 通过 FTP 或主机控制面板的文件管理器,下载你网站根目录下的所有文件(通常是 public_htmlwww 目录)。
        • 数据库备份: 在主机控制面板(如 cPanel, Plesk)中找到“phpMyAdmin”,选择你的 WordPress 数据库,然后点击“导出”,选择“快速”或“自定义”,格式选“SQL”,最后点击“执行”下载 .sql 文件。
  2. 记录关键信息

    • 旧主机信息: FTP 主机地址、用户名、密码;旧数据库主机、数据库名、数据库用户名、数据库密码。
    • 新主机信息: 新 FTP 主机地址、用户名、密码;新数据库主机(通常是 localhost)、数据库名、数据库用户名、数据库密码(这些信息在你创建新数据库和新用户后,新主机商会提供)。
    • 新旧域名: 清晰地记下你的旧域名和新域名。

第二步:执行迁移

仅迁移到新主机(域名不变)

这种情况最简单,因为不需要修改网站地址。

  1. 上传文件: 使用 FTP 工具(如 FileZilla)连接到新主机,将你下载的旧网站文件上传到新主机的根目录(public_html)。
  2. 导入数据库:
    • 登录新主机的控制面板,创建一个新的数据库和数据库用户,并授予该用户所有权限。
    • 进入 phpMyAdmin,选择你刚刚创建的新数据库,点击“导入”,选择你之前备份的 .sql 文件,然后点击“执行”。
  3. 修改配置文件:
    • 通过 FTP 或文件管理器,找到新主机上的 wp-config.php 文件。
    • 用记事本打开它,将数据库信息(DB_NAME, DB_USER, DB_PASSWORD, DB_HOST)替换成新主机的信息。
  4. 完成: 清理浏览器缓存,访问你的旧域名,网站应该已经在新主机上正常运行了。

迁移到新域名(主机不变或也变)

这是最常见也最容易出错的情况,因为需要修改网站内部的链接。

wordpress 迁移网站
(图片来源网络,侵删)
  1. 上传文件和导入数据库: 重复上述步骤,将文件上传到新位置(可能是同一个主机的新目录,或新主机的根目录),并将数据库导入到新的数据库中。
  2. 修改 wp-config.php 和情况一一样,更新数据库连接信息。
  3. 修改数据库中的 URL(关键步骤):
    • 方法A:使用插件(最简单、最安全)
      • 在你的 WordPress 后台(通过旧域名或临时域名登录),安装并激活 Better Search Replace 插件。
      • 进入“工具” -> “Better Search Replace”。
      • 在“Search for”框中输入你的旧域名http://www.old-domain.com)。
      • 在“Replace with”框中输入你的新域名https://www.new-domain.com)。
      • 确保“Run as dry run first”是勾选的,先点击“Run Search/Replace”,检查替换是否正确。
      • 确认无误后,取消勾选“Run as dry run first”,再次点击“Run Search/Replace”执行最终替换。
      • 完成后,停用并删除这个插件。
    • 方法B:手动修改数据库(适合高级用户)
      • 登录新主机的 phpMyAdmin,选择你的 WordPress 数据库。
      • 找到 wp_options 表(如果你的表前缀不是 wp_,请找到对应的前缀)。
      • 点击“浏览”,找到 option_namesiteurlhome 的两行记录。
      • 点击“编辑”,将 option_value 中的旧域名修改为新域名,然后点击“执行”保存。
  4. 重定向(SEO 最佳实践):
    • 为了让搜索引擎和旧访客能顺利跳转到新网站,你需要设置 301 永久重定向。
    • 如果使用 Apache 服务器: 在新网站的根目录下创建或修改 .htaccess 文件,添加以下代码:
      Redirect 301 / http://www.new-domain.com/
    • 如果使用 Nginx 服务器: 在 Nginx 配置文件中添加:
      server {
          listen 80;
          server_name www.old-domain.com old-domain.com;
          return 301 $scheme://www.new-domain.com$request_uri;
      }
    • 使用插件: 如果你还在旧主机上,可以安装 Redirection 插件来设置重定向规则。

特殊情况处理

如何处理 SSL/HTTPS 证书?

  1. 新主机提供免费 SSL: 如果你使用的是新主机,并且他们提供 Let's Encrypt 等免费 SSL 证书,迁移完成后,通常在主机控制面板(如 cPanel 的 “SSL/TLS Status”)或通过一个插件(如 Really Simple SSL)一键开启即可。
  2. 手动配置: 如果你需要手动安装证书,请确保在修改 siteurlhome 时使用 https:// 开头,然后按照你的主机服务商的指引上传你的证书文件(.crt, .key 等)。

如何处理“建立数据库连接时出错”?

这是最经典的错误,几乎 100% 是因为 wp-config.php 文件中的数据库信息不正确。

  • 解决方案:
    1. 再次检查 wp-config.php 中的 DB_NAME, DB_USER, DB_PASSWORD, DB_HOST 是否完全正确,包括大小写和空格。
    2. 确认数据库用户是否拥有对新数据库的“所有权限”。
    3. DB_HOST 不是 localhost,请确认新主机提供的正确主机地址是什么(有时是 localhost,有时是 mysql.example.com)。

如何处理网站样式丢失或页面混乱?

这通常是因为网站的“站点地址(URL)”和“WordPress 地址(URL)”在数据库中不正确,或者主题/插件路径问题。

  • 解决方案:
    1. 再次使用 Better Search Replace 插件检查是否所有 http:// 都被替换成了 https://,或者所有旧域名都被替换了。
    2. 检查 wp_options 表中的 siteurlhome 是否都指向了新域名。
    3. 尝试在 wp-config.php 文件中添加以下两行代码,临时禁用所有插件,然后刷新网站看是否恢复正常:
      define('WP_PLUGIN_DIR', '/path/to/your/wp-content/plugins'); // 确保路径正确
      define('WP_ACTIVE_PLUGINS', array()); // 禁用所有插件

      如果网站恢复了,说明是某个插件冲突,再逐个重新激活插件排查问题。


推荐工具总结

  • 备份/迁移插件:
    • All-in-One WP Migration: 极度简单,一键打包、下载、导入,适合新手。
    • Duplicator: 功能强大,可以创建安装包,适合更复杂的迁移和项目分发。
  • URL 替换插件:
    • Better Search Replace: 免费、强大、安全,是替换数据库内容的利器。
    • Velvet Blues Update URLs: 专门用于更新 URL,操作简单。
  • 重定向插件:
    • Redirection: 功能全面的 404 错误和重定向管理工具。

迁移后检查清单

  1. [ ] 首页是否能正常访问?
  2. [ ] 文章和页面是否能正常打开?链接是否正确?
  3. [ ] 图片和媒体是否能正常显示?
  4. [ ] 侧边栏、页脚等小工具是否显示正常?
  5. [ ] 导航菜单是否正确?
  6. [ ] 所有插件是否功能正常?是否需要重新配置?
  7. [ ] 主题设置是否丢失?
  8. [ ] 用户登录是否正常?
  9. [ ] 联系表单等功能是否正常工作?
  10. [ ] 旧域名是否正确重定向到了新域名?

遵循以上步骤,你的 WordPress 网站迁移过程将会非常顺利。备份永远是第一步!祝你迁移成功!

wordpress 迁移网站
(图片来源网络,侵删)