WordPress 网站搬迁到新服务器,核心任务是将网站文件和数据库完整复制到新环境,并确保所有配置正常运作。整个过程不需要高深的编程知识,但任何一个环节的疏漏,比如漏传文件或数据库导入出错,都可能导致网站宕机或数据丢失。本文按照实际操作的先后顺序,为你梳理迁移的完整流程,并指出每一步需要注意的细节。
在动手打包任何数据之前,先花时间了解新服务器的配置情况,可以省去后续大量的排查时间。这个阶段虽然不会直接产生迁移动作,但直接关系到迁移是否顺利。
虽然市面上有许多备份插件,但手动备份更直观,能让你清楚掌握文件的存放位置和数据库的导出格式,出现问题也更容易定位。文件和数据库需要分开处理,两者缺一不可。
登录旧主机的phpMyAdmin,选中WordPress对应的数据库。点击顶部的“导出”选项卡,在导出方式中选择“自定义”。确保输出格式为SQL,并在“对象创建”选项区域中,勾选“添加DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER语句”。这样做能确保在导入新库时,若存在同名表会先被删除,避免表结构冲突导致导入中断。设置完成后点击“执行”,将生成的SQL文件保存到本地电脑。
使用FTP工具连接旧服务器,进入网站根目录(常见目录名为public_html、wwwroot或站点专属文件夹)。全选目录下所有内容进行下载。注意在FileZilla等工具的菜单栏中,开启“强制显示隐藏文件”选项,否则像.htaccess和wp-config.php这类关键文件会被默认隐藏,导致下载不完整。如果下载过程中遇到大量文件传输失败,不要反复重试某个文件,应立即暂停,考虑改用主机商协助打包的方式,以防因文件缺失造成迁移后网站功能异常。
避坑提醒:数据库导出时若遗漏DROP语句,当新数据库中已有同名表时,导入过程会直接报错。另外,wp-config.php文件中的数据库主机字段与新环境不符,网站会提示“数据库连接错误”。
在开始导入前,务必确保已在新服务器上创建好空数据库和专用的数据库用户,并为该用户授予全部权限。完成这些前置操作后,即可开始还原数据。
将之前下载的网站文件上传到新服务器的根目录。上传时保持原有的目录层级结构,不要改变文件的位置。同样需要确保隐藏文件被一并上传,例如.htaccess文件对固定链接功能至关重要。上传完成后,你会看到新服务器目录下同时存在wp-admin、wp-includes和wp-content等核心文件夹。
文件上传和数据库导入只是迁移的一半,修改配置文件并让域名指向新服务器,才是真正让网站在新环境“活过来”的关键。
在网站根目录找到wp-config.php文件,用文本编辑器打开,找到以下三行代码并修改为新服务器对应的值:
同时,检查wp-config.php中是否有独特的安全密钥(由define定义),如果没有,建议从官方生成密钥并替换,以增强站点安全性。但需注意,修改密钥会导致用户自动退出登录,不影响其他数据。
登录你的域名注册商后台,找到DNS解析设置。将原来指向旧服务器IP的A记录或CNAME记录,修改为新服务器的IP地址。DNS生效需要一定时间,通常从几分钟到48小时不等。如果网站在迁移前已经能通过新IP访问,也可以先修改本地电脑的hosts文件进行测试,待确认无误后再做全局DNS切换。
如果网站迁移后更换了域名,仅修改DNS是不够的,还需要对数据库中的旧域名进行全局替换。否则,文章内部的图片链接、内链地址以及后台设置会继续指向旧域名,导致页面样式错乱或链接失效。
完成替换后,登录旧域名下的后台,点击“设置-固定链接”,不需要改动任何选项,直接点击“保存设置”以刷新重写规则。如果网站使用了自定义的缓存插件,建议同时清空缓存文件。
DNS生效后,网站应该可以通过域名正常访问。这时候不要急着宣布大功告成,还需要对网站功能和数据进行一次系统性的核对。以下是推荐的检查步骤:
这个问题通常是缓存导致的。先清空浏览器缓存和站点本地的网页缓存插件(如WP Rocket或W3 Total Cache)。如果仍未解决,检查wp-config.php中是否定义了WORDPRESS_HOME和WP_SITEURL常量,确保其值指向新域名。此外,部分安全插件(如Wordfence)会锁定IP白名单,若旧IP不在新环境的白名单中,也可能触发重定向循环。
这是迁移后最常见的报错。首先检查wp-config.php中的DB_NAME、DB_USER和DB_PASSWORD是否准确无误。其次,确认新服务器的MySQL中确实存在该数据库,且用户名具有本地访问权限。部分主机商要求数据库用户主机字段设置为特定值(如localhost或%),若设置不匹配也会导致连接失败。
若未通过SQL语句批量替换wp_posts表中的内容,站内图片等静态资源会继续请求旧地址。需要再次登录phpMyAdmin,在SQL执行窗口运行UPDATE wp_posts SET post_content = REPLACE(post_content, '旧域名', '新域名');,并同步替换自定义字段等。若使用了第三方图床,则需确认外链地址是否仍然有效。
顺利完成WordPress迁移,核心在于严谨的备份、细致的参数核对和迁移后的逐项验证。在整个操作过程中,强烈建议先在本地或临时子目录中完成一次试迁移,熟悉流程后再对线上站点进行正式操作,能极大降低出错风险。迁移完成后,建议及时对全站做一次增量备份,并将新环境的数据库密码、FTP凭据妥善保管,以便在后续出现问题时能快速恢复。