WordPress全站转移实战案例:域名服务器搞不懂也能搞定

WordPress全站转移实战案例:域名服务器搞不懂也能搞定

你是不是也遇到过这样的情况,公司要搬迁服务器,或者换了域名,结果 WordPress 站点一转移就出问题,页面打不开、图片失踪、链接404?别急,这不是你一个人的问题。今天我就结合一个四川本地企业的实战案例,带你从零到一搞懂 WordPress 全站转移的全过程,不管你是第一次接触还是想优化现有站点,这篇内容都值得收藏。


需求分析:为什么企业要转移 WordPress 站点?

四川本地一家做农业电商的企业,之前用的是阿里云服务器,但因为业务扩张,他们决定迁移至腾讯云。迁移不仅仅是服务器更换,还涉及到域名变更、备案转移、数据库迁移、SSL证书更新等一系列问题。

他们的主要诉求是:

  • 保留原有内容和数据,不丢失任何页面或文章
  • 确保网站在迁移过程中不出现宕机或内容缺失
  • 迁移完成后,网站能正常运行并通过工信部ICP备案系统验证

这其实是很多企业迁移 WordPress 站点时的典型需求,也是一些新手容易忽略的关键点。接下来我们一步步拆解。


环境准备:迁移前的检查清单

迁移前的准备工作是整个过程最关键的一环,也是最容易出错的地方。如果你跳过这一步,迁移过程中可能会遇到很多“诡异”的错误。

1. 备份网站和数据库

务必在迁移前做好完整备份,防止数据丢失

  • 登录当前 WordPress 后台,进入 工具 > 导出,下载 XML 文件,这能保留文章、页面、评论等结构数据。
  • 使用 phpMyAdmin 或数据库管理工具(如 Navicat) 导出 MySQL 数据库。
  • 使用 FTP 或 WP-CLI 工具下载整个网站的文件目录。

小贴士:如果你使用的是 cPanel 或宝塔面板,这些平台一般都有一键备份功能,推荐使用。

2. 检查域名和备案情况

在迁移前,确认新服务器是否支持你的域名,是否已经完成工信部ICP备案。如果域名变更,备案也需要重新提交。

  • 如果使用的是阿里云、腾讯云等大平台,可以直接在后台申请备案。
  • 如果你打算将网站迁移到海外服务器(比如美国或欧洲),则需要考虑是否符合国内网络监管要求。

注意:备案信息必须与服务器提供商一致,否则网站可能无法访问。

3. 准备新服务器环境

新服务器必须支持 PHP、MySQL(或 MariaDB)以及 WordPress 所需的插件和主题。

  • 建议 PHP 版本不低于 7.4
  • MySQL 版本不低于 5.6
  • 域名解析必须指向新服务器的 IP 或 CDN 地址
  • 开启 SSL 证书(建议使用 Let's Encrypt 免费证书)

核心步骤:WordPress 全站转移流程

现在我们进入迁移的“重头戏”——WordPress 站点的完整转移。这部分操作要分阶段来,避免一次性操作过多导致出错。

第一步:迁移文件(FTP/SCP)

将原服务器上的 WordPress 文件夹(即 public_html 或网站根目录)下载到本地,然后上传至新服务器的对应目录。

示例代码:使用 SCP 命令传输文件(Linux 系统)

scp -r /path/to/your/wordpress-site user@newserver_ip:/var/www/html/

注意:确保上传后的文件权限正确,一般建议设置为 644(文件)和 755(文件夹)。

第二步:迁移数据库

将原服务器的数据库导出为 .sql 文件,然后导入新服务器的数据库中。

示例代码:使用 MySQL 命令导入数据库

mysql -u new_user -p new_database < /path/to/your/backup.sql

关键点:导入后记得修改数据库配置文件 wp-config.php 中的数据库连接信息,包括用户名、密码、数据库名。

示例代码:wp-config.php 配置修改

define('DB_NAME', 'new_database_name');
define('DB_USER', 'new_username');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'localhost');

第三步:修改网站地址

在数据库导入完成后,WordPress 的站点地址可能还是旧服务器的 URL,需要更新为新域名或 IP。

方法一:使用 SQL 命令更新数据库

运行以下 SQL 语句来更新 WordPress 的站点地址:

UPDATE wp_options SET option_value = replace(option_value, 'http://old-domain.com', 'http://new-domain.com') WHERE option_name = 'siteurl' OR option_name = 'home';
UPDATE wp_posts SET post_content = replace(post_content, 'http://old-domain.com', 'http://new-domain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://old-domain.com', 'http://new-domain.com');

方法二:使用插件(如 “Better Search Replace”)

如果你不想手动操作数据库,可以安装插件 Better Search Replace,它可以在 WordPress 后台一键搜索并替换所有旧域名链接为新域名。


代码/配置示例:常见 WordPress 文件配置

在迁移过程中,有几个关键文件需要特别关注,特别是 wp-config.php 和 .htaccess。

1. wp-config.php 配置示例

define('DB_NAME', 'new_database_name');
define('DB_USER', 'new_user');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');define('WP_DEBUG', false);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

提示:WP_DEBUG 开启后可以查看错误日志,便于排查问题。

2. .htaccess 文件配置

如果网站出现 404 错误,可能是 .htaccess 文件未正确生成或权限设置错误。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

关键点:确保 .htaccess 文件权限设置为 644,避免权限问题导致 WordPress 无法写入规则。


常见报错与解决方案

迁移过程中常见的错误包括数据库连接失败、文件权限错误、SSL 证书失效等。下面列举几个典型问题和解决方法。

问题一:数据库连接失败

错误信息:Error establishing a database connection

原因:

  • 数据库用户名、密码、数据库名错误
  • 数据库服务器地址错误(如使用远程数据库时 IP 或端口不对)

解决方案:

  • 检查 wp-config.php 中的数据库配置是否正确
  • 如果是远程数据库,确认服务器允许外部连接(如开放 3306 端口)
  • 确保数据库用户有权限访问数据库

问题二:文件权限错误

错误信息:Warning: fopen(/path/to/file): failed to open stream: Permission denied

原因:

  • 文件或文件夹权限不足,无法读写
  • SELinux 或 AppArmor 等安全模块限制了文件访问

解决方案:

  • 修改文件权限:
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
  • 如果使用 SELinux,可以执行以下命令放宽限制:
chcon -R -t httpd_sys_content_t /var/www/html

问题三:SSL 证书无法加载

错误信息:Mixed content: The page at 'https://new-domain.com' was loaded over HTTPS, but requested an insecure script 'http://old-domain.com/script.js'

原因:

  • 部分链接未更新为 HTTPS(旧链接仍使用 HTTP)
  • 插件或主题引用了外部资源,但未使用 HTTPS

解决方案:

  • 检查所有插件和主题是否支持 HTTPS
  • 使用插件 Really Simple SSL 或 SSL Insecure Content Fixer 来自动修复链接
  • 使用 Chrome 开发者工具查看网络请求,确认是否有 HTTP 请求

小结:四川本地企业的迁移经验总结

通过本次迁移,我们总结出几点经验,供你参考:

  1. 迁移前备份是第一位,别图省事跳过这一步。
  2. 数据库配置必须准确无误,否则网站将无法访问。
  3. 检查 SSL 证书和域名解析,否则即使网站迁移完成,用户也无法正常访问。
  4. 备案信息必须与服务器一致,否则网站可能被屏蔽。
  5. 使用插件进行域名替换,比手动修改数据库更安全、高效。

如果你还在为 WordPress 全站转移烦恼,不妨按照上面的步骤一步步来。如果你的网站规模较大,可以考虑使用工具如 Duplicator 或 All-in-One WP Migration 来简化迁移流程。


建站花了多少钱?留言说说真实价格,看看同行是怎么操作的,也许你能节省一大笔预算。