WordPress网站手工迁移全攻略,从备份到上线

来自:素雅营销研究院

头像 方知笔记
2025年07月04日 08:19

一、为什么要手工迁移WordPress网站

WordPress网站手工迁移是每个站长都可能面临的挑战,无论是更换服务器、迁移到新域名,还是从本地环境部署到线上服务器。与使用插件自动迁移相比,手工迁移虽然步骤繁琐,但能让你更全面地掌控整个过程,特别适合:

  1. 大型网站迁移(避免插件超时问题)
  2. 需要定制化迁移方案的情况
  3. 服务器环境有特殊配置要求
  4. 作为学习WordPress架构的实践机会

二、迁移前的准备工作

1. 完整备份网站

  • 通过FTP下载wp-content目录(包含主题、插件和上传文件)
  • 导出数据库(可使用phpMyAdmin或命令行mysqldump)
  • 记录当前网站的配置信息(如.htaccess内容)

2. 检查服务器环境

  • 确保新服务器满足WordPress最低要求(PHP版本、MySQL版本)
  • 比较新旧服务器的环境差异(如PHP模块)

3. 准备迁移工具

  • FTP客户端(FileZilla等)
  • 数据库管理工具(phpMyAdmin或Adminer)
  • 文本编辑器(修改配置文件用)

三、详细迁移步骤

1. 文件迁移

# 通过FTP/SFTP上传所有WordPress文件到新服务器
# 保持目录结构一致(通常上传到public_html或www目录)

2. 数据库迁移

  • 在新服务器创建空白数据库和用户
  • 导入之前导出的SQL文件
  • 执行关键替换命令(如修改站点URL):
UPDATE wp_options SET option_value = replace(option_value, 'http://旧域名', 'http://新域名') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace(post_content, 'http://旧域名', 'http://新域名');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://旧域名', 'http://新域名');

3. 配置文件调整

  • 修改wp-config.php中的数据库连接信息
  • 检查并更新以下配置:
define('DB_NAME', '新数据库名');
define('DB_USER', '新数据库用户');
define('DB_PASSWORD', '新数据库密码');
define('DB_HOST', '新数据库主机');

4. 处理特殊文件

  • 检查并更新.htaccess文件
  • 验证wp-content/uploads目录权限(通常设为755或775)

四、迁移后检查清单

  1. 基本功能测试
  • 前台页面能否正常访问
  • 后台/wp-admin能否登录
  • 文章、页面内容是否完整
  1. 链接检查
  • 内部链接是否全部更新为新域名
  • 图片等媒体文件是否能正常显示
  1. 功能验证
  • 测试表单提交功能
  • 检查插件是否正常工作
  • 验证主题所有功能
  1. 性能优化
  • 更新固定链接结构(必要时重写.htaccess)
  • 清除缓存(插件缓存、浏览器缓存)

五、常见问题解决方案

问题1:出现”建立数据库连接错误”

  • 检查wp-config.php中的数据库配置
  • 确认数据库服务是否正常运行
  • 验证数据库用户权限

问题2:页面样式错乱

  • 检查主题文件是否完整上传
  • 查看浏览器控制台是否有404错误
  • 尝试重新保存固定链接设置

问题3:媒体文件无法显示

  • 确认uploads目录权限设置正确
  • 检查数据库中的媒体文件路径是否更新
  • 考虑使用Better Search Replace插件进行批量替换

六、高级迁移技巧

  1. 使用SSH加速大文件迁移
# 使用rsync命令同步文件(比FTP更高效)
rsync -avz -e ssh /本地/路径/ 用户名@服务器IP:/远程/路径/
  1. 处理序列化数据
  • 使用专门工具处理序列化字符串的替换
  • 推荐WP-CLI的search-replace命令:
wp search-replace '旧域名' '新域名' --all-tables
  1. 多站点迁移特别注意事项
  • 需要额外处理wp_blogs表中的站点信息
  • 检查并更新wp_site和wp_sitemeta表内容

手工迁移WordPress网站虽然需要耐心和细心,但掌握这项技能将使你能够更灵活地管理网站。建议首次迁移时在测试环境练习,并始终保持完整的备份。随着经验积累,你会发现手工迁移其实是一个系统而有条理的过程。