Demi

Demi Blogs

WordPress Guides, Tips & Resources

Practical tutorials, expert insights, and helpful resources to
 make WordPress easier.

How to Migrate a WordPress Website (Step-by-Step Guide)

how to migrate WordPress

Short answer: you can migrate WordPress in three ways: move the files and database by hand (full control), use a migration plugin (the fastest option for most people), or ask your new host to transfer the site. Whichever you choose, take a full backup first, test the copy on the new server and switch your domain only when everything works.

This guide shows three simple ways to move your website: manual migration, a migration plugin, and a hosting transfer handled by your new host. You will also learn what to do before and after the move, how to fix common errors, and how to protect your Google rankings. 

New to WordPress backups? Start with our simple guide to creating a full-site backup before you contact something.

What Does It Mean to Migrate a WordPress Website?

WordPress migration means moving your entire website from one place to another. That includes:

  • Your files: themes, plugins, and media uploads
  • Your database: posts, pages, comments, users, and settings
  • Your configuration: the settings that connect your files to your database

You can move a site to a new hosting company, a new server, or a new domain name. Some people also move a site from a local computer or staging site to a live server.

When Should You Move Your Website?

Not every site needs to move. But here are the most common reasons people do it:

  • Your site is slow. Weak servers make pages load slowly and hurt your SEO.
  • You have frequent downtime. If your host keeps going offline, your visitors and sales suffer.
  • Support is poor. Fast, helpful support matters when something breaks.
  • You need more power. Growing sites often outgrow shared hosting and need a VPS or cloud plan.
  • You are changing your brand. A new domain name means a new address for your site.
  • You want to save money. Some hosts simply offer better plans for the price.
  • You build sites for clients. Agencies often move sites from a dev server to a client’s live server.

If any of these sound familiar, a hosting transfer may be the best step you take this year.

Managing many client sites? See how WP Demi helps agencies and freelancers move, back up, and launch sites faster with one-click demo import.

Before You Start: Your Pre-Migration Checklist

Good preparation prevents most migration problems. Do these things first:

  1. Create a full backup. Save all files and the database. Store the copy on your computer or cloud storage, not only on your old host.
  2. Choose your new host. Check that it meets the latest WordPress hosting requirements for PHP and MySQL or MariaDB.
  3. Note your current settings. Write down your PHP version, permalink structure, active plugins, and theme.
  4. Clean up your site. Delete unused plugins, old themes, spam comments, and large files you no longer need. A lighter site moves faster.
  5. Turn off caching. Cache plugins can copy old data and cause strange results.
  6. Lower your DNS TTL. A day before the move, set your domain’s TTL to a low value such as 300 seconds. This helps the new address spread faster later.
  7. Pick a quiet time. Move your website when traffic is low, such as late at night or on a weekend.

Which Migration Method Is Right for You?

MethodDifficultyBest forTime needed
Manual migrationAdvancedDevelopers and people who want full control1–3 hours
Migration pluginEasyBeginners, freelancers, and agencies15–60 minutes
Hosting transfer (done by your host)EasiestPeople who do not want to touch anything technicalA few hours to 2 days

Let’s go through each one.

Method 1: Manual Migration (Full Control)

Manual migration takes more time, but it teaches you exactly how WordPress works. It is also useful when a plugin fails because your site is very large.

Step 1: Download your website files

Connect to your old host with an FTP client such as FileZilla, or open the File Manager in your hosting panel. Download everything in your WordPress folder, often called public_html. The most important folder is wp-content, because it holds your themes, plugins and uploads.

Step 2: Export your database

Log in to phpMyAdmin from your hosting panel. Select your WordPress database, click Export, choose the Quick method with SQL format, and download the file.

Step 3: Create a new database on your new host

In your new hosting panel, create an empty database and a database user. Give the user full permissions. Write down the database name, username, password and host. You will need them shortly.

Step 4: Import your database

Open phpMyAdmin on the new host, select your new empty database, click Import and upload your SQL file. If the file is too large, ask your host to raise the upload limit or use a tool such as BigDump.

Step 5: Upload your files

Upload your WordPress files to the correct folder on the new server. On most hosts, this is public_html.

Step 6: Edit wp-config.php

Open the wp-config.php file and update these lines with your new details:

  • DB_NAME
  • DB_USER
  • DB_PASSWORD
  • DB_HOST

Save the file. If you skip this step, you will see the “Error establishing a database connection” message.

Step 7: Update your site URL (only if the domain changed)

If you are moving to a new domain, you need to replace the old address with the new one. You can edit siteurl and home in the wp_options table. Then run a search-and-replace to fix old links in your content. Use a tool that handles serialized data correctly, such as WP-CLI or the Better Search Replace plugin. A plain find-and-replace in a text editor can break your site.

Step 8: Test before you go live

Do not change your DNS yet. Edit the hosts file on your computer so your domain points to the new server’s IP address. Now you can open your site and test it while the rest of the world still sees the old one.

Want to skip the technical steps? See how you can move a full site with just a backup file.

Method 2: Use a Migration Plugin (Fastest for Most People)

A migration plugin packs your files and database into one backup file. You then upload that file to your new site and restore it. No FTP and no phpMyAdmin are needed.

This is the best option for beginners and for anyone who wants to move a website quickly. It is also great for agencies that move many sites every month.

How to migrate WordPress with the free WP Demi plugin

WP Demi is a lightweight plugin that handles backups, restores, and site migration in one place. Here we call your old website Site A and your new website Site B.

On Site A (your old site):

  1. Log in to your WordPress dashboard.
  2. Install and activate the WP Demi plugin.
  3. Go to Appearance → Demi → Backup.
  4. Click Create Full Backup. The plugin saves your database, themes, plugins, and media files.
  5. When the backup is ready, click Download to save the file on your computer.

On Site B (your new site):

  1. Install a fresh copy of WordPress on your new host.
  2. Install and activate WP Demi.
  3. Go to Appearance → Demi → Import Backup.
  4. Upload the backup file you downloaded.
  5. Click Restore.

That is it. WP Demi rebuilds your site on the new installation. If you cancel during the import, the uploaded file stays in your import list, so you can restore it later.

Need help getting started? Here is how to install and activate the plugin in under a minute.

Tips for using any migration plugin

  • Check if your plugin has a file size limit. Large sites may need a higher upload limit from your host.
  • Always use the same plugin on both sites.
  • Keep a spare copy of your backup until you have tested everything.
  • After the restore, save your permalinks (more on this below).

Method 3: Hosting Transfer (Let Your New Host Do It)

Many hosting companies offer a free or paid hosting transfer service. You give them access to your old site, and their team moves everything for you. This is the easiest choice if you are not comfortable with technical work.

Here is how it usually works:

  1. Sign up for your new hosting plan.
  2. Find the migration or transfer option in your dashboard or contact support.
  3. Share your WordPress admin login or upload your backup files.
  4. Wait while the team moves your website. This can take a few hours to two days.
  5. Test the new site using a temporary URL.
  6. Point your domain to the new host once you are happy.

A few tips: some hosts ask you to turn off two-factor login for a short time, so plan for that. Keep your old hosting active until the whole process is finished. Also, ask what the host will not move, such as email accounts, which often need to be set up again.

How to Point Your Domain to the New Host

Once your new site works perfectly, you must send visitors to it. There are two ways:

  • Change your nameservers to those given by your new host, or
  • Update your A record to the IP address of the new server.

This change is called DNS propagation. It can take anywhere from a few minutes to 48 hours to reach every part of the world. During this time, some visitors see the old site and others see the new one. This is normal. Do not make big content changes on either site until it finishes.

What to Do After You Migrate WordPress

Do not stop once the site loads. Run through this post-migration checklist:

  • Save your permalinks. Go to Settings → Permalinks and click Save Changes. This rebuilds the rules that stop 404 errors.
  • Check your SSL certificate. Make sure your site loads with https and shows the padlock.
  • Test your pages. Click through your homepage, blog posts, menus, contact forms, and checkout pages.
  • Check images and links. Look for missing images or broken links.
  • Test forms and emails. Send a test message from your contact form.
  • Confirm search visibility. Go to Settings → Reading and make sure “Discourage search engines” is unchecked.
  • Clear all caches. Turn your cache plugin back on and clear it.
  • Update your sitemap. Re-submit it in Google Search Console.
  • Watch for errors. Check Search Console for crawl errors in the first two weeks.
  • Keep the old host for a week. Cancel only when you are sure everything works.
  • Set up a new backup routine. A fresh site needs fresh protection.

Common WordPress Migration Problems and How to Fix Them

Even a careful move can hit a bump. Here are the most common issues:

1. Error establishing a database connection

Your wp-config.php details are wrong. Double-check the database name, username, password, and host.

2. Pages show a 404 error

Go to Settings → Permalinks and click Save Changes. If that fails, your .htaccess file may be missing.

3. Broken images or missing styles

Old URLs are still in your database. Run a safe search-and-replace to update them. Also check for mixed content if you moved to HTTPS.

4. White screen or 500 error

This is often a PHP version problem or a plugin conflict. Turn on debug mode, check the error log, and disable plugins one by one.

5. Too many redirects

Check that your site URL settings match your real address, and that your SSL settings are consistent.

6. Upload fails because the file is too large

Ask your host to raise the upload_max_filesize and post_max_size limits, or upload the file by FTP.

Still stuck after trying these fixes? Our team is happy to help, so get in touch with us.

How to Move Your Website Without Hurting SEO

A poorly planned move can drop your rankings. Protect them with these habits:

  • Keep your URLs the same. If your page addresses do not change, Google sees the same content.
  • Use 301 redirects if your domain or URLs change. This tells search engines the move is permanent.
  • Use Google’s Change of Address tool in Search Console when you switch domains.
  • Keep downtime short. Long outages can cause pages to drop out of search results.
  • Monitor your traffic. Watch your rankings and traffic for a few weeks.

A small dip right after a move is normal. It should recover quickly if you follow these steps.

Conclusion

You did it! You now know how to migrate WordPress the safe way, and that is a big win. Manual migration gives you full control. A migration plugin saves you time. A hosting transfer lets someone else do the hard work. Whichever path you pick, three rules never change: back up first, test before you switch, and check everything afterward. Follow them, and your site stays safe from start to finish.

Ready to Move Your Website the Easy Way?

Want the simplest route? Start with a plugin. You can create a full backup, download it, and restore it on your new site in a few clicks. With a little planning, you can move your website without stress, downtime, or lost rankings. Try Demi Backup Migration. It lets you back up, restore, and migrate your WordPress site. It is free, needs no account, and suits freelancers, agencies, and site owners.

Related reading: compare the best WordPress migration plugins, or see how to migrate WordPress to a new host without downtime.

FAQ’s

1. How long does it take to migrate a WordPress website?

A plugin migration can take 15 to 60 minutes. A manual migration typically takes one to three hours. A hosting transfer handled by your host can take from a few hours to two days. DNS changes can also take up to 48 hours to propagate everywhere.

2. Will I lose my SEO rankings if I move my website?

Not if you do it properly. Keep your URLs the same, use 301 redirects if anything changes, keep downtime short, and check Google Search Console after the move. For a full checklist, read our SEO migration guide.

3. Can I migrate WordPress without a plugin?

Yes. A manual migration means copying your files and database and editing wp-config.php. It takes longer but gives you full control.

4. Do I need to back up before a hosting transfer?

Always. Even when your new host does the work, a backup is your safety net if something goes wrong. Create a full backup and keep a copy on your own computer.

5. Will my website go offline during migration?

Your old site stays online while you build the new one. If you test first and only change your DNS when everything works, downtime can be close to zero.

Scroll to Top