Moving a WordPress website to a new host without downtime

Table of Contents

How to Move a WordPress Website to a New Host Without Downtime

Moving a WordPress website to a new hosting provider can seem risky, especially when the website is already live and receiving visitors, leads, or orders.

A poorly planned migration can cause downtime, broken links, SSL errors, missing images, database connection problems, email issues, or even temporary SEO problems.

The good news is that you can move a WordPress website to a new host with little or no downtime if you use the right migration sequence.

The key is simple:

Do not move the live website first and figure out DNS later. Prepare the new hosting environment while the existing website is still online.

This guide explains how to migrate a WordPress website to a new host while keeping the old website available until the new server is ready.

Whether you are moving because of slow hosting, rising costs, poor support, limited resources, or better performance, the process below will help you reduce migration risk.

Key Takeaways

  • Back up your WordPress files and database before making any changes.
  • Set up the new hosting account before changing DNS.
  • Copy the website files and database to the new server.
  • Update the new environment without taking the old website offline.
  • Test the migrated website before changing DNS.
  • Lower DNS TTL before the migration when possible.
  • Make sure SSL is installed and working on the new server.
  • Pay special attention to WooCommerce, forms, email, and other dynamic functionality.
  • Keep the old hosting account active until the migration is confirmed successful.
  • Monitor the website after DNS propagation.
  • Do not cancel the old hosting account immediately after changing DNS.

Why Move a WordPress Website to a New Host?

There are several reasons a website owner may decide to change hosting providers.

1. Poor Website Performance

If your website consistently has slow server response times, high resource usage, or poor Time to First Byte (TTFB), the hosting environment may be part of the problem.

However, hosting is not always the cause of a slow WordPress website.

Before migrating, it is worth checking your WordPress configuration, plugins, images, caching, database performance, and theme.

Our guide on How to Speed Up a WordPress Website covers the main optimization areas.

2. Hosting Resource Limits

A website can outgrow its hosting plan.

This is particularly common with:

  • WooCommerce stores
  • membership websites
  • high-traffic blogs
  • websites with large media libraries
  • websites using resource-heavy plugins
  • websites with large databases

If your hosting account regularly reaches CPU, RAM, inode, or PHP worker limits, moving to a better environment may be necessary.

3. Better Support

Hosting support can become particularly important when something goes wrong.

If your current provider consistently struggles with server-level issues, backups, SSL, DNS, or performance problems, switching providers may make sense.

4. Cost

Sometimes a website is simply paying too much for resources it does not need.

Moving to another provider can reduce hosting costs, although the cheapest hosting plan is not necessarily the best choice.

5. Better Infrastructure

You may also want to move to a host offering:

  • better server infrastructure
  • newer PHP versions
  • improved caching
  • CDN integration
  • automatic backups
  • staging environments
  • better security
  • scalable resources

Can You Move WordPress Without Downtime?

Yes.

The most important concept is that you should prepare the new server before pointing your domain to it.

Your current website remains live while you:

  • Create the new hosting account.
  • Set up WordPress on the new server.
  • Transfer the files.
  • Transfer the database.
  • Configure WordPress.
  • Install SSL.
  • Test the website.
  • Change DNS.
  • Verify the new website.

The old hosting server continues serving visitors until DNS starts directing them to the new server.

This is fundamentally different from taking the website offline, moving everything, and then bringing it back online.

Before You Start: Create a Migration Plan

Before touching the website, document your current environment.

Record:

  • Current hosting provider
  • New hosting provider
  • Domain name
  • WordPress version
  • PHP version
  • Database type
  • Database size
  • WordPress installation path
  • DNS provider
  • Nameservers
  • CDN configuration
  • SSL configuration
  • Email provider
  • SMTP configuration
  • Cron jobs
  • Redirects
  • Cache configuration
  • Important plugins
  • WooCommerce settings
  • Third-party integrations

This information gives you something to compare against after the migration.

For larger websites, create a simple migration checklist rather than relying on memory.

Step 1: Back Up the Existing WordPress Website

Never start a migration without a working backup.

You should have at least:

Website files

Back up the entire WordPress installation, including:

  • wp-content
  • themes
  • plugins
  • uploads
  • WordPress core files
  • .htaccess
  • configuration files where applicable

Database

Export the complete WordPress database.

The database contains critical information such as:

  • posts
  • pages
  • users
  • settings
  • WooCommerce orders
  • plugin configuration
  • menus
  • widgets
  • metadata
  • custom post types

A backup of only the wp-content directory is not enough.

Test the backup

This is often overlooked.

A backup is useful only if you can actually restore it.

If possible, test the backup on a staging environment before beginning the migration.

For more information about safe testing, see:

How to Safely Update & Test WordPress Websites Using Staging Environments.

Step 2: Prepare the New Hosting Account

Do not change your domain’s DNS yet.

First, create the new hosting environment.

Depending on your provider, you may need to:

  • create a new hosting account
  • add your domain
  • create a database
  • create a database user
  • configure PHP
  • configure PHP extensions
  • create email accounts if necessary
  • install SSL
  • configure server caching
  • configure CDN integration

The exact process varies between hosting providers.

The important part is that the new server must be capable of running the existing website before traffic is moved to it.

Step 3: Check PHP and WordPress Compatibility

Before copying the website, compare the old and new environments.

Pay particular attention to PHP.

For example, if the existing website uses an older PHP version and the new server uses a significantly newer version, plugins or themes may behave differently.

Check:

  • PHP version
  • MySQL/MariaDB version
  • PHP memory limit
  • upload limits
  • execution time
  • required PHP extensions
  • server software
  • WordPress version

Do not assume that changing hosts is the right moment to make several unrelated upgrades.

If possible, keep the environment as similar as possible during the initial migration.

Once the website works correctly on the new host, upgrades can be handled separately.

Step 4: Copy the WordPress Files

There are several ways to move WordPress files.

You can use:

  • SFTP
  • FTP
  • hosting file manager
  • SSH
  • migration plugins
  • hosting-provider migration tools

For larger websites, SFTP or SSH can be more reliable than downloading the entire website to your local computer first.

The most important directories are inside:

wp-content

This includes:

  • plugins
  • themes
  • uploads
  • custom code
  • other site-specific files

Do not forget hidden files such as .htaccess when your hosting environment uses them.

Step 5: Export and Import the WordPress Database

Next, migrate the database.

The general process is:

  • Export the existing database.
  • Create a new database on the new host.
  • Create a database user.
  • Import the SQL file.
  • Grant the required permissions.
  • Update the new WordPress configuration.

Depending on your hosting provider, you may use tools such as phpMyAdmin, a command-line database client, or a hosting migration tool.

After importing the database, check that the tables were transferred successfully.

A typical WordPress database contains tables such as:

  • wp_posts
  • wp_postmeta
  • wp_options
  • wp_users
  • wp_usermeta
  • wp_terms
  • wp_termmeta
  • wp_term_relationships

The actual table prefix may be different.

Do not assume it is always wp_.

Step 6: Update wp-config.php

The new server may use different database credentials.

Your WordPress configuration must point to the new database.

The relevant values include:

  • database name
  • database username
  • database password
  • database host

In many hosting environments, the database host is localhost, but this is not universal.

Use the credentials supplied by the new hosting provider.

Do not copy database credentials into public documentation, screenshots, or support tickets unnecessarily.

Step 7: Test the Website Before Changing DNS

This is one of the most important steps in a zero-downtime migration.

Do not change DNS immediately after copying the website.

First, access the website on the new server using a temporary URL, staging domain, hosts-file configuration, or another method provided by your hosting provider.

You want to test the new environment while visitors are still using the old server.

Check:

Frontend

  • Homepage
  • Main navigation
  • Pages
  • Blog posts
  • Images
  • CSS
  • JavaScript
  • Search
  • Forms
  • Footer
  • Mobile layout

WordPress Admin

Log in and verify:

  • Dashboard
  • Media Library
  • Pages
  • Posts
  • Plugins
  • Themes
  • Settings
  • Users

Functionality

Test:

  • Contact forms
  • Newsletter forms
  • Login
  • Search
  • Downloads
  • Third-party integrations
  • Analytics
  • SMTP
  • reCAPTCHA
  • payment functionality

Step 8: Pay Special Attention to WooCommerce

WooCommerce websites require additional care because they can receive new data while you are migrating.

For example, while you are copying the database, customers may:

  • place orders
  • create accounts
  • update profiles
  • submit reviews

If you simply copy the database several hours before changing DNS, new information created on the old server after the database export may not exist on the new server.

This is why WooCommerce migrations often require a more controlled final synchronization.

Before migrating a WooCommerce website, review:

  • orders
  • customers
  • products
  • stock
  • coupons
  • payment gateways
  • shipping settings
  • taxes
  • webhooks
  • scheduled actions
  • emails

For a broader WooCommerce reference, see WooCommerce From Beginner to Advanced.

Step 9: Check Your Email Before Changing DNS

Website migration and email migration are not necessarily the same thing.

Your website may be moving to a new host while your email remains with:

  • Google Workspace
  • Microsoft 365
  • another email provider
  • the existing hosting provider

Before changing DNS, identify where your email is actually hosted.

Important DNS records can include:

  • MX
  • SPF
  • DKIM
  • DMARC
  • A
  • CNAME
  • TXT

If your email is already hosted somewhere else, make sure you do not accidentally replace the required DNS records when switching the website.

Also test website-generated emails after the migration.

For WordPress email reliability, see:

How to Setup Free SMTP Email Delivery in WordPress.

Step 10: Install and Verify SSL

Before switching traffic, make sure HTTPS works on the new server.

Check:

https://yourdomain.com

Also test:

https://www.yourdomain.com

if your website uses the www version.

Make sure:

  • the certificate is valid
  • the certificate covers the correct domain
  • HTTPS loads correctly
  • there are no major mixed-content problems
  • HTTP redirects to HTTPS where appropriate

If you need help with HTTPS configuration, see the SSL & HTTPS Setup for WordPress guide.

Step 11: Check DNS and Lower TTL

DNS determines where visitors are sent.

Before the migration, check the existing DNS records.

At minimum, identify:

  • A record
  • AAAA record, if used
  • CNAME records
  • MX records
  • TXT records

If you control the DNS settings, lowering the TTL before migration can help reduce the amount of time some resolvers cache the old destination.

For example, you might reduce the TTL ahead of the migration and restore it later.

However, changing TTL does not guarantee that every visitor will switch immediately.

DNS propagation and caching behavior can vary.

Step 12: Perform the Final Database Synchronization

For a simple brochure website that receives no dynamic content, the initial database migration may be enough.

For a busy website, the situation is different.

Imagine this sequence:

10:00 AM: You export the database.

10:30 AM: A customer submits a form.

11:00 AM: You change DNS.

The form submission may exist only on the old server.

For dynamic websites, you need to account for this gap.

Depending on the website, the final synchronization may involve:

  • a short maintenance window
  • database synchronization
  • temporarily disabling writes
  • using a migration system designed for live websites

The goal is to prevent data created after the initial migration from being lost.

Step 13: Change DNS to the New Server

Once the new website has been tested and the final synchronization is complete, update the relevant DNS record.

Typically, this means changing the domain’s A record to the new server’s IP address.

Some hosting configurations use CNAME records or other routing mechanisms instead.

Do not change DNS until you have confirmed that the new server is ready.

Once the DNS change is made, different visitors may reach different servers temporarily because DNS caching exists across the internet.

This is normal.

Step 14: Monitor the Website During DNS Propagation

The migration is not finished immediately after changing DNS.

Monitor the website carefully.

Check:

  • homepage
  • important landing pages
  • forms
  • login
  • WooCommerce checkout
  • orders
  • images
  • SSL
  • redirects
  • admin login
  • emails
  • analytics
  • search functionality

Also check server logs if you have access to them.

Look for:

  • PHP errors
  • 404 errors
  • 500 errors
  • database errors
  • plugin errors
  • permission problems

If you encounter a WordPress 500 error after migration, the cause may be related to PHP compatibility, plugins, themes, permissions, .htaccess, or server configuration.

See How to Fix the WordPress 500 Internal Server Error for a detailed troubleshooting process.

Step 15: Verify Your URLs and Redirects

One of the easiest ways to create problems during a migration is to accidentally change URLs.

Verify:

  • WordPress Address
  • Site Address
  • permalink structure
  • canonical URLs
  • internal links
  • redirects
  • image URLs
  • sitemap
  • robots.txt

Your website should retain the same URLs unless changing them is specifically part of the migration.

This is especially important for SEO.

If URLs change during the migration, appropriate 301 redirects should be implemented.

For a migration where the URLs themselves are changing, see:

How to Migrate a WordPress Website Without Losing SEO.

Step 16: Clear and Rebuild Caches

After switching servers, old cached files can cause confusing behavior.

Depending on your setup, clear:

  • WordPress cache
  • page cache
  • object cache
  • server cache
  • CDN cache
  • browser cache

Then test the website again.

If the new host has a different caching system, configure it only after confirming that the basic website is working correctly.

Avoid changing ten performance settings at the same time as the migration.

First migrate successfully.

Then optimize.

Step 17: Check Your WordPress Cron Jobs

WordPress websites often rely on scheduled tasks.

Check whether your website uses:

  • WP-Cron
  • real server cron
  • WooCommerce scheduled actions
  • plugin-specific scheduled tasks

After migration, scheduled tasks should still execute correctly.

This is particularly important for:

  • WooCommerce
  • newsletters
  • backups
  • automated reports
  • memberships
  • subscriptions
  • scheduled publishing
  • integrations

A website can appear completely normal while background jobs are silently failing.

Step 18: Check Search Engine and Analytics Tracking

After migration, make sure tracking remains intact.

Verify:

  • Google Analytics
  • Google Tag Manager
  • Search Console verification
  • conversion tracking
  • advertising pixels
  • schema markup
  • XML sitemap
  • robots.txt

If the domain and URLs remain unchanged, the migration itself should not require a complete SEO rebuild.

However, technical errors introduced during migration can still affect crawling and indexing.

Step 19: Compare the Old and New Website

Before declaring the migration complete, compare both environments.

Create a checklist containing important URLs.

For example:

PageOld SiteNew Site
Homepage
About
Services
Contact
Blog
Key landing pages
Forms
Login
Checkout

You can also crawl the website and compare:

  • status codes
  • titles
  • meta descriptions
  • canonical URLs
  • headings
  • internal links
  • images
  • redirects

This is particularly useful for larger websites.

Step 20: Keep the Old Hosting Account Active

Do not immediately cancel the old hosting account.

This is one of the safest rules in WordPress migration.

Keep the old server available until you are confident that:

  • DNS has fully switched
  • the new website works
  • forms work
  • emails work
  • orders work
  • scheduled tasks work
  • SSL works
  • important URLs work
  • no major errors are occurring

The old website acts as a fallback while DNS changes propagate.

Once everything is stable, you can safely remove the old hosting environment.

Common WordPress Migration Problems

Even a carefully planned migration can reveal unexpected issues.

Database Connection Errors

You may see:

Error Establishing a Database Connection

Common causes include:

  • incorrect database credentials
  • incorrect database host
  • missing database
  • incorrect permissions
  • database server problems

Read our Error Establishing a Database Connection guide for troubleshooting steps.

Broken Images

Images may break because:

  • files were not copied
  • URLs changed
  • permissions are incorrect
  • HTTPS changed
  • CDN configuration changed

Check the browser developer tools and inspect the image URL.

500 Internal Server Error

A 500 error after migration can be caused by:

  • PHP incompatibility
  • plugin conflicts
  • theme issues
  • .htaccess
  • insufficient PHP memory
  • server configuration
  • file permissions

Do not immediately assume the database is the problem.

SSL Errors

SSL problems can occur when:

  • the certificate was not installed
  • DNS still points to the old server
  • the certificate does not cover the requested domain
  • redirects are misconfigured

Missing Emails

Website emails can stop working after migration if:

  • SMTP configuration changed
  • DNS records changed
  • SPF/DKIM records are missing
  • the mail provider changed
  • the server is blocking outgoing mail

Test both WordPress-generated messages and the actual mailbox.

WordPress Migration Mistakes to Avoid

1. Changing DNS Before Testing

This is one of the biggest mistakes.

If the new website is broken and DNS has already changed, visitors immediately see the problem.

Test first.

2. Migrating Only the Files

WordPress needs both its files and its database.

Moving only wp-content does not move the complete website.

3. Forgetting Hidden Files

Important configuration can exist in files such as .htaccess.

4. Forgetting Email DNS Records

Changing nameservers or DNS records without understanding your email setup can interrupt email delivery.

5. Changing the Domain During Migration

Do not introduce unnecessary URL changes during a hosting migration.

Keep the migration and redesign separate whenever possible.

6. Updating Everything at Once

Avoid combining:

  • hosting migration
  • WordPress upgrade
  • PHP upgrade
  • theme replacement
  • plugin replacements
  • redesign

into one uncontrolled change.

If something breaks, it becomes much harder to identify the cause.

7. Deleting the Old Hosting Too Quickly

Keep the old server available until the new environment has been fully verified.

How Long Does a WordPress Migration Take?

The time required depends heavily on the website.

A small brochure website may take 1–3 hours to migrate and test.

A larger website may require considerably more time.

Factors include:

  • website size
  • database size
  • number of plugins
  • WooCommerce
  • traffic volume
  • email configuration
  • DNS complexity
  • CDN configuration
  • custom integrations
  • hosting differences

The actual file transfer may be quick.

Testing and verification are what make a professional migration take longer.

WordPress Migration Checklist

Before the migration:

  • Document the current hosting environment
  • Back up all files
  • Back up the database
  • Verify the backup
  • Record DNS records
  • Record email configuration
  • Check PHP compatibility
  • Prepare the new hosting account
  • Lower DNS TTL if appropriate

During the migration:

  • Copy WordPress files
  • Export the database
  • Import the database
  • Configure wp-config.php
  • Install SSL
  • Test the new website
  • Test forms
  • Test WooCommerce
  • Test email
  • Check redirects
  • Check URLs
  • Check tracking

After migration:

  • Change DNS
  • Monitor DNS propagation
  • Test the live website
  • Clear caches
  • Test forms again
  • Test checkout again
  • Check analytics
  • Check Search Console
  • Crawl important URLs
  • Monitor server errors
  • Keep the old host active
  • Cancel the old hosting only after everything is stable

Frequently Asked Questions

Can I move WordPress to another host without downtime?

Yes. The safest approach is to build and test the website on the new server before changing DNS. The existing server continues handling visitors while the new environment is prepared.

Will changing hosting affect my SEO?

Changing hosting does not automatically hurt SEO when the domain and URLs remain the same. Problems can occur if the migration introduces downtime, broken URLs, incorrect redirects, indexing issues, or other technical errors.

Do I need to change my domain name?

No. A hosting migration normally keeps the same domain name.

Do I need to change nameservers?

Not necessarily. Depending on your DNS setup, you may only need to change the relevant A or CNAME record.

How long should I keep my old hosting account?

Keep it active until the new website has been fully tested and DNS has successfully switched. For important websites, keeping the old environment available for several days provides an additional safety margin.

Can I migrate a WooCommerce website without downtime?

Yes, but WooCommerce requires additional planning because orders, customers, and other data can change while the migration is taking place. A final database synchronization or controlled migration window may be necessary.

Will my WordPress emails stop working after migration?

They can, but they do not have to. If email is hosted separately, preserve the existing MX and related DNS records. Also verify your WordPress SMTP configuration after the migration.

Should I change PHP versions during the migration?

Ideally, avoid unnecessary changes during the initial migration. First reproduce the existing environment as closely as possible, confirm that the website works, and then handle PHP or other upgrades separately.

Final Thoughts

Moving a WordPress website to a new host does not have to involve hours of downtime or a stressful last-minute migration.

The safest approach is to prepare the new server while the existing website remains live.

Back up the website, transfer the files and database, configure the new environment, test everything before changing DNS, and keep the old hosting account available until the migration is confirmed successful.

For simple websites, the process can be relatively straightforward. For WooCommerce stores, membership websites, high-traffic websites, or websites with complex integrations, additional planning is essential.

The most important rule is simple:

Don’t point your domain to an untested server.

A successful WordPress migration is not just about moving files. It is about making sure the new environment behaves like the old one—or better—before visitors ever notice that anything changed.

Need Help With Your WordPress Website?

A hosting migration is only one part of maintaining a reliable WordPress website. If your website is slow, outdated, difficult to maintain, or experiencing technical problems, a professional WordPress audit can help identify the issues before they become larger problems.

For a deeper understanding of WordPress development, performance, SEO, security, and maintenance, explore the WP FlowMastery WordPress eBook, a 160+ page practical guide designed to help you build and manage professional WordPress websites.

Get the WP FlowMastery WordPress eBook

Written by Nemanja Stosic
WordPress Developer & Website Optimization Specialist

Nemanja helps businesses and freelancers build, optimize, and maintain professional WordPress websites focused on performance, SEO, security, and usability.

Before You Go…

Get our free WordPress guide and learn the essential strategies for building, optimizing and growing your website.

Free guide · No spam · Unsubscribe anytime

Get the Free WordPress Guide

Learn how to build, optimize and grow a professional WordPress website with practical strategies you can actually use.

No spam. Unsubscribe anytime.