WordPress开发笔记

搬家

WordPress网站搬家全攻略教程:从手动备份到一键迁移

为WordPress网站搬家(迁移)是站长常会遇到的任务,无论是更换服务器、更换域名,还是从本地环境上线到服务器。一个错误的步骤就可能导致网站无法访问或数据丢失。本指南将为您提供一套完整、安全的搬家方案。

一、 核心原则:安全第一,备份先行

在开始任何搬家操作之前,请牢记一条黄金法则:永远先备份! 这是避免数据丢失最根本、最有效的方法。

自行保存备份的方法:

一个完整的WordPress备份包括两部分:网站文件数据库

  1. 网站文件备份:
    • 通过FTP/SFTP工具(如FileZilla): 连接到您的服务器,将网站根目录(通常是 /public_html/www 或以您域名命名的文件夹)下的所有文件下载到本地电脑。
    • 通过主机控制面板(如cPanel): 进入“文件管理器”,找到网站根目录,将其全部压缩(如.zip格式),然后下载压缩包。
  2. 数据库备份:
    • 通过phpMyAdmin(最常用):
      • 在主机控制面板中找到并打开phpMyAdmin。
      • 选择您的WordPress数据库(通常以wp_开头)。
      • 点击顶部菜单的“导出”选项。
      • 选择导出方法为“快速”或“自定义”。在自定义中,建议选择“SQL”格式,并确保勾选了“创建数据库/表”等选项。
      • 执行导出,将.sql文件保存到本地。

专业建议: 将文件和数据库备份保存在至少两个不同的地方,例如本地硬盘和云盘。


二、 WordPress网站搬家的两大方法

您可以根据自己的技术舒适度选择手动搬家或使用插件搬家。

方法一:手动搬家(最彻底,适用于所有情况,包括跨服务器)

这种方法让您对整个流程有完全的控制权,非常适合学习理解WordPress的架构。

步骤详解:

  1. 准备工作:获取新服务器信息
    • 获取新服务器的FTP/SFTP信息、数据库信息(数据库名、用户名、密码、主机地址)。
    • 在新服务器上创建一个新的空数据库和对应的用户,并赋予该用户所有权限。
  2. 迁移网站文件
    • 使用FTP工具,将您在旧服务器上备份的所有网站文件上传到新服务器的网站根目录。
  3. 迁移数据库
    • 打开新服务器的phpMyAdmin。
    • 选择您刚创建的空数据库。
    • 点击“导入”选项卡,选择您之前导出的.sql备份文件,然后执行。
  4. 修改WordPress配置文件
    • 由于数据库信息和网站地址可能已改变,需要更新配置文件。
    • 找到并编辑新服务器网站根目录下的 wp-config.php 文件。
    • 修改以下代码段中的值,使其与新服务器的数据库信息匹配:
      php define('DB_NAME', '新数据库名'); define('DB_USER', '新数据库用户名'); define('DB_PASSWORD', '新数据库密码'); define('DB_HOST', '新数据库主机(通常是localhost)');
    • 重要: 如果您的网站域名也发生了变化,还需要在此文件末尾添加以下两行代码(临时解决访问问题):
      php define('WP_HOME', 'http://您的新域名'); define('WP_SITEURL', 'http://您的新域名');
  5. 修改数据库中的站点地址(如果换了域名)
    • 如果域名没变,跳过此步。
    • 在新服务器的phpMyAdmin中,打开您的WordPress数据库。
    • 找到 wp_options 表(注意:表前缀wp_可能不同)。
    • option_namesiteurlhomeoption_value 字段值,修改为您的新域名。
  6. 测试与解析
    • 测试: 在正式解析域名前,可以通过修改本地hosts文件的方式,将域名临时指向新服务器IP,以测试新站点是否工作正常。
    • 解析域名: 测试无误后,到您的域名注册商或DNS服务商处,将域名的A记录解析到新服务器的IP地址。
    • 清除缓存: 完成解析后,访问新网站,并清除WordPress、浏览器及任何缓存插件的缓存。

方法二:利用插件进行搬家(最快捷,适合同域名迁移)

对于不想接触代码和数据库的用户,插件是完美的解决方案。这里以最受欢迎的 All-in-One WP MigrationDuplicator 为例。

使用 All-in-One WP Migration 插件:

  1. 在旧网站安装插件: 在插件商店搜索 “All-in-One WP Migration” 并安装激活。
  2. 导出备份: 进入插件页面,点击“导出”。您可以选择导出为文件,它会自动打包整个网站(文件+数据库)。下载生成的 .wpress 文件到本地。
  3. 在新网站安装插件: 在新的服务器上安装一个全新的WordPress,并同样安装此插件。
  4. 导入备份: 进入新网站的插件页面,点击“导入”,然后上传您之前下载的 .wpress 文件。
  5. 自动替换: 插件会自动用旧网站的数据覆盖新网站的数据库和文件,完成所有URL的替换。完成后,需要重新登录。

使用 Duplicator 插件:

  1. 在旧网站创建包: 安装并激活 “Duplicator”。它会引导您创建一个“安装包”(包含所有文件和一个安装程序)。
  2. 下载包文件: 完成后,您会得到两个文件:archive.zip(网站数据)和 installer.php(安装程序)。将它们都下载到本地。
  3. 上传到新服务器: 通过FTP将这两个文件上传到新服务器的空网站根目录
  4. 运行安装程序: 在浏览器中访问 http://您的新域名/installer.php
  5. 跟随向导: 按照屏幕提示完成步骤,包括检查环境、输入新数据库信息、更新站点URL等。Duplicator会自动解压文件并配置数据库。

插件搬家的优点:

  • 操作简单,无需技术知识。
  • 自动处理序列化数据问题(手动修改容易出错)。
  • 速度快,一体化操作。

插件搬家的局限性:

  • 免费版通常有文件大小限制(如All-in-One WP Migration)。
  • 在某些特殊服务器环境下可能遇到兼容性问题。

三、 处理跨服务器类型迁移的特殊情况

从共享主机到VPS、从Apache到Nginx,这些都属于跨服务器类型迁移。

  • Web服务器软件变更(如 Apache → Nginx):
    • 问题: 原有的 .htaccess 文件(Apache的URL重写规则)在Nginx上无效。
    • 解决方案: 您需要将 .htaccess 中的重写规则转换为Nginx的配置格式,并写入到站点的Nginx配置文件中。通常可以在网上找到转换工具,或请服务器管理员帮忙。
    • 插件影响: 某些缓存插件(如W3 Total Cache, WP Super Cache)会为特定服务器生成配置,迁移后最好重置这些插件的配置。
  • PHP版本升级:
    • 机会: 新服务器通常支持更高版本的PHP,能提升网站性能和安全。
    • 风险: 旧的WordPress主题或插件可能与新PHP版本不兼容。
    • 解决方案: 在迁移前,在旧站点上提前测试新PHP版本。许多主机商允许您在cPanel等面板中临时切换PHP版本进行测试。
  • 操作系统差异(如 Linux → Windows):
    • 一般不推荐 在Windows上运行WordPress,因为路径和大小写敏感性问题可能导致兼容性故障。如果必须迁移,请确保所有插件和主题都明确支持Windows环境,并特别注意文件路径的配置。

四、 搬家后的最终检查清单

完成迁移后,请务必逐一检查以下项目:

  1. 网站能否正常访问? 检查首页、内页。
  2. 能否正常登录后台?
  3. 固定链接是否生效? 随意打开一篇文章,看是否是404错误。如果是,去后台“固定链接”设置里直接点击“保存更改”即可刷新重写规则。
  4. 图片和媒体文件是否显示? 检查文章内的图片、缩略图。
  5. 插件和主题是否正常工作? 逐个检查核心功能。
  6. SSL证书是否安装并生效? 检查网站地址是否为 https 且没有安全警告。
  7. 更新DNS解析并等待全球生效(通常需要几分钟到几小时)。
  8. 最后,确保旧网站已完全备份并保留一段时间(如一周),再考虑关闭或删除。

无论您选择哪种方法,完整的备份都是您信心的来源。对于新手,推荐从 All-in-One WP MigrationDuplicator 插件开始。对于希望深入了解或有复杂需求的用户,手动迁移是宝贵的技能。遵循本指南,您将能从容应对各种WordPress搬家挑战,最大程度地避免数据丢失,让您的网站在新家平稳运行。