Moving your WordPress website to a new hosting provider might sound intimidating, especially if you’re worried about downtime, losing content, or breaking something.
But the truth is, with the right steps, it doesn’t have to be a stressful experience.
Your current host may be too slow, too expensive, or just not cutting it anymore. Whatever your reason for switching, knowing how to handle the migration properly makes all the difference.
This guide walks you through the process, from getting everything ready to ensuring your site works perfectly after the move.
Step by step, we’ll help you transfer your WordPress site to its new home smoothly, safely, and with as little disruption as possible. Let’s get started.
Why Transfer Your WordPress Site?
Before we get into the how, it’s important to understand the why. Migrating your WordPress site isn’t just about chasing change; it’s often a necessary move toward better performance, reliability, or growth.
Here are some of the most common and valid reasons website owners decide to switch hosting providers:
Pre-Migration Checklist: Laying the Groundwork
Thorough preparation is key to a seamless transfer. Before you begin, consider these crucial steps:
A.Choose Your New Host Wisely:
Research and select a hosting provider that aligns with your website’s needs. Consider factors like:
- Performance: Look for hosts offering SSD storage, optimized server configurations, and CDN integration.
- Security: Ensure they provide SSL certificates, firewalls, malware scanning, and regular backups.
- Scalability: Can they accommodate your site’s future growth?
- Customer Support: Responsive and knowledgeable support is invaluable during a migration.
- Migration Services: Some hosts offer free migration services, which can greatly simplify the process.
B. Back Up Everything (Seriously!):
This is the most critical step: Create a complete backup of your WordPress website, including the files and database.
- Files: Use an FTP client (like FileZilla) or your current hosting control panel’s File Manager to download your entire WordPress installation directory (often public_html or www). Compress it into a .zip file for easier transfer.
- Database: Access phpMyAdmin through your hosting control panel. Select your WordPress database, go to the “Export” tab, choose the “Quick” export method (or “Custom” for specific options), select “SQL” format, and export the .sql file.
- WordPress Plugins: Consider using a dedicated backup plugin like Duplicator, UpdraftPlus, or All-in-One WP Migration.
These plugins simplify the backup process and often include migration features.
C. Gather All Credentials:
You’ll need login details for:
- Your current hosting account (cPanel, Plesk, etc.)
- Your new hosting account (cPanel, Plesk, etc.)
- FTP/SFTP access for both old and new hosts
- Your domain registrar
- Your WordPress admin dashboard (for both old and potentially new temporary installations)
D. Clean Up Your Site (Optional but Recommended):
A migration is an excellent opportunity for a digital spring clean:
- Delete unused themes and plugins.
- Remove any draft posts or pages you no longer need.
- Optimize your database using a plugin or your hosting control panel.
- Delete old post revisions and spam comments.
E. Schedule Downtime and Notify Users:
While modern migration methods aim for minimal downtime, scheduling the transfer during a low-traffic period for your website is wise.
If significant downtime is anticipated, consider putting your site in “maintenance mode” and notifying your audience.
Pre-Migration Checklist: Laying the Groundwork for a Smooth WordPress Transfer
Before diving into the actual transfer process, it’s essential to set the stage for success. A WordPress hosting migration isn’t something you want to rush.
Like any major change to your website, the smoother it goes, the better the outcome, fewer errors, minimal downtime, and peace of mind.
Think of this as the “packing and planning” phase before a big move.
Here’s what you need to do before touching any files or databases.
01. Choose Your New Hosting Provider Carefully
Not all hosts are created equal, and switching to the wrong one could land you right back where you started, or worse.
Take time to evaluate your options based on the unique needs of your site.
Look for a hosting provider that offers:
- Reliable Performance
Go for SSD-based storage, server-level caching, and optimized environments for WordPress. Some hosts also include free CDN integration, which boosts global site speed. - Robust Security Measures
At minimum, your new host should offer free SSL certificates, built-in firewalls, malware detection, and automatic backups. - Room to Grow
Make sure your host can scale with your traffic and content. Whether it’s managed WordPress hosting or cloud-based infrastructure, scalability is essential. - Responsive Customer Support
During a migration, helpful support is priceless. Look for providers with 24/7 live chat or ticket systems staffed by WordPress-savvy technicians. - Free Migration Services
Some hosts, like Truehost, SiteGround, Bluehost, or Cloudways, offer complimentary site migrations, which can save you time and reduce risk if you’re not comfortable doing it manually.
02. Back Up Everything (Yes, Everything)
Before you do anything else, create a full and secure backup of your website. This is your safety net; if anything goes wrong during the migration, you can restore your site without data loss.
Here’s what to back up:
🔹 WordPress Files

Use an FTP client like FileZilla or your web host’s File Manager to download all files from your site’s root directory (usually named /public_html, /www, or /htdocs). Compress the folder into a .zip file to simplify the upload to your new server.
Tip: Don’t forget hidden files like .htaccess. These control important configurations like redirects and permalinks.
🔹 WordPress Database
- Log in to phpMyAdmin from your hosting control panel.

- Select your WordPress database.
- Click on the Export tab.
- Choose the Quick export method and SQL format.
- Download the file.
This .sql file contains all your posts, pages, user data, settings, and plugin configurations.
🔹 Use Backup & Migration Plugins (Optional but Helpful)
If you’re not comfortable handling files and databases manually, consider using a plugin such as:
Duplicator – Excellent for creating a complete migration-ready package.

UpdraftPlus – Great for backups and cloud storage integration.
All-in-One WP Migration – Very beginner-friendly, with drag-and-drop import/export.

These tools can bundle your files and database together and walk you through a simplified restoration process on the new host.
03. Gather All the Credentials You’ll Need
To avoid delays or unexpected roadblocks, collect all the necessary login details ahead of time:
Access credentials for your current host (e.g., cPanel, Plesk)
Credentials for your new hosting account
FTP or SFTP login info for both old and new servers
Your WordPress admin username and password
Access to your domain registrar (GoDaddy, Namecheap, Cloudflare, etc.)
Store these securely in a password manager or a safe, temporary document for easy access during the migration.
04. Clean Up Your Website (Highly Recommended)
While optional, this is the perfect moment to do a bit of housekeeping. A cleaner site means a faster migration and less clutter on your new host.
Here’s what you can tidy up:
Remove inactive themes and plugins you no longer use.
Delete spam comments, trashed items, and old revisions of posts and pages.
Optimize your database using a plugin like WP-Optimize or directly via phpMyAdmin.
Audit your media library to remove duplicate or unnecessary images and files.
Think of this like decluttering before you move houses—you’ll thank yourself later.
05. Plan for Downtime and Notify Your Visitors (If Needed)
Even with the best preparation, some level of downtime is possible, especially while DNS changes propagate after switching nameservers. To minimize disruption:
Schedule the migration during off-peak hours, like late at night or early morning.
Enable Maintenance Mode using a plugin like SeedProd or WP Maintenance Mode to let visitors know you’ll be back shortly.
Notify your audience in advance, especially if your site provides services, sells products, or has active users.
Methods for Transferring Your WordPress Site
There are generally two main approaches to migrating a WordPress site:
#1. Manual Migration (The Technical Route)
This method gives you full control but requires a good understanding of FTP and database management.
Step 1: Export Your Database (from Old Host)
Log in to your old hosting account’s control panel (e.g., cPanel).

Open phpMyAdmin.
Select your WordPress database from the left-hand menu.
Go to the “Export” tab.
Choose the “Quick” export method and the “SQL” format.
Click “Go” (or “Export”) to download the .sql file.
Step 2: Download Your Website Files (from Old Host)
Connect to your old host via an FTP client (e.g., FileZilla).
Go to your WordPress installation directory (usually public_html or www).
Download all files and folders to your local computer. It’s best to compress them into a .zip file after downloading.
Step 3: Create a New Database (on New Host)
Log in to your new hosting account’s control panel.
Find the database management tool (e.g., “MySQL Databases” in cPanel).
Create a new database, a new database user, and assign the user to the database with all privileges.
Crucially, note down the database name, username, and password. You’ll need these for the next step.
Step 4: Upload Your Website Files (to New Host)
Connect to your new host via FTP.
Navigate to the root directory where you want your WordPress site (usually public_html).
If there are any default files, delete them.
Upload the compressed .zip file of your WordPress files and extract them.
Step 5: Import Your Database (to New Host)
Access phpMyAdmin for your new site.
Select the newly created database.
Go to the “Import” tab.
Click “Choose File” and upload the .sql file you exported earlier.
Click “Go” to import the database.
Step 6: Update the wp-config.php File
Locate the wp-config.php file in the root directory of your uploaded files on the new server (using FTP or your hosting’s File Manager).
Download a copy as a backup, then open the file for editing using a plain text editor (Notepad++, Sublime Text, VS Code).
Update the following lines with your new database details (from Step 3):
PHP
define( ‘DB_NAME’, ‘your_new_database_name’ );
( ‘DB_USER’, ‘your_new_database_username’ );
define( ‘DB_PASSWORD’, ‘your_new_database_password’ );
define( ‘DB_HOST’, ‘localhost’ ); // This is usually ‘localhost’, but check your host’s documentation
Save the file and upload it back to your server, overwriting the old one.
Step 7: Search and Replace URLs (Crucial!)
If your domain name is changing or if you’re moving from a temporary URL to your live domain, you’ll need to update all instances of the old URL in your database. Failing to do this will result in broken links and missing images.
Using a Plugin (Recommended): Install and activate a plugin like “Better Search Replace” on your new WordPress installation. In the plugin settings, search for your old domain (e.g., http://olddomain.com) and replace it with your new domain (e.g., http://newdomain.com). Select all tables and run the replacement.
Manual Database Update (Advanced): You can also manually edit the siteurl and home options in your wp_options table via phpMyAdmin. However, for a complete site transfer, a plugin is far safer and more thorough.
#2. Plugin-Based Migration (The Easier Route)
This is often the simplest and most recommended method, especially for beginners. Plugins like Duplicator, UpdraftPlus, and All-in-One WP Migration automate most of the manual steps.
General Steps for Plugin-Based Migration:
- Install and Activate the Plugin: On your old WordPress site, go to Plugins > Add New, search for your chosen migration plugin, install, and activate it.

- Create a Backup/Export: Follow the plugin’s instructions to create a complete backup or “package” of your WordPress site (files and database). This will usually generate a downloadable file (e.g., a .zip or .wpress file) and often an installer script.
- Upload to New Host:
- Method A (Preferred): If the plugin provides an installer script (like Duplicator), upload both the backup file and the installer script to the root directory of your new hosting account via FTP. Then, access the installer script via your web browser (e.g., http://yournewdomain.com/installer.php). Follow the on-screen prompts to set up your new database and restore your site.
- Method B: If the plugin exports a .wpress file (like All-in-One WP Migration) or a simple backup, you might need to install a fresh WordPress instance on your new host first. Then, install the same migration plugin on the new WordPress site and use its “Import” function to upload and restore your backup file.
- Adjust Permalinks (if necessary): After the import is complete, sometimes permalinks can get reset.

Go to Settings > Permalinks in your new WordPress dashboard and simply click “Save Changes” (even if the correct structure is already selected) to flush the rewrite rules.
- Update URLs (if necessary): Similar to manual migration, if your domain has changed, use the plugin’s built-in search and replace feature (if available) or a separate plugin like “Better Search Replace” to update all old URLs to the new ones.
Note on Plugin Limitations: Free versions of some migration plugins might have file size limits. For very large sites, you might need their premium versions or consider manual migration.
Post-Migration Checklist: Ensuring Everything Works
Once your site is transferred, it’s crucial to perform thorough checks to ensure everything is functioning correctly.
- Update DNS Settings: This is the step that directs visitors to your new host.
- Log in to your domain registrar’s account (where you purchased your domain).
- Find the DNS settings for your domain.
- Replace the existing nameservers with the ones provided by your new host (they usually look like ns1.newhost.com and ns2.newhost.com).
- DNS Propagation: Be aware that DNS changes can take anywhere from a few minutes to 48 hours to fully propagate across the internet. During this time, some visitors might see the old site, and some the new. You can use tools like dnschecker.org to monitor propagation.
- Verify SSL/HTTPS: Ensure your SSL certificate is working correctly on the new host. Load your site using https:// and look for the padlock icon in your browser. If not, contact your new host’s support.
- Thorough Website Functionality Test:
- Click through all pages, posts, and internal links to ensure they load correctly.
- Test contact forms, search functionality, and any e-commerce checkout processes.
- Verify that images, videos, and other media files are loading.
- Check user logins and dashboards (if applicable).
- Test any third-party integrations.
- Clear Caches: Clear any caching plugins on your WordPress site and clear your browser cache to see the most up-to-date version of your site.
- Re-enable Plugins: If you deactivated plugins during the pre-migration phase, re-activate them one by one, testing functionality after each activation to identify any conflicts.
- Update Analytics and Search Console: If your domain changed, update your website’s URL in Google Analytics and Google Search Console to ensure accurate data tracking and to inform Google of the move. For domain changes, set up 301 redirects from old URLs to new ones where appropriate to preserve SEO.
- Decommission the Old Host (Eventually): Once you are absolutely confident that your new site is stable and fully functional, and DNS has fully propagated, you can consider canceling your old hosting account. Keep the old host active for a week or two after the DNS update as a safety net.
Troubleshooting Common Issues
“Error Establishing a Database Connection”: This typically means your wp-config.php file has incorrect database credentials (name, user, password, or host). Double-check these values.
Broken Links or Missing Images: This indicates that the URL search and replace step was not completed correctly. Re-run a search and replace operation.
“White Screen of Death” or Internal Server Error: This can be caused by conflicting plugins or themes. Try deactivating all plugins (by renaming the plugins folder via FTP), then reactivating them one by one. Check your server’s error logs for more specific information.
Slow Site on New Host: Review your new host’s performance settings, caching options, and consider optimizing images and plugins further.
Conclusion
Transferring your WordPress site to a new host, while involving several steps, is a manageable process.
By meticulously following the pre-migration checklist, choosing the right migration method (manual or plugin-based), and diligently performing post-migration checks, you can ensure a smooth transition with minimal disruption to your website and its visitors.
Don’t hesitate to use your new hosting provider’s support team if you encounter any difficulties; they are often a valuable resource for successful migrations.









