当你想更换服务器商、提升主机配置,或者把本地搭建的测试站点搬到线上运行时,都会面临WordPress网站迁移的问题。整个流程的核心在于确保文件和数据库完整无缺,并且域名能正确指向新环境。下面这套方法能帮你系统性完成搬迁,减少出错概率。
动手搬家前,先核对新服务器的软件环境是否符合要求。确保PHP版本在7.4以上,数据库使用MySQL 5.6及以上版本或MariaDB 10.1以上版本,Web服务器推荐Apache或Nginx并开启伪静态支持。这些条件不满足,网站可能出现白屏或后台无法登录的情况。
收集新主机的FTP或SFTP登录信息、数据库创建权限,同时检查旧站当前状态是否正常。建议提前记录下原网站的固定链接格式,例如是“/%postname%/”还是带日期格式,便于后续恢复时保持一致。
关于插件和主题,迁移前最好把非必要的缓存类、安全监控类和临时测试类插件停用,只保留必需的商业或定制功能插件。这样能降低环境差异带来的兼容问题,也能减少迁移数据量。
另外,确认网络传输稳定,尤其当网站文件体积较大时,使用有线网络或可靠的连接工具,避免中途断线造成数据不完整。
登录旧主机的数据库管理面板(通常是phpMyAdmin),选中站点对应的数据库,进入“导出”页面。建议选择“自定义”导出方式,在格式选项里勾选添加DROP TABLE语句,这样可以覆盖新库中可能存在的同名表,避免导入冲突。字符集选择utf8mb4,这是现代WordPress站点常用的格式,能正确显示emoji等特殊字符。
导出后会得到一个后缀为.sql的文件,妥善保存。如果主机没有提供phpMyAdmin,也可以使用Adminer工具,或者在SSH命令行中执行wp db export指令来生成备份文件。
用FTP客户端(如FileZilla)连接旧服务器,把WordPress根目录下的所有内容下载到本地文件夹。特别要检查三个关键项:根目录的wp-config.php配置、根目录的.htaccess文件(如果存在),以及wp-content/uploads目录里的全部媒体附件。
下载完成后,对比本地和远程的文件数量与总体大小。以FileZilla为例,选中远程目录查看统计,再对比本地文件夹属性,数值接近即表示传输完整。
在FTP中连接新主机,将本地备份的WordPress全部文件上传到目标网站根目录,保持原有目录结构不变,例如wp-content、wp-admin、wp-includes等文件夹必须放置在正确层级。
上传期间,进入新主机的数据库控制台,创建一个新的空数据库,编码格式选择utf8mb4,同时新建一个数据库专属用户,并授予该库的所有权限。记下新库的名称、用户名、密码以及主机地址(多数虚拟主机为localhost,独立服务器可能不同)。
用文本编辑器打开本地已下载的wp-config.php,定位到数据库配置段落,将以下四个常量替换为新服务器对应的值:DB_NAME、DB_USER、DB_PASSWORD、DB_HOST。注意DB_HOST如果默认是localhost,而新主机要求填写其他地址,务必改过来,否则会提示数据库连接错误。
保存文件后,将其重新上传到新站的根目录,覆盖原文件。
登录新主机的phpMyAdmin,进入刚才创建的数据库,点击“导入”标签,选择旧站导出的.sql文件,执行导入操作。对于体积较大的SQL文件,建议通过SSH命令行mysql命令或BigDump工具逐步导入,避免网页执行超时。
导入结束后,查看页面是否有红色错误信息。常见报错包括表前缀不一致(访问情况而定)或字符集不符。
如果搬家后域名不变,仅需把域名的A记录或CNAME解析到新服务器的IP地址即可。如果域名也要更换,需要在新域名服务商处设置解析,并留意旧域名的续费状态。
若网站是在本地测试后搬到线上,或者期间修改过域名,此时数据库里面存储的还是旧网址。访问后台时可能打不开,可以通过两种方式修正:一种是用临时域名或IP访问后,登录后台的设置页面修改“WordPress地址”和“站点地址”;另一种是直接操作数据库,使用SQL语句批量替换wp_options表中对应的网址字段。
对于文章内容或自定义字段里包含的旧链接,需要在导入数据库后,执行类似UPDATE wp_posts SET post_content = REPLACE(post_content, '旧域名', '新域名')的替换语句,确保站内图片和内部链接全部指向新地址。
数据部署完成后,先不要急着在浏览器输入域名。建议先修改本地hosts文件,把域名临时指向新服务器IP,在环境切换完成前进行内部测试。这样可以避免解析生效后立即出现错误页面带来的不良体验。
依次检查以下关键功能是否正常:
确认无误后,再把域名解析切换到新主机。最终验证时,通知浏览器或使用网页代理测试一下,确认访客访问的是新服务器。
多数情况是数据库连接信息填写错误或文件权限不对。先检查wp-config.php中的数据库账号密码是否准确,再看服务器的文件所有者和权限是否为标准值(目录755、文件644)。如果仍然无法登录,可以尝试通过phpMyAdmin清空wp_options表中的siteurl和home字段,然后用临时地址重新访问后台。
先确认主机服务商提供的数据库主机地址是否为localhost或特定的内网地址,不要一味沿用旧配置。其次核对用户名和密码是否完全匹配。最后确认新数据库是否已经成功导入旧数据,空的数据库同样会触发该报错。
搬家过程中的FTP上传不受PHP限制影响,但在导入.sql文件时,phpMyAdmin的默认上传上限可能只有几十MB。如果数据库备份文件较大,建议改用SSH命令行导入,或者联系主机商临时调高PHP的upload_max_filesize参数。
WordPress网站迁移并不复杂,核心环节是备份完整、上传准确、数据库配置正确和域名切换平滑。建议在正式切换前,先在测试环境完整走一遍流程,记录可能出现的问题点。操作时保持耐心,重要步骤做完记得检查结果,尤其是数据库导入和wp-config.php保存这两步。整体完成后,可以保留旧服务器的数据一段时间,作为回滚方案,确保万无一失后再彻底清理。