Tutorials

How to Migrate WordPress to Offshore Hosting Safely

Step-by-Step Tutorial

What you will do

You will move a WordPress site to offshore hosting the safe way: back up, copy the files, move the database, test, and only then switch DNS.

Do one step at a time. Finish a step, check it works, then move on. Avoid changing DNS, firewall, database, and SSL all at once — that makes problems hard to find.

LevelSome hands-on work needed.
Where you workwp-admin + your hosting panel.
Why it mattersKeeps your URLs and Google ranking intact.

Before you start

The goal: move WordPress to offshore hosting without breaking URLs, images, or the database.

Take a backup first. Before changing anything, download a backup or create a restore point. Back up the WordPress files and the database. On a VPS, take a server snapshot if your panel allows it.

  • Keep your domain login ready.
  • Keep your hosting panel login ready.
  • Keep the server IP, username, and password (or SSH key) ready.
  • Open a notes file and write down every change you make.
  • If you touch the firewall or SSH, keep one terminal window open until testing is done.

Where do you need to go?

Each part of the move happens in a different place:

  • Plugin cleanup → wp-admin.
  • Files → your hosting File Manager or FTP.
  • Database → phpMyAdmin.
  • The final switch (DNS) → your domain or Cloudflare panel.
Map of where each step happens in a WordPress migration
Where each step happens.

The steps

Step 1: Back up the files and database

Download wp-content, the WordPress files, and a database export. Don’t rely on a plugin backup alone.

# Export the database from the old server
mysqldump -u dbuser -p dbname > backup.sql

Check: you now have the site files and a .sql database file.

Step 2: Create the database on the new hosting

In your new hosting panel, create a fresh MySQL database, a user, and a password. Save these details.

Check: the database user has all privileges.

Step 3: Upload the files and import the database

Upload the files to public_html (or your domain root). Import the database with phpMyAdmin or the mysql command.

mysql -u newuser -p newdb < backup.sql

Check: the tables appear in the new database.

Step 4: Update wp-config.php

Edit the database name, username, password, and host in wp-config.php.

nano wp-config.php

Check: the site connects with no database error.

Extra commands you may need

Run these only on your own server. If your server uses a managed panel, check with support before changing system-level settings.

Find old URLs in the database

wp search-replace "http://old-domain.com" "https://yourdomain.com" --dry-run

Use WP-CLI only if it’s available. Run it without --dry-run once you’ve checked the preview.

Check the important URLs

curl -I https://yourdomain.com
curl -I https://yourdomain.com/wp-admin/

Confirm the homepage and admin return the status you expect.

Keep short notes as you go

While you work, jot down each change: the old value, the new value, the time, and whether the test passed. For example: “Old IP 1.1.1.1, new IP 2.2.2.2, changed 10:30, homepage works, SSL works, sitemap works.” It sounds small, but it saves a lot of confusion if something breaks.

If you run server commands, paste the output into your notes too. Then if you ask support for help, you can show the exact command, the exact error, and the exact time.

If a step fails, how to undo it

Always have a way back. For DNS, put the old record back. For a migration, point the domain back to the old host. For firewall or SSH, use the VPS console to re-open the SSH port. For SSL, remove the forced-HTTPS rule until the certificate works. Don’t change ten things at once.

Final testing checklist after a WordPress migration
The final testing checklist.

How to test after setup

  1. Open the homepage in a private browser window.
  2. Open an inner page, a blog post, and a service page.
  3. Check the HTTPS padlock — there should be no browser warning.
  4. Open /sitemap_index.xml (or your sitemap URL).
  5. Make sure key pages return 200, redirects are 301, and there are no redirect loops.
  6. Check Google Search Console after the move.

Quick troubleshooting

Problem Likely reason What to do
Database connection error Wrong details in wp-config.php Recheck the DB name, user, password, host
Images missing wp-content/uploads not copied Upload the full uploads folder
Redirects to the old domain Old URL still stored in the database Run search-replace carefully

Final checklist

  • Files uploaded.
  • Database imported.
  • wp-config.php updated.
  • Permalinks saved.
  • DNS changed only after testing.
Need hosting for this setup?

OffshoreKaka offers privacy-friendly hosting, VPS, and dedicated servers for people who want real control and reliable performance.

View OffshoreKaka plans

FAQ

Can I follow this without much experience?

Yes — just go slowly and test after every important change. If you are not comfortable using SSH, pick managed hosting or ask support.

Will this get me to #1 on Google?

No honest tutorial can promise that. A clean move protects your URLs, speed, and HTTPS — but your content and backlinks still decide your ranking.

What should I send to support if something breaks?

Send your domain name, server IP, the exact error message, a screenshot, the last change you made, and whether it started after a DNS, SSL, firewall, or migration change.

Leave a Reply

Your email address will not be published. Required fields are marked *