Marketing Baby

Migrate WordPress Site to a New Host: Complete Step-by-Step Guide

hosting, wordpress

Moving a WordPress site to a new host can feel daunting. But once you break it down, it’s not as scary as it sounds.

Maybe it’s sluggish performance, lackluster support, or just a better deal elsewhere—switching hosts can seriously boost your site’s vibe and user experience.

The migration process means backing up your site, moving files and databases, and tweaking a few settings so everything works on the new server.

Lots of folks stress about losing data or downtime, but following the right steps keeps those worries in check.

This guide covers what WordPress stores where, plus how to pick the right migration method for your situation.

You’ll get the lowdown on manual migration and plugin-based shortcuts, plus the must-do prep and post-move tasks so your site feels right at home on its new host.

Why Migrate a WordPress Site?

Sometimes your current host just isn’t cutting it anymore. Maybe it’s performance, security, or just the price tag.

Knowing why you’re moving helps you plan and avoid headaches.

Common Reasons for Migration

Performance Issues are the big one. If your site drags or loads in more than three seconds, it’s time to look at better hosting.

Cost optimization is another motivator. Some hosts charge way more for the same stuff—sometimes you can save 30-50% just by switching.

Scalability limitations pop up as your site grows. More traffic, more storage, new features… not every host can keep up.

Security concerns matter too. If your host skimps on SSL, malware scans, or backups, it’s a gamble you don’t want to take.

Support quality can make or break your sanity. If support is slow or clueless, it’s worth finding a host that actually helps.

Key Risks and Challenges

Data loss is the ultimate nightmare. One slip—corrupt database, missed files, or a simple mistake—and years of work can disappear.

Extended downtime can hit your business and search rankings. Some migrations take hours, and every minute offline feels way too long.

Broken functionality sneaks in when plugins, themes, or custom code don’t play nice with the new server. Differences in PHP or missing extensions can cause weird issues.

SEO impact is a thing too. If URLs change or there’s downtime, search engines might ding your rankings for a bit.

Email disruption happens if your email moves with your site—expect some hiccups with inbox access or forwarding during the switch.

Benefits of Upgrading Hosts

Improved performance means faster load times. Better hardware and SSDs can shave 40-60% off your page speeds. That’s a big deal.

Enhanced reliability gives you more uptime. Premium hosts often promise 99.9% compared to budget options that can dip lower.

Advanced security features like auto malware scans, DDoS protection, and regular updates are usually part of the package with top hosts.

Better support quality means help is there when you need it—sometimes in minutes, not hours.

Additional features such as staging, auto backups, CDN integration, and handy dev tools can make your life way easier.

How WordPress Works: Files and Database Explained

WordPress is all about two main pieces: the files (code, themes, plugins) and the MySQL database (content, settings, users).

WordPress Core Files Overview

The core files are the guts of your site—PHP code, themes, plugins, and all your uploads. They live on your server and handle everything from page views to admin stuff.

The main files and folders are:

  • wp-config.php – Database info and security keys
  • wp-content – Where themes, plugins, and uploads hang out
  • wp-admin – The dashboard and admin tools
  • wp-includes – Core functions and libraries

Themes set the look and feel. You’ll find them in wp-content/themes/.

Plugins add extra features and live in wp-content/plugins/.

All your images, videos, and docs? Those go in wp-content/uploads/.

The index.php file is the front door—it loads WordPress when someone visits your site.

Understanding the WordPress Database

The WordPress database stores everything else—content, users, settings, all that good stuff. It’s a bunch of MySQL tables, each with a job.

Here’s a quick look at the key tables:

Table NamePurpose
wp_postsBlog posts, pages, and custom content
wp_usersUser accounts and profile information
wp_optionsSite settings and plugin configurations
wp_commentsComments and comment metadata

wp_posts holds all your content—titles, body text, publish dates, you name it.

wp_users keeps user logins and profiles safe.

wp_options is where settings and plugin configs live.

When you move WordPress to a new server, you need to transfer both files and the database—and make sure they connect.

Choosing and Preparing Your New Web Host

Success starts with picking a solid host and setting things up right. Your host choice affects speed, security, and headaches (or lack thereof).

Selecting the Right Hosting Provider

Performance Requirements

Your next host should be faster than your last. Look for SSDs, CDNs, and servers near your main audience.

Most sites need at least 1GB RAM and 10GB storage. If you’re running a big blog or store, you’ll want more.

WordPress-Specific Features

Hosts that focus on WordPress are worth it. They’ll offer auto-updates, staging, and servers tuned for WP.

Many hosts will migrate your site for free—definitely ask before you sign up.

Recommended Hosting Types:

  • Shared Hosting: Great for small, low-traffic sites
  • Cloud Hosting: For sites that need flexibility and can grow
  • Managed WordPress: If you want zero maintenance headaches

Setting Up Hosting Control Panel

Initial Account Configuration

Once you buy your plan, you’ll get login info for your control panel (usually cPanel). This is where you’ll manage files and databases.

Log in right away, check that everything’s working, and poke around a bit.

Important Setup Tasks:

  • Create your main email account
  • Set up FTP access
  • Find your server’s IP address
  • Note the nameserver details

Do Not Install WordPress Yet

Keep your new hosting account empty for now. Some hosts auto-install WordPress—delete those files if you see them.

Your root directory (usually /public_html/) should be squeaky clean before you upload anything.

Verifying Server Requirements

Technical Specifications Check

Your new host should meet these minimums:

RequirementMinimum Version
PHP7.4 or higher
MySQL5.7 or higher
HTTPS SupportSSL Certificate
Memory Limit256MB or higher

Database Capabilities

Make sure you’ve got access to create MySQL databases. cPanel usually comes with phpMyAdmin, which is a lifesaver for managing databases and users.

File Upload Limits

Check your max upload size. Big sites might have backup files that are too large for default settings.

If you need to bump up upload or execution limits, your host’s support should be able to help.

Backup Your WordPress Site

Backing up is your safety net. If something goes sideways, you’ll be glad you did it. You can do this manually or with plugins like UpdraftPlus.

Manual Backup Methods

Manual backups let you control exactly what you save. You’ll need to grab both your files and your database.

Downloading Website Files

Hop into your control panel and open the file manager. Head to your site’s root folder—usually public_html or www.

Select everything WordPress-related, zip it up, and download to your computer.

If you prefer, use an FTP client like FileZilla to copy the whole directory down.

Exporting the Database

Open phpMyAdmin or your host’s database tool. Find your WordPress database.

Hit the “Export” tab, pick “Quick” and SQL format, then click “Go.” Save that file somewhere safe—maybe call it “sitename-database-backup.sql” so you don’t lose track.

Using UpdraftPlus for Backups

UpdraftPlus makes backups way easier. It handles files and database in one click, and it’s perfect for non-techies.

Install it from your WP dashboard—just go to Plugins > Add New and search “UpdraftPlus.”

Once active, go to Settings > UpdraftPlus Backups. Hit “Backup Now” to kick things off.

Backup Configuration

Decide what to include:

  • Database (posts, pages, settings)
  • Plugins
  • Themes
  • Uploads (images, media)
  • Other core files

Pick a storage spot—Google Drive, Dropbox, or just download to your computer. Offsite is safer, honestly.

UpdraftPlus splits the backup into chunks, so you can restore just what you need later.

Exporting and Downloading WordPress Files

To move your WordPress site, you’ll need to download every file from your current host. This can be done with an FTP client or your host’s file manager.

Using an FTP Client like FileZilla

FTP clients are probably the most dependable way to download your WordPress files during migration. FileZilla is free and, honestly, pretty straightforward for handling file transfers.

You’ll need FTP credentials from your host—usually a hostname, username, and password. Most hosts tuck these details away in the control panel, often under something like “FTP Accounts.”

Once you’re in FileZilla and connected, head to the public_html folder. That’s where your themes, plugins, uploads, and all the core WordPress files hang out.

Select everything in public_html. Right-click and hit “Download” to pull the files down to your computer, keeping the folder structure intact.

  • Big sites? Expect the download to take a while—sometimes hours.
  • Don’t let your internet drop mid-transfer.
  • Double-check that all files made it over before moving forward.

File Manager Alternatives

Most hosting panels have built-in file managers you can use right in your browser. No need to install extra software for this approach.

These file managers let you zip up your entire WordPress folder. It’s usually faster to download one archive than a pile of separate files.

Many file managers also let you skip cache and temp files, which cuts down on download time and file size.

  • No extra downloads or installs needed
  • Compression tools are built in
  • Works inside your hosting account
  • Quicker for smaller sites, usually

Heads up: Some hosts put limits on file manager features or cap download sizes. Check what your host allows before banking on this method.

Exporting the WordPress Database

Your WordPress database holds all the good stuff—content, settings, users—stored in MySQL. You can export it with phpMyAdmin or cPanel’s database tools to get a backup for migration.

Accessing phpMyAdmin

Pretty much every host offers phpMyAdmin somewhere in their control panel. You’ll find it in the database section of your dashboard.

Log into your hosting account and look for “Databases” or “MySQL Databases.” Click the phpMyAdmin icon or link.

phpMyAdmin pops open in a new tab, showing all your databases. Your WordPress database usually has your site or domain name in it. Click the right one in the sidebar.

Inside, hit the “Export” tab up top. Stick with “Quick” and “SQL”—those defaults are fine for most moves.

Click “Go” and your database downloads as a .sql file. Save it somewhere safe—you’ll need it soon.

Exporting with cPanel

cPanel has database management tools that make exporting your WordPress database super simple. The phpMyAdmin option there works just like anywhere else.

Open your cPanel dashboard and scroll to “Databases.” Click “phpMyAdmin” to launch the tool. Same interface as before.

Some cPanel setups also have a “MySQL Database Wizard” or “Database Backup” tool if you want a more guided backup process.

Select your WordPress database from the sidebar. Click “Export,” stick with “Quick” and “SQL,” and download the file.

Creating a Database on the New Host

Most hosts will auto-create a database for you, but doing it manually lets you set your own names and permissions. Creating a new database on the new host is a must before you import your WordPress content.

Using cPanel to Create MySQL Databases

Jump into your new host’s control panel and find the MySQL Databases section. It’s usually under “Databases.”

Type a name for your new database—something you’ll recognize later, like yoursite_wp or newsite_main.

Click “Create Database” and you’ll get a confirmation showing the full database name, often including your account prefix.

Database ComponentExampleNotes
Account Prefixuser123_Added automatically
Your Database NamewordpressYour chosen name
Full Database Nameuser123_wordpressComplete identifier

Write down the full database name exactly as it appears. You’ll need it when updating your WordPress config later.

Database User Configuration

Scroll to the “MySQL Users” section. Make a user just for your WordPress site.

Pick a username that makes sense, like wp_user or site_admin. Set a strong password—mix up letters, numbers, and symbols.

Click “Create User” and cPanel will add your account prefix to the username.

Now, find the “Add User to Database” area. Choose your new user and your new database from the dropdowns.

Click “Add” to get to the privileges screen. Check “ALL PRIVILEGES” so WordPress can do its thing—read, write, update, delete, the works.

Keep these credentials handy:

  • Database name
  • Username
  • Password
  • Database host (usually “localhost”)

You’ll need all this to hook up WordPress to your database during the final steps.

Uploading Files and Importing the Database

Now it’s time to get your files onto the new host and import your database. You’ll need an FTP client for the files and phpMyAdmin for the database part.

Uploading Files via FTP

Using FileZilla or a similar FTP client, connect your computer to your new host’s server. You’ll need the FTP credentials from your hosting provider.

The FTP details are usually under the “Files” section in your hosting panel. Look for your host, username, and password there.

  • Fire up FileZilla (or whatever FTP client you’re using)
  • Type in the host address
  • Enter your username and password
  • Click connect

Once you’re in, go to the public_html folder on the server. That’s where your site lives.

Upload all your WordPress files from your backup into this directory. Select everything, right-click, and upload.

The bigger your site, the longer this takes—especially if you have lots of media files.

Importing Database with phpMyAdmin

phpMyAdmin is your go-to for importing databases, and you can access it from your new host’s control panel. No extra software needed.

Find phpMyAdmin under database tools or MySQL sections in your dashboard.

  1. Select the empty database you just made
  2. Click the Import tab
  3. Pick your .sql backup file
  4. Leave the default settings alone
  5. Click Go to start importing

This pulls in all your WordPress content, settings, and users. If your database is big, give it a few minutes.

phpMyAdmin gives you more control than most file manager tools, and it’ll show you if anything goes wrong during the import.

Configuring wp-config.php and Site URLs

The wp-config.php file is where WordPress learns how to talk to your new database. You’ll also need to update site URLs so everything works right on the new host.

Editing wp-config.php File

The wp-config.php file is a key step in migration. It tells WordPress how to connect to your new database.

Update these four settings in wp-config.php:

SettingDescriptionExample
DB_NAMENew database name‘new_wordpress_db’
DB_USERNew database username‘new_db_user’
DB_PASSWORDNew database password‘secure_password123’
DB_HOSTNew database host‘localhost’

Your host should give you these credentials, either in the control panel or a welcome email.

Double-check that your wp-config.php on the server matches the new database, user, and password. The prefix should line up with your new database too. Don’t skip this step.

Updating Site URLs for Migration

WordPress stores site URLs in the database, but you can temporarily override them in wp-config.php. Handy if you want to test things before flipping DNS.

Add these lines above the “That’s all, stop editing!” comment:

define('WP_HOME','http://yournewdomain.com');
define('WP_SITEURL','http://yournewdomain.com');

If you’re previewing the site on a temporary domain, tweak the site URL in wp-config.php instead of changing the database.

Once you’re in the WordPress dashboard on the new host, you can install a plugin like “Better Search Replace” or “Velvet Blues Update URLs” to update all URLs across the database for good.

Top Plugins for Seamless WordPress Migration

WordPress migration plugins can really take the pain out of moving sites between hosts. Tools like Duplicator and UpdraftPlus top the list. They handle the database, files, and URLs—no deep tech skills required.

Overview of Migration Plugins

Migration plugins are those handy tools that take the headache out of moving WordPress sites around. Whether you’re switching web hosts, going from local to live, or swapping domains, these plugins are built to make life easier.

Honestly, the best ones nail three things: they just work, they’re simple, and they play nice with any host. It’s surprising how many plugins miss at least one of those marks—nothing like a failed migration to ruin your day.

Key plugin types include:

  • Direct transfer plugins – Move sites server-to-server without downloads
  • Backup-based plugins – Create archive files for manual transfer
  • Selective migration tools – Allow users to choose specific site components

There are both free and premium options out there. WordPress migration plugins can handle big databases, serialized data, and even multisite setups that make most folks nervous.

Most of these plugins come with built-in search-and-replace tools. That means you don’t have to sweat updating database URLs when moving between domains or hosts.

Duplicator Plugin: Features and Steps

Duplicator is one of those rare WordPress migration plugins that actually lives up to the hype. It’s trusted by over 1.5 million sites, from tiny blogs to sprawling enterprise installs.

You don’t need to mess with much to get it working. The free version creates backup files you can just move over to your new host—no need to pre-install WordPress. If you spring for pro, you get direct server-to-server transfers, so you can skip all the manual uploading.

Key Duplicator features:

FeatureDescription
Direct MigrationTransfers sites via URL links
Multisite SupportHandles network installations
EncryptionUses AES-256 security standards
Database SharingWorks with shared database setups

It plays well with managed hosts like WordPress.com and WPEngine. Plus, its search-and-replace feature finds and fixes URLs for you during migration.

Migration steps with Duplicator:

  1. Install plugin on source site
  2. Create archive package
  3. Download installer and archive files
  4. Upload files to new host
  5. Run installer script
  6. Complete setup wizard

The Duplicator plugin is especially good if you’re juggling multiple WordPress installs on a single hosting account. It just gets the job done.

Benefits of Automated Migration Tools

Automated migration plugins break down the technical walls that keep people stuck with bad hosts. They handle all the heavy lifting—databases, files, configs—without you needing to touch code.

Time savings are huge. Manually moving a site can eat up hours, maybe even days. With a good plugin, you might be done in ten minutes. No more downloading massive files or fiddling with server settings.

Less room for mistakes, too. Manual moves are kind of a minefield—broken links, missing images, corrupted databases. Automation uses proven processes to keep everything intact, even the weird serialized stuff.

Key automation benefits:

  • Reduced downtime – Sites stay online during background transfers
  • Preserved SEO rankings – URLs and metadata remain intact
  • Maintained functionality – Plugins and themes work immediately
  • Backup integration – Automatic safety nets prevent data loss

Tools like UpdraftPlus let you pick and choose what to move—maybe you only want the database, or just themes and uploads. No need to move the whole kitchen sink every time.

Some advanced plugins even run the migration on external servers. That keeps your site from slowing down or timing out, which is a lifesaver if your host isn’t exactly speedy.

Final Steps: Pointing DNS and Post-Migration Checklist

Once the migration’s done, it’s time to point your DNS to the new host and double-check that everything works. If you skip this, visitors might end up on the old site (or nowhere at all).

Updating DNS Settings

DNS is what sends people to your new server instead of the old one. It usually takes anywhere from a few hours to two days for those changes to ripple across the web.

Before you touch anything, drop your DNS TTL (Time To Live) to 300 seconds about a day ahead. That way, when you update, things move faster.

Head to your domain registrar and look for DNS management or something similar. The exact spot depends on who you registered with, but it’s usually not too hard to find.

Update these records:

  • A Record: Points to your new host’s IP address
  • CNAME Record: Updates www subdomain if needed
  • MX Records: Email server settings (if hosting email)

Essential DNS Records to Update:

Record TypePurposeExample Value
AMain domain IP192.168.1.100
CNAMEwww subdomainexample.com
MXEmail routingmail.newhost.com

Don’t forget to save your changes. After that, just wait for the updates to go live—DNS checker tools can help you see when it’s done.

Testing the Migrated WordPress Site

Testing isn’t optional. Before you tell anyone about the new site, make sure everything’s working.

Start by clicking around—main pages, contact forms, images. Are plugins loading? Does the theme look right?

If your site has user accounts, try logging in, registering, and resetting passwords. E-commerce? Test the cart and checkout, too.

Critical Areas to Test:

  • Page loading speeds and responsiveness
  • Internal and external links
  • Search functionality
  • Comment systems
  • Newsletter signups
  • Social media integrations

Use different browsers and devices. Sometimes mobile performance shifts after a migration, especially if the server config or caching is different.

Check site speed and performance metrics. Compare them to your old host—ideally, things should be faster, not slower.

Troubleshooting Common Issues

Stuff happens during migrations, even with the best plugins. Knowing the usual suspects helps you fix things faster.

Database connection errors usually mean something’s off in wp-config.php. Double-check the database name, username, password, and host.

Missing images or broken links often come from bad file paths or incomplete uploads. Sometimes you just need to re-upload media or run a search-and-replace in the database.

Plugin conflicts can pop up if the new server’s environment is different. Try deactivating all plugins, then bring them back one at a time to spot the troublemaker.

Common Issues and Quick Fixes:

ProblemLikely CauseSolution
White screenMemory limitIncrease PHP memory limit
500 errorFile permissionsSet correct folder permissions
Slow loadingCaching issuesClear all caches
SSL warningsCertificate setupInstall SSL certificate

Email delivery problems usually mean the MX records are still pointing at the old host. Update those, or set up SMTP on the new server.

If you’re stumped, check your hosting error logs. They’re not always easy to read, but they usually point you in the right direction.

Frequently Asked Questions

Moving a WordPress site brings up a lot of questions. Here are answers to some of the ones that come up the most, from manual migration steps to plugin picks and troubleshooting headaches.

What are the steps to manually migrate a WordPress site to another hosting provider?

Manual migration means you’re doing everything by hand—no plugins. You’ll need to back up your site files and database separately.

Start by logging in to your current host via FTP or their file manager. Download everything from the public_html directory.

Next, export the database from phpMyAdmin or your hosting panel. That’ll give you a .sql file with all your site content and settings.

Upload those files to the new host’s root directory. Then, create a new MySQL database and import your .sql file.

Edit wp-config.php to use the new database info. If you’re changing domains, don’t forget to update the site URL in the database too.

How can I transfer my WordPress site to a new domain without using a plugin?

If you’re not using a plugin, you’ll be updating the database and files manually. It’s all about changing URLs in the right places.

Head to phpMyAdmin on your new host and open the WordPress database. Find the wp_options table and update the siteurl and home values to your new domain.

Other places—like post content, widgets, and theme settings—might still have the old URL. Use SQL search-and-replace to fix those.

Sometimes wp-config.php has domain-specific lines, so check that too. Afterward, click around to make sure all internal links are working.

What is the best free WordPress migration plugin currently available?

Duplicator Lite is hard to beat for free migrations. It bundles your entire site—files and database—into one neat package.

You get an installer script and a zip archive. Just download both, upload to your new host, and you’re off to the races.

Duplicator Lite sets up the database and updates URLs for you. It works on most hosts and handles a bunch of different server setups.

Other free plugins worth a look: UpdraftPlus and All-in-One WP Migration. They do have file size limits, though, so bigger sites might run into trouble.

Duplicator Lite doesn’t have those restrictions and gives you clear error messages if something goes sideways.

What precautions should be taken when using the All-in-One WP Migration tool?

Heads up—All-in-One WP Migration caps free exports at 512MB. For bigger sites, you’ll need to pay or try something else.

Always check your site’s size before you start. Big media libraries or lots of plugins can push you over the free limit fast.

If your import keeps timing out, it might be your host’s fault. Increasing PHP execution time or asking your host for help can make a difference.

Always, always back up before you run a migration. Keep a copy somewhere safe in case the process goes off the rails.

Some hosts block certain files or have security settings that interfere with the plugin. You might need to tweak those settings or use a different upload method just to get it working.

Can you provide a guide for moving a WordPress site to GoDaddy hosting?

GoDaddy offers free migration for new customers if you reach out to their support team. You can actually request help with moving your site when you’re signing up for a hosting plan.

If you’d rather do it yourself, the manual route isn’t too wild. You’ll start by logging into GoDaddy’s cPanel and spinning up a new MySQL database before you import anything.

To move your files, you can use GoDaddy’s file manager or just connect via FTP. Drop your WordPress files right into the public_html folder—nothing fancy, just like you’d do with most hosts.

For the database, you’ll use GoDaddy’s phpMyAdmin in cPanel. Upload your SQL file there, then pop GoDaddy’s database credentials into your wp-config.php file.

Once that’s done, you need to update your DNS settings. Point your domain to GoDaddy’s nameservers—they’ll give you the right addresses for your specific hosting account.

What common issues should I be aware of during the WordPress migration process?

Plugin compatibility problems pop up a lot when you’re switching between different server setups. Sometimes, plugins just won’t play nice until you update or reconfigure them after the move.

File permission errors are another headache. If WordPress starts acting weird on your new server, you might need to tweak file and folder permissions using FTP or your hosting control panel.

Database connection errors often result from incorrect wp-config.php settings. It’s almost always a typo or a mix-up with your database name, username, or password—so double-check those if you hit a wall.

SSL certificate problems can trigger security warnings after migration. You’ll want to make sure your SSL settings and certificate are installed the right way on the new host.

Email just loves to break during migrations, doesn’t it? Because email settings depend on the server, you’ll probably have to reconfigure SMTP or set up email accounts again with your new provider.

Leave a Comment