网站运行一段时间后,更换主机是不少站长都会遇到的事。可能是旧主机资源不够用了,也可能是发现了性价比更高的服务商。只要迁移前规划妥当,整个切换过程可以平稳完成,不会影响访客访问,也不会伤害已有的搜索排名。
迁移最怕的就是数据不完整。动手之前,先把网站全部文件和应用备份打包好,同时也要生成一份完整的数据库导出文件。文件部分包括网站根目录下的所有内容,像wp-content里的主题、插件和上传的图片都不能漏掉。数据库最好用phpMyAdmin导出,确保包含所有数据表,不要只导出部分内容。
备份完成后,查看一下新主机的运行环境。PHP版本、MySQL版本以及内存限制至少要跟原来一样,如果新主机支持更高的PHP版本,建议直接启用,这通常会让网站响应更快。还需要提前记录原主机的域名解析地址、SSL证书情况和CDN配置,方便后续步骤对照使用。
检查一下备份包能否正常解压,文件数量和数据库大小超过预期时,要确认备份过程没有中断。
先处理文件部分。可以用FTP客户端或者新主机的文件管理器,把备份内容上传到新空间的根目录。如果备份是压缩包,上传完成后直接在新主机的控制面板里解压,这样比逐个上传小文件更省时间。
文件就位后,接着处理数据库。在新主机的phpMyAdmin中创建一个新的空数据库,并设置好对应的数据库用户名和密码。然后把之前导出的SQL文件导入这个新库。数据量较大时,导入过程可能超时,可以分几次导入,或者借助BigDump这类工具完成。导入成功后,找到网站根目录下的wp-config.php,把里面的数据库名称、用户名、密码以及数据库主机地址全部改成新主机的信息,保存后再进行下一步。
导入数据库时注意观察是否出现错误提示,尤其是SQL语句执行失败的情况。如果原网站用的是默认表前缀wp_,保持不动即可,改错了反而容易出问题。
文件和数据都迁移完后,网站可能还无法通过原域名正常访问,这是因为域名解析尚未指向新主机。这个阶段可以用临时域名或者修改本机hosts文件的方式,先在新主机上测试网站是否正常运行。
打开测试环境后,最需要处理的是站内链接。原来的网站如果使用旧域名作为固定链接,数据库里会残留大量旧地址。此时用Better Search Replace插件,或者在phpMyAdmin里直接执行SQL语句,把旧域名统一替换成新域名。如果是用IP地址测试,也要一并替换。替换完成后再进入后台,点击一次保存固定链接设置,让WordPress重建URL结构。
检查首页、文章页和图片是否都能正常显示,如果某个页面报404,说明对应静态文件没有上传完整,需要补传后再测试。
如果原网站启用了HTTPS,换主机后证书往往需要重新签发。许多新主机提供免费的SSL证书申请功能,直接在控制面板里操作即可。证书安装完成后,务必在设置中确认站点地址仍为https格式,避免出现混合内容警告。
新主机上的网站测试无误后,就可以切换正式流量了。在域名服务商的管理后台,把A记录或CNAME记录指向新主机的IP地址,TTL值调到300秒或更低,加快全球生效速度。解析生效通常需要几十分钟到48小时不等,期间不要删除原主机上的任何数据,确保旧网站依然可用。
解析生效后,从用户视角做一次全面检查:首页能否完整打开、页面里的图片和样式是否正常、后台登录是否顺畅、评论功能、搜索框和表单提交是否工作正常。尝试发布一篇测试文章,确认内容能正常保存和更新,同时观察插件和主题有没有报错信息。
使用不同网络环境访问几次,确保解析结果没有异常。如果网站流量较大,可以考虑在切换前将TTL值调低几天,让DNS更新更加顺畅。
通常是文件没有上传完整,或者数据库中的URL地址没有正确替换导致的。先检查主题文件夹里的静态文件是否齐全,然后确认数据库里的站点地址和主页地址是否已经更新为新域名。两种方式结合排查,一般能快速定位问题。
多数情况下是wp-config.php里的数据库信息填写有误,或者文件权限设置不正确。打开wp-config.php检查数据库名、用户名和密码是否与新主机一致,同时确保网站根目录的文件权限符合主机商要求,一般目录为755、文件为644。
新主机的服务器发送邮件配置可能与原主机不同,特别是使用PHP mail函数的网站。可以尝试安装SMTP插件,填写新主机提供的邮件服务参数,或者联系主机商确认邮件端口的开放情况。测试发送一封邮件到自己的邮箱,确认能正常收到后再上线对外服务。
换主机的核心思路可以概括为:备份完整、先文件后数据库、修改配置、替换链接、最后切换解析。每一步之间都留出足够的验证时间,不要为了赶进度而跳过检查环节。迁移完成后,保留原主机的数据备份至少一周,等新环境完全稳定后再清理旧空间。这样即使出现疏漏,也随时有恢复的余地。