如何判断你的网站真的需要迁移了吗?
很多人出于预算考虑最初选择共享主机如Bluehost用于建站,随着网站流量的不断增加共享主机无法满足业务需求。对于不太熟悉技术又想获得更高性能的人来说cloudways是不二之选。以下这几个信号说明现有服务器已经成为业务瓶颈:后台管理页面加载需要超过 3–5 秒;加入购物车或进入结账页面明显卡顿;广告开始跑量之后服务器 CPU 长时间满载;高峰时段出现 502 或 504 报错;数据库查询变慢导致 WooCommerce Analytics 无法正常加载。
如果你的问题主要是"偶尔稍微慢一点",先考虑在现有服务器上优化缓存、清理数据库、减少插件,不一定需要迁移。如果以上症状有三个以上,说明是服务器层面的资源瓶颈,优化插件解决不了根本问题。
关于 Cloudways 是什么、为什么适合 WooCommerce,在本站的《用 Cloudways 搭建 WooCommerce 独立站》那篇里已经详细说明,这里不重复。简单说,Cloudways 是托管云平台,底层可以选 DigitalOcean、Vultr、AWS、Google Cloud(具体可选项以当前 Cloudways 面板显示为准),它帮你管好服务器环境,你不需要自己配 PHP 版本、MySQL、Nginx 配置。
迁移前必须完成的准备
第一:备份当前网站,而且要完整备份。 迁移操作出错的代价可以是订单数据丢失,提前备份是底线。用 UpdraftPlus 备份文件和数据库,备份文件推送到 Google Drive 或 Dropbox,不要只存在当前服务器上。确认备份完成并能正常恢复之后,再开始迁移操作。
第二:提前把 DNS TTL 调低。 在迁移前 24 小时,把域名的 DNS TTL 从默认的 3600 秒(1小时)调整到 300 秒(5分钟)。TTL 越低,DNS 切换的生效时间越短——迁移完成后你把 A 记录指向新服务器,5 分钟内大多数访问就会切换过来,而不是等 1 小时。
第三:选择低流量时间段迁移,考虑开启维护模式。 如果你的网站 24 小时都有订单,迁移过程中可能出现新订单写入旧数据库但迁移已经完成的情况,造成订单漏单。建议选择深夜或凌晨流量最低的时段开始迁移,迁移期间在旧网站开启维护模式,防止新订单写入旧数据库。
迁移方法:推荐使用 Cloudways 官方迁移插件
有两种迁移方式:Cloudways 官方迁移插件(适合大多数用户)和手动迁移(适合技术熟练的用户)。手动迁移步骤更多但控制精度更高,如果你以前做过 WordPress 手动迁移,流程是:phpMyAdmin 导出数据库 → SFTP 上传 wp-content 目录 → 导入数据库 → 修改 wp-config.php 数据库连接信息 → 用 Better Search Replace 替换数据库里的旧域名。
对大多数非技术卖家,推荐使用 Cloudways WordPress Migrator 插件,流程更简单:
Step 1 — 在 Cloudways 创建目标服务器和应用。 登录 Cloudways,点击 Add Application,选择 WordPress with WooCommerce(不要选普通 WordPress),选好云厂商(DigitalOcean 是大多数场景的起点)和服务器配置(月流水稳定后的商城建议 2 核 4GB 起步,高峰期有广告跑量的建议直接 4 核 8GB),等待服务器创建完成。记下新服务器的 IP 地址和应用的 SFTP 凭证(在 Access Details 里可以找到)。
Step 2 — 在旧网站安装迁移插件。 进入旧网站 WordPress 后台,Plugins → Add New,搜索 Cloudways WordPress Migrator,安装并激活。
Step 3 — 填入目标服务器信息并开始迁移。 在迁移插件里填入 Cloudways 给出的 SFTP Host、Username、Password、Database Name,点击 Migrate,插件会把 WordPress 文件、数据库、图片、插件、主题全部迁移过去。迁移时间取决于网站大小,几百 MB 的小站几分钟搞定,几 GB 的商城可能需要 30–60 分钟。
Step 4 — 迁移完成后先测试,不要立刻切 DNS。 在 Cloudways 面板里用临时 URL(类似 *.cloudways.net 格式)访问新网站,逐一测试:首页加载、产品页面、加入购物车、进入结账、支付流程是否正常。这一步不要跳过,在正式切换 DNS 之前发现问题可以直接修复,切换之后真实用户访问期间出问题代价大得多。
Step 5 — 确认无误后切换 DNS。 进入你的域名 DNS 管理(Cloudflare 或域名注册商),把 A 记录从旧服务器 IP 改为 Cloudways 新服务器 IP。如果用 Cloudflare,切换期间建议先把 Cloudflare 代理改为 DNS-only(灰色云朵),让 DNS 直接指向 Cloudways,等网站稳定运行一两天之后再重新开启 Cloudflare 代理。
迁移后必须检查的几件事
支付 Webhook 检查是最重要的一步。 迁移之后如果域名没变,Stripe 和 PayPal 的 Webhook 端点通常还有效,但要去各自的控制面板确认 Webhook 正常触发。Stripe 在 Dashboard → Developers → Webhooks 里能看到最近的 Webhook 记录;如果有报错,重新发送一次测试 Webhook,确认新服务器能正常接收。支付 API Key 不需要改,但如果迁移过程中 wp-config.php 被覆盖,要确认插件里的 API Key 设置还在。
开启 Cloudways 自带的缓存和 Redis。 Cloudways 提供 Breeze Cache(页面缓存)和 Redis(对象缓存),两个在面板里一键开启,不需要另装 WP Rocket 或其他缓存插件。Redis 对 WooCommerce 特别有用,因为商城的数据库查询比普通博客多很多,Redis 能把高频查询结果缓存在内存里,明显减少数据库压力。
接入或重新确认 Cloudflare。 如果迁移时把 Cloudflare 代理临时关掉了,确认新服务器稳定运行后重新开启,享受 CDN 和 DDoS 防护。
检查插件列表。 迁移过程中所有插件都跟着迁移过来了,包括你可能已经忘记的测试插件和停用插件。迁移完成后是一个好时机清理插件列表,删掉停用的插件(停用不等于删除,文件还在服务器上)。
迁移期间订单丢失怎么处理
如果因为没有开维护模式,迁移期间有新订单写入了旧数据库,处理方式是:在旧数据库里导出迁移时间点之后的订单数据,手动导入到新数据库。这个操作需要用 phpMyAdmin 做 SQL 查询,按时间戳筛选出迁移后产生的订单记录,然后 INSERT 到新库对应的 WooCommerce 订单表(wp_posts 和 wp_postmeta)。如果订单量不大,手动在新后台重新录入也是一个选项。这种情况可以完全通过迁移前开启维护模式来避免。
成本参考
| 服务器规模 | 月费参考 | 适合场景 |
|---|---|---|
| 小型商城(2 核 4GB) | 约 $14–30/月 | 日均几十订单,产品 500 以内 |
| 成长型商城(4 核 8GB) | 约 $40–80/月 | 广告投放,日均数百访问 |
| 高流量商城 | $100+/月 | 大量订单,多语言商城 |
以上价格以 Cloudways 官网当前定价为准,套餐结构和价格可能会调整。域名 $10–15/年、Cloudflare 免费版、SSL 免费、WooCommerce 免费,这些不变。