Some links on this page are affiliate links. If you buy through them, we may earn a commission at no extra cost to you. It never decides what we recommend —read how we make money.

Starting fresh on SiteGround is straightforward. Moving an existing site that already has traffic, content, and history is a different job. The goal is a clean handoff: visitors never see an error, nothing gets lost, and email keeps working.

This guide covers SiteGround’s free Migrator plugin step by step, a manual fallback for sites the plugin can’t handle, and the cutover plan that makes the switch invisible. Migrator details are from SiteGround’s knowledge base and the plugin’s WordPress.org page, checked in September 2026.

Before You Start: What the Migrator Does and Doesn’t Move

Moved by the Migrator?
WordPress content: themes, plugins, uploads, and the database Yes
Email accounts and messages No. Set these up on SiteGround separately
DNS records (MX, TXT, verification records) No. Note them at your old host first
Other apps or folders outside WordPress No
A full Multisite network Not supported. Individual Multisite sites can be moved
A site on your own computer (localhost) Not supported. SiteGround pulls the site from a public server

Per the SiteGround Migrator listing on WordPress.org, checked September 2026.

If your site fits, the Migrator is by far the simpler path. If it doesn’t, or the transfer fails, use the manual method below. Your first professional migration is also free on new accounts, which is worth asking about for complex sites.

The Cutover Plan: Zero Downtime

The reason a migration can be invisible is simple: your old host keeps serving the site until your domain’s DNS points to SiteGround. The work is making sure the new copy is complete and correct before that switch.

Timeline of a zero-downtime move. A day before: lower the DNS TTL, note email and DNS records at the old host, and take a full backup. Migration day: run the Migrator, check the copy on the temporary URL or through your hosts file, and set up mailboxes. Cutover: freeze changes on the old site, point the domain to SiteGround, and check SSL and email. The next one to two weeks: watch forms, orders, and email, take a fresh backup, and keep the old account as a fallback before canceling. Visitors land on the old host until the DNS switch, on either host while DNS updates, then on SiteGround. Anything added to the old site after copying won’t be on the new one

A Day Before

  1. Lower your DNS TTL. At your current DNS provider, set the TTL on your domain’s A record to something short, such as 300 seconds. When you switch later, visitors’ devices will pick up the change faster. (If your DNS is changing because you’re switching nameservers, this has less effect; the switch still works, it just takes longer to settle.)
  2. Write down every DNS record at your old host, especially MX (email), TXT (email verification such as SPF and DKIM, and site verification), and any CNAME records for services you use. These are the records that break email and integrations if they’re lost.
  3. Take a full backup of the old site.

Migrating With the SiteGround Migrator Plugin

  1. Generate a token on SiteGround. In Site Tools, go to WordPress › Migrator. Choose the Domain the site should move to, and leave the Path empty unless the site should live in a subfolder like /blog. Click Generate, then Copy the migration token.
  2. Install the plugin on your old site. In your current site’s WordPress dashboard, install and activate SiteGround Migrator from the plugin directory.
  3. Start the transfer. Paste the token into the plugin and press Initiate Transfer. The plugin emails your site’s admin address when the transfer is complete.
  4. Check the copy before touching DNS. The plugin gives you a temporary URL to review the site on SiteGround’s server. Click through your key pages, then continue with the checks below.

If the token expires or gets lost, generate a new one in Site Tools.

Check It Properly Before Switching

A temporary URL shows you the site loads. To test it exactly as visitors will see it, at your real domain, preview it through your computer’s hosts file: add a line mapping your domain to SiteGround’s IP (Site Tools › Dashboard › IP and Name Servers), then open the site. Remove the line afterward.

Check:

  • Pages, posts, and images load, including older uploads
  • Forms send and you receive the email
  • Logins work, including for other users or customers
  • Checkout works on a store, with a test order
  • The page count matches. In both dashboards, compare the numbers under Posts, Pages, and Media. Some Migrator users have reported transfers that finished with content missing, so this one-minute count is worth doing.

Doing a Manual Migration Instead

If the Migrator can’t handle your site, the manual route gives you full control:

  1. Export the database on the old host with phpMyAdmin, or over SSH with WP-CLI:

    wp db export old-site.sql
  2. Download your files, above all wp-content (themes, plugins, uploads), by SFTP or as an archive.

  3. Create a new database and user on SiteGround and import the .sql file. Our guide to managing MySQL databases covers this.

  4. Upload the files to your site’s public_html folder on SiteGround. See uploading files to SiteGround.

  5. Update wp-config.php with the new database name, user, password, and host.

  6. If the domain is changing, replace the old address in the database. WordPress stores full URLs in many places, some inside serialized data, so don’t edit the SQL file by hand. WP-CLI handles serialized data correctly; run it with --dry-run first to see what it would change:

    wp search-replace 'https://old-domain.com' 'https://new-domain.com' --dry-run
    wp search-replace 'https://old-domain.com' 'https://new-domain.com'

Cutover Day

  1. Freeze changes on the old site. Anything added after your copy (posts, comments, orders, form entries) won’t be on SiteGround. For a blog, avoid publishing for a few hours. For a store, pick a quiet time, or copy again just before switching.

  2. Set up email on SiteGround first, if SiteGround will host it. See setting up business email on SiteGround.

  3. Point your domain at SiteGround: either change nameservers, or update the A record to the Site IP. Our guide to managing DNS on SiteGround covers both, and re-create the records you noted earlier.

  4. Check which server answers:

    nslookup yourdomain.com

    Once the answer shows SiteGround’s IP from your location, test the site again. Other visitors may still reach the old host for a while, which is normal and why the old account stays open.

  5. Confirm HTTPS works on SiteGround. Our SSL guide covers installing a certificate and fixing mixed-content warnings.

Things That Commonly Break After a Migration

  • Missing images or uploads: usually an incomplete copy of wp-content/uploads. Compare the Media count on both sites.
  • 404 errors on every page except the homepage: go to Settings › Permalinks and click Save Changes without changing anything. That rebuilds WordPress’s rewrite rules on the new server.
  • Mixed content warnings: some URLs still use http://. See the SSL guide.
  • Redirects to the old or temporary address: check Settings › General. The WordPress Address and Site Address must both be your real domain with https://.
  • Caching plugin conflicts: if the old site used a host-specific caching plugin, deactivate it and set up SiteGround’s Speed Optimizer instead. Two page caches fighting each other cause stale pages and odd bugs.
  • Email stopped: MX or TXT records weren’t re-created. Check them against the list you made.

After the Migration

Once the new site has been stable for a few days:

  1. Take a fresh backup on SiteGround as your new baseline. See backing up and restoring on SiteGround.
  2. Remove the SiteGround Migrator plugin, and any migration-only plugins, from the site.
  3. Keep the old hosting account for a week or two in case you find something missing, then cancel it, checking its renewal date so you aren’t billed again.

FAQ

How do I migrate my WordPress site to SiteGround?

In Site Tools, go to WordPress › Migrator, choose the domain, and click Generate to get a migration token. Install the SiteGround Migrator plugin on your old site, paste the token, and press Initiate Transfer. Check the copy on the temporary URL, then point your domain to SiteGround.

Does the SiteGround Migrator move my email?

No. The Migrator moves your WordPress content: themes, plugins, uploads, and the database. Email accounts and DNS records need to be set up on SiteGround separately before you switch DNS.

Will my site go down during the migration?

It doesn't have to. Your old host keeps serving the site until DNS points to SiteGround, so if you test the copy first and keep the old account active during the DNS switch, visitors shouldn't see downtime.

What happens to orders or comments made during the migration?

Anything added to the old site after the copy is made won't be on SiteGround. Pause changes during the switch, or run the copy again just before you change DNS.

Can the SiteGround Migrator move a Multisite network?

Not a full network. Full Multisite installations aren't supported, although individual Multisite sites can be migrated. Sites on localhost and WordPress.com can't be moved with it either.

How long does DNS take to switch to SiteGround?

Often minutes to a few hours, depending on the record's TTL and whether you're changing nameservers. Lowering the TTL a day before helps. Keep your old hosting active until you're sure everyone is reaching SiteGround.