How to Migrate WordPress to Cloudways (2026): Step by Step
The short version: Back up your current WordPress site, launch a Cloudways server and a blank WordPress app, then run the free Cloudways Migrator plugin to copy files and database. Test on the temporary staging URL, point your domain's A record to the Cloudways IP, issue free Let's Encrypt SSL, and decommission the old host after 48 to 72 hours.
I have moved dozens of WordPress sites onto Cloudways, from single-page blogs to busy WooCommerce stores. The flow below is the exact one I follow, including the manual fallback for the sites where the plugin times out. The whole thing usually takes 1 to 2 hours, and your live site stays up the entire time because you build and test the copy before touching DNS.
What you need before you start
- Admin access to your current WordPress site (wp-admin login).
- A full backup of files and database taken before you start.
- A Cloudways account (sign up below).
- Your domain registrar login to edit DNS records later.
- An SSH or SFTP client (Terminal on Mac or Linux, or FileZilla) for manual fallback.
Cloudways is the host we recommend and the one this guide is built around. It is a managed layer that runs your WordPress on DigitalOcean, Vultr, or Linode hardware and handles updates, caching, free SSL, and daily backups so you do not administer a raw server. You can start a Cloudways trial here; the price you pay is the same whether you use our link or not.
Step 1. Back up the current site first
Never start a migration without a rollback. Take a full backup of the existing site's files and database. The fastest options:
- Plugin route: install UpdraftPlus, back up to Google Drive or Dropbox, and download the archive.
- Host snapshot: if your current host has a one-click snapshot, take one and note the restore point.
- Command line (if you have SSH): dump the database and tar the content directory.
# Run on the OLD server over SSH
mysqldump -u DB_USER -p DB_NAME > backup-db.sql
tar -czf wp-content-backup.tar.gz wp-content/
# Download both files to your machine before continuing Keep these files until the new site has served live traffic for a few days. They are your safety net.
Step 2. Sign up and launch a Cloudways server and app
Create your Cloudways account and launch a server. The choices that matter:
- Provider: DigitalOcean is the most common pick. The 1 GB plan at about $11/mo handles a typical blog or small store to roughly 25,000 monthly visitors with caching. Pick Vultr High Frequency if you want a faster single-core CPU, or a larger plan for a busy store.
- Region: choose the datacenter nearest your audience to cut latency.
- Application: select WordPress (clean install). This becomes the empty target the migration writes into.
Provisioning takes a few minutes. When it is done, Cloudways gives you a temporary application URL (it looks like wordpress-123456-1234567.cloudwaysapps.com). That staging URL is where you will test everything before any DNS change.
Step 3. Run the free Cloudways WordPress Migrator plugin
This is the easy path and it works for the large majority of sites. On your old WordPress site:
- Go to Plugins, Add New, search for Cloudways WordPress Migrator, install and activate it.
- Open the plugin and enter your destination details from the Cloudways panel: the server IP, the destination site URL (the temporary cloudwaysapps.com URL), the SFTP username, the database name, and the app folder.
- Enter your email, agree to the terms, and click Migrate.
The plugin packages your files and database, transfers them to the Cloudways app, and imports everything. You can watch progress in the plugin screen. For a site under a few gigabytes this finishes in 15 to 45 minutes. Cloudways also includes one free expert-handled migration per account if you would rather they do it; open a ticket from the panel.
Step 4. Migrate manually if the plugin times out
On large WooCommerce stores or sites with many gigabytes of media, the plugin can hit PHP timeouts mid-transfer. When that happens I switch to the manual route, which never times out because it runs over SFTP or rsync, not over HTTP.
First, copy wp-content to the new app. Cloudways gives you SFTP and SSH credentials under Application, Access Details.
# Copy content from the OLD server to your machine, then up to Cloudways.
# Or rsync directly between servers if both allow SSH:
rsync -avz wp-content/ \
CLOUDWAYS_USER@SERVER_IP:applications/APP_FOLDER/public_html/wp-content/ Next, create a database from the Cloudways panel (or use the one the blank app already created), then import your dump. SSH into the Cloudways server and run:
# On the Cloudways server, from the app's public_html
mysql -u DB_USER -p DB_NAME < backup-db.sql
Finally, point WordPress at the new database by editing wp-config.php in the app's public_html with the Cloudways database name, user, and password (all shown in Access Details):
define( 'DB_NAME', 'your_cloudways_db_name' );
define( 'DB_USER', 'your_cloudways_db_user' );
define( 'DB_PASSWORD', 'your_cloudways_db_password' );
define( 'DB_HOST', 'localhost' ); If the old and new URLs differ (they will, because of the staging URL), run a search-and-replace so the database does not point back at the old domain. The WP-CLI command is safe because it handles serialized data:
# Replace the old domain with the temporary Cloudways staging URL
wp search-replace 'https://oldsite.com' \
'https://wordpress-123456-1234567.cloudwaysapps.com' --skip-columns=guid Step 5. Test everything on the staging URL
Before you change a single DNS record, open the temporary Cloudways application URL and check the copy thoroughly. This is the step that prevents downtime, because the old site is still live and serving real visitors while you test the new one.
- Homepage, a few posts, and category pages render with images.
- You can log in to
/wp-adminon the new app. - Forms submit, and for stores, the cart and checkout flow work end to end.
- No broken links pointing back at the old domain or http assets.
- Enable Cloudways' built-in cache (Breeze or the object cache) and confirm the homepage still loads correctly.
If anything is wrong, fix it on staging now. It is far cheaper to fix here than after the cutover.
Step 6. Point DNS to the Cloudways server
Once the staging copy passes, cut traffic over by updating your domain's A record to the Cloudways server IP at your registrar.
- The day before: lower your A record TTL to 300 seconds so the change propagates fast.
- At cutover: change the A record (and the
wwwrecord if it is a separate A record) to the Cloudways server IP shown in your panel. - Add the domain in Cloudways: under Application, Domain Management, set your real domain as the primary so the app responds to it.
About propagation: most visitors see the new server within minutes once TTL is low, but full global DNS propagation can take up to 24 to 48 hours. This is not downtime. During that window some users resolve to the old IP and some to the new one, and both servers are live, so everyone gets a working site. That is exactly why you keep the old host running for now.
Step 7. Issue free SSL and force HTTPS
Cloudways bundles free Let's Encrypt SSL. Issue it after DNS resolves to the Cloudways IP, because Let's Encrypt validates the domain by checking where it points.
- Open Application, SSL Certificate.
- Choose Let's Encrypt, enter your email and domain (add the
wwwvariant too), and click Install Certificate. - Turn on HTTPS Redirection so all traffic is forced to https.
Then run a final search-and-replace to swap the staging URL for your real domain across the database, so internal links and assets use the live domain:
wp search-replace 'https://wordpress-123456-1234567.cloudwaysapps.com' \
'https://yoursite.com' --skip-columns=guid Certificate renewal is automatic, so you will not have to touch it again.
Step 8. Decommission the old host
Wait 48 to 72 hours after the DNS change. Confirm traffic is landing on Cloudways (check the analytics and the server's access logs), take one final backup of the old site, then cancel or downgrade the old hosting account so you stop paying for two hosts. Do not skip the wait; propagation stragglers and any last-minute rollback need the old server still online.
Common mistakes (and how to avoid them)
| Mistake | Fix |
|---|---|
| Changing DNS before testing on staging | Always verify the site on the temporary Cloudways URL first. Only touch the A record once the copy is confirmed working. |
| Forgetting to lower TTL before the cutover | Drop your DNS TTL to 300 seconds a day before. High TTL (3600+) means visitors keep hitting the old server for hours after you switch. |
| Issuing SSL before DNS resolves | Let's Encrypt validates the domain by checking it points at the Cloudways IP. Issue the certificate after the A record propagates, not before. |
| Canceling the old host the same day | Keep it live for 48 to 72 hours so propagation stragglers still load, and so you have a working rollback if anything is off. |
| Running the plugin on a multi-gigabyte store | Large WooCommerce sites time out mid-transfer. Use the manual rsync plus mysqldump route instead. |
Skip the manual work
If you would rather not run the plugin or touch the command line at all, let Cloudways do it. Every account gets one free expert migration handled by their team: you open a ticket, hand over the old host's credentials, and they move the site for you. Combined with managed updates, free SSL, daily backups, and the one-click cache stack, that is the whole reason most people pick Cloudways over a raw VPS. Start your Cloudways server here and request the free migration from the panel.
Prefer to self-manage the underlying server and save money? The do-it-yourself route is a plain VPS like Hetzner Cloud (the CX22 is EUR 4.50/mo), where you install and tune the WordPress stack yourself. You give up the managed layer and the one-click migration, but you cut the bill. If you want a bundled domain and a guided panel for your first site instead, Hostinger is the entry option. We earn a referral on all three; the price to you does not change.
FAQ
Is the Cloudways WordPress migration free?
Yes. The Cloudways WordPress Migrator plugin is free, and Cloudways also offers one free expert migration per account on most plans. You only pay for the new server, which starts at about $11/mo on the DigitalOcean 1 GB plan. The plugin moves your files and database automatically with no extra fee.
How long does it take to migrate WordPress to Cloudways?
A small to mid-size site (under a few GB) migrates in 15 to 45 minutes with the Migrator plugin. The full project including launching the server, testing on staging, DNS cutover, and SSL usually fits inside 1 to 2 hours. Large stores with many gigabytes of media can take longer or are better moved manually with rsync.
Will my site go down during the migration?
No. The old site keeps serving traffic the whole time because you build and test the copy on Cloudways' temporary staging URL first. The only brief window is DNS propagation after you change the A record, and during that window visitors hit either the old or new server, both of which are live, so there is no real downtime.
Do I have to change my DNS to use Cloudways?
Yes. After the site is migrated and tested, you point your domain's A record to the Cloudways server IP at your registrar. Lower the TTL a day before so propagation is fast. Most of the world sees the new server within minutes to a few hours; full global propagation can take up to 24 to 48 hours.
How do I get free SSL on Cloudways after migrating?
Cloudways includes free Let's Encrypt SSL. Once your DNS points at the Cloudways IP, open the SSL Certificate section in the application settings, enter your email and domain, and click Install Certificate. Then enable the HTTPS redirect so all traffic is forced to https. Renewal is automatic.
What if the Cloudways Migrator plugin fails on a large site?
Migrate manually. Export the database with mysqldump, copy wp-content over SFTP or rsync to the new app's public_html, create the database via the Cloudways panel, import the dump, then edit wp-config.php with the new database name, user, and password. This avoids the PHP timeouts that can stall the plugin on multi-gigabyte sites.
Should I cancel my old host right after migrating?
Not immediately. Keep the old host live for 48 to 72 hours after the DNS change so any visitors still hitting the old IP during propagation are not lost, and so you can roll back if something breaks. After traffic is confirmed on Cloudways and you have a fresh backup, then cancel or downgrade the old account.
Related Guides
- Cheap Cloudways Alternatives, lower-cost managed and DIY options if the Cloudways markup does not fit your budget.
- Cloudways vs Kinsta, the managed WordPress matchup on price, performance, and support.
- How to Install WordPress on a VPS, the do-it-yourself route on a raw server like Hetzner.
- Best Cheap VPS Hosting (2026), the full ranked list with Hetzner, Cloudways, Hostinger, and more.