EN
Log in Create an account

How to Move WordPress to a New Host Without Losing SEO

How to move WordPress to a new hosting provider step by step, with no downtime and no drop in Google rankings: back up your files and database, test before changing DNS, switch the domain over, and check your work in Search Console.

Grzegorz Kalmus ·

Moving a site to a new server is the moment WordPress owners fear most. Not the file copying itself, but what comes after: whether Google will lose track of the site, whether forms will continue sending emails, and whether traffic from search engines will drop by half. The good news is that changing hosting alone does not lower your rankings. Rankings fall when URLs change during the move, subpages disappear, or the site returns errors for several hours.

In this guide, we show you how to move WordPress to new hosting step by step, so Google does not notice the change at all. We describe the manual method, the plugin method, and the method involving your new hosting provider.

Table of contents

Does changing hosting hurt SEO?

Changing servers alone is not a signal to Google that a site is worse. The search engine looks at URLs, content, links, and whether the site responds quickly and without errors. The server's IP address is irrelevant here.

Problems stem from three things:

  1. Changing URLs. A different backlink structure, moving from www to a version without www, or moving from http to https without redirects. Every old URL that returns a 404 error loses its accumulated links and ranking.
  2. Downtime. If the Googlebot encounters a 5xx error or an empty page several times, it starts visiting the site less frequently and, during a longer outage, may temporarily remove subpages from the index.
  3. Missing elements. A missing robots.txt file, a disabled sitemap, or the "Ask search engines not to index this site" setting carried over from the test version. This is the most common and most damaging mistake.

If you keep the same URLs, avoid downtime, and do not lose anything along the way, the migration is neutral for SEO. It often helps, in fact, because a faster server improves response times and Core Web Vitals metrics.

What to prepare before moving WordPress?

Before you copy anything, gather your access details and make a checklist. Half an hour of preparation can save you a lot of stress on switchover day.

Access details you will need:

  • old hosting panel (cPanel, DirectAdmin, or your company's own panel), or FTP or SSH credentials,
  • database access (phpMyAdmin or MySQL login),
  • domain registrar panel where you will change DNS or nameservers,
  • WordPress administrator account,
  • access to Google Search Console for the domain.

Checklist of things to save before you start:

  • permalink structure (Settings > Permalinks), it must be identical on the new server,
  • PHP version on the old hosting, so you can configure the same or a newer version on the new server, compatible with your plugins,
  • list of mailboxes, if email is hosted on the same server as the website,
  • cron jobs and custom rules in .htaccess (redirects, blocks),
  • URL export, easiest from the sitemap (/sitemap.xml or /wp-sitemap.xml). It will come in handy after the move to check whether every URL still works.

It is also good practice to lower the domain's DNS record TTL to 300 seconds a day before the move. This way, the server address change will spread across the internet in minutes rather than hours.

Choose a quiet day. Do not move the store during a sale or on the day you send out a newsletter.

How to make a full backup of your site and database?

WordPress has two parts: files and a database. You need both to migrate it.

Files. The most important are the wp-content directory (themes, plugins, uploaded images) and the wp-config.php file. The easiest option is to zip the entire site directory. Over SSH, you can do this:

cd ~/public_html
tar -czf ~/strona-kopia.tar.gz .

Without SSH, download the files using an FTP client (for example, FileZilla), or use the file manager in your hosting panel, which can usually compress a directory into a ZIP file.

Database. You will find the database name, username and password in wp-config.php (the constants DB_NAME, DB_USER, DB_PASSWORD). Export via SSH:

mysqldump -u USER -p DB_NAME > dump.sql

Without SSH, export the database in phpMyAdmin: select the database, choose the Export tab, the Quick method and SQL format.

Before you continue, open the dump.sql file and check that it is not empty and ends correctly. A corrupted database dump is the most common reason a migration "almost worked".

How to move WordPress manually, step by step?

Manual migration gives you full control and works for websites of any size, even when migration plugins choke on a media library of several gigabytes.

Step 1. Prepare the environment on the new server

On the new hosting, create a site for the domain, an empty database, and a user with full permissions for that database. Use the same PHP version as on the old server (or a newer version if you know that the theme and plugins support it).

Step 2. Upload the files

Upload the archive to the new server and unzip it in the website directory:

tar -xzf strona-kopia.tar.gz

With FTP, simply upload all the files. Check whether the .htaccess file came through, because many programs hide files starting with a dot by default.

Step 3. Import the database

mysql -u NEW_USER -p NEW_DB < dump.sql

Alternatively, in phpMyAdmin: select a new database, go to the Import tab, and choose the SQL file.

Step 4. Update wp-config.php

Enter the new database details in wp-config.php: DB_NAME, DB_USER, DB_PASSWORD and DB_HOST. Do not change the table prefix ($table_prefix), it must match the one in the imported database.

Step 5. Do not change the site's URL

If the domain stays the same, the URLs in the database (siteurl and home in the wp_options table) remain unchanged. This is the most important rule for SEO: the same domain, the same protocol, the same paths. You only replace URLs in the database when you intentionally change the domain, and then you use a tool that understands serialized data, for example wp search-replace with WP-CLI. A simple "find and replace" in an SQL file can damage theme and widget settings.

Step 6. Save permalinks again

After logging in for the first time, go to Settings > Permalinks and click Save without changing anything. WordPress will refresh the URL rewrite rules, and subpages will no longer return 404.

Can you move WordPress with a plugin?

Yes, and for small websites, it is the fastest option. Popular migration plugins (All-in-One WP Migration, Duplicator, Migrate Guru) package the files and database into a single archive, then unpack them on the new server onto a fresh WordPress installation.

If you are moving a website to Saplo, you can use our Saplo Migrate plugin. It does not require FTP or a database export: upload it to the old website, paste the key from the Saplo panel, and click Start. It packages the files and database in small batches, so it also works on low-powered hosting with short execution time limits, and it resumes an interrupted upload from where it stopped. It automatically updates the addresses in the database, while the old website remains unchanged in the meantime.

Their limitations are worth knowing:

  • free versions often have archive size limits, which large photo libraries exceed,
  • the import overwrites the entire installation, including user accounts, so after the import you log in using the credentials from the old website,
  • on a low-powered source server, the packaging process may stop halfway through.

Regardless of the method, make a separate manual backup before moving. A plugin is a convenience, not a backup.

How to test a website before changing DNS?

This is the step that separates a calm move from a stressful one. The website is already on the new server, but visitors still see the old one. You have time to check everything.

There are two ways to see the new version:

  • the hosts file on your computer. You add a line with the new server's IP address and domain, for example 203.0.113.10 yourdomain.com www.yourdomain.com. Only your browser will see the new server, while the rest of the internet still reaches the old one,
  • a test address from your hosting provider. Many hosting companies provide a temporary subdomain where you can view the migrated website.

What to check on the test version:

  1. the homepage, a few posts, categories and the contact page,
  2. logging in to the dashboard and saving any change,
  3. submitting the contact form and checking whether the email arrives,
  4. in the shop: the cart, a test payment and order emails,
  5. whether in Settings > Reading, "Ask search engines not to index your site" is not selected,
  6. whether /robots.txt and the sitemap work,
  7. whether random URLs from the previously exported URL list return a 200 status code.

The last point is easy to automate with a simple terminal loop that requests every URL from the sitemap and prints the ones that do not return a 200 status code.

How to switch a domain without downtime?

Once the test version is running, change the A record (and AAAA, if you have IPv6) in your registrar's panel to the new server's address, or switch the name servers to those used by the new host.

To avoid downtime:

  • do not shut down the old hosting right away. For a day or two, some visitors may still land on the old server until their DNS refreshes the record,
  • freeze changes on the old site. From the moment you make the backup, do not publish any new content there, and it is best to switch the domain in your store during a quiet period. Otherwise, orders placed after the backup will remain on the old server,
  • take care of the SSL certificate. The new server must have a valid certificate for the domain from the first minute. A site with a certificate error looks like an outage to both visitors and bots,
  • move email separately and deliberately. If the MX records pointed to the old hosting and you are changing the name servers, email will move with them. The mailboxes must then exist on the new server beforehand.

With the TTL lowered beforehand, most traffic will reach the new server within a few minutes.

What to check in Google Search Console after moving?

The "Change address" tool in Search Console is only for changing your domain. You do not use it when changing hosting alone. Instead, for the first two weeks, monitor:

  • Pages > Indexing. Whether the number of pages with a 404 or 5xx error is increasing,
  • Settings > Indexing Statistics. This report shows the server response time for the Google crawler. After moving to a faster server, the average response time should decrease,
  • Sitemaps. Submit the sitemap again so the crawler can visit the site on the new server sooner,
  • Performance. Position fluctuations by a few places during the first few days are normal. A lasting drop usually means lost URLs or an indexing block.

It is also worth checking the error log on the new server for a few days. A missing PHP extension or an incorrect upload directory will show up there sooner than in the statistics.

Most common mistakes that cost you rankings

  • The "Do not index the site" setting carried over from the test version. The site disappears from Google within a few days.
  • A different internal linking structure. URLs change without 301 redirects, and all link equity is lost.
  • Mixed content after switching to HTTPS: images and scripts loaded over http, browser warnings.
  • The old server disabled before DNS propagation. Some visitors and bots see an error for several hours.
  • Lost redirects from .htaccess. Old 301 redirects collected over the years disappear if the new server uses nginx and no one recreates them.
  • No testing of forms and email. The site works, but customer inquiries have not come through for a week.

Moving WordPress to Saplo

You can move WordPress to Saplo in two ways.

On your own, with the Saplo Migrate plugin. You install the WordPress app in the panel, open its details, click Move site here, and download the plugin. On the old site, you upload it via Plugins, Add New, Upload Plugin. In Tools, Saplo Migrate, you paste the key from the panel and click Start migration. You can see the progress in both places. Check the finished site at the Box test URL, and only then switch the domain. Before we upload the migrated site, the existing WordPress content is set aside, so you can always go back.

With our help. If you would rather not do it yourself, Migration is free. You give us access to the old panel, FTP, or SSH, and we move the site, set it up at the test URL, and switch the domain once you confirm that everything works. Email is migrated separately using the email migration wizard in the panel.

Every Box comes with a free SSL certificate that renews automatically, and plans start at $29 per year. You can find details about hosting for this CMS on the WordPress hosting page, and you can set up a new installation with one click from the App catalog.

FAQ

Will I lose Google rankings after changing hosting?

No, as long as the domain, protocol, and subpage URLs remain the same and the site has no downtime. Minor ranking fluctuations during the first few days are normal and pass on their own. A lasting drop almost always means changed URLs without redirects or blocked indexing.

How long does it take to move WordPress to a new hosting?

Backing up and importing a small site takes anywhere from a few minutes to an hour. Then there are testing and DNS propagation, which takes a few minutes with a reduced TTL and up to several hours with the default settings. It is safest to plan the entire process for one to two days.

Do I need to use the "Change of Address" tool in Search Console?

No. This tool is only for moving to a different domain. When changing just the server while keeping the same domain, you do not report anything in Search Console. You only need to resubmit the sitemap and monitor the reports.

Will email move along with the site?

Not automatically. Mailboxes are a separate service. If your email is hosted on the old hosting account, you need to create the same mailboxes on the new server, transfer the messages, and only then change the MX records or the domain name servers.

What to do if subpages return a 404 error after a migration?

In most cases, all you need to do is go to Settings > Permalinks and click Save. If that doesn't help, the new server does not support the rules in .htaccess (as is the case with nginx, for example), and you need to add request forwarding to index.php in its configuration.

  • #SEO
  • #Hosting
  • #Migration
  • #WordPress