Moving a WordPress website to a new hosting provider, changing domains, or migrating from local development to live production can seem intimidating. However, with the right approach and tools, WordPress migration can be straightforward and stress-free.
In this comprehensive guide, we’ll walk you through everything you need to know about WordPress migration, including multiple methods, best practices, and troubleshooting common issues.
What is WordPress Migration?
WordPress migration is the process of moving a WordPress website from one location to another. This can involve:
- Changing hosting providers: Moving from Bluehost to SiteGround, for example
- Changing domain names: Moving from oldsite.com to newsite.com
- Moving to HTTPS: Transitioning from HTTP to HTTPS
- Local to live: Moving from local development to production server
- Live to staging: Creating a staging copy for testing
- Subdomain to main domain: Moving from staging.site.com to site.com
Before You Begin: Pre-Migration Checklist
Proper preparation prevents problems. Complete these steps before starting your migration:
1. Create Complete Backup
This is absolutely critical. Create a full backup of your website including:
- All WordPress files (wp-content, themes, plugins, uploads)
- Complete database export
- Store backups in multiple locations (local computer, cloud storage)
2. Document Current Settings
Note down your current configuration:
- WordPress version
- PHP version
- MySQL/MariaDB version
- Active plugins list
- Active theme
- Special configurations (permalinks, multisite, etc.)
3. Choose Your New Hosting Provider
Select a reliable hosting provider for your migration. Consider:
- SiteGround – Offers free migration service with excellent support
- Kinsta – Premium managed WordPress hosting with free expert migration
- Cloudways – Managed cloud hosting with migration assistance
- Hostinger – Affordable hosting with migration tools
4. Check Compatibility
Ensure your new host supports your WordPress requirements (PHP version, MySQL version, available extensions).
5. Inform Stakeholders
If applicable, notify team members and stakeholders about planned maintenance window.
WordPress Migration Methods
There are several ways to migrate WordPress. Choose the method that best fits your technical expertise and requirements.
Method 1: Hosting Provider Free Migration (Easiest)
Many premium hosting providers offer free professional migration services. This is the easiest and safest option.
Providers Offering Free Migration:
Kinsta – Unlimited free migrations with expert team. They handle everything professionally.
SiteGround – Free migration plugin and expert assistance for all plans.
Cloudways – Free migration included, professional team handles the process.
Process:
- Sign up for new hosting account
- Contact support and request migration
- Provide FTP/cPanel credentials from old host
- Migration team handles everything
- You verify and approve the migrated site
- Point domain to new host when ready
Pros:
- Zero technical knowledge required
- Professional expertise
- Minimal downtime
- Usually free with new hosting purchase
Cons:
- Only available when switching hosts
- Depends on provider’s schedule (can take 1-3 days)
Method 2: Migration Plugins (Recommended for DIY)
WordPress migration plugins automate the process, making it accessible even for beginners.
Best Migration Plugins:
1. Duplicator Pro (Most Popular)
Free and premium versions available
Duplicator creates a complete package of your website that can be installed anywhere.
Steps:
- Install Duplicator on your current site
- Create a new package (backup + installer)
- Download the package (.zip file) and installer.php
- Upload both files to your new hosting location
- Run installer.php in your browser (newsite.com/installer.php)
- Follow the wizard: database connection, site configuration
- Delete installer files after completion
2. All-in-One WP Migration (Easiest)
Free version with 512MB limit, premium removes limits
Super simple interface, perfect for beginners.
Steps:
- Install plugin on both old and new site
- On old site: Export > File
- Download the export file
- On new site: Import > select downloaded file
- Complete! The plugin handles URLs automatically
Limitation: Free version limited to 512MB sites. Purchase premium ($69) for unlimited size.
3. UpdraftPlus (Best for Regular Backups + Migration)
Free and premium versions
Primarily a backup plugin but includes migration capabilities.
Steps:
- Install UpdraftPlus on original site
- Create backup (Settings > Backup Now)
- Download backup files
- Install fresh WordPress on new location
- Install UpdraftPlus on new site
- Upload backup files and restore
- Use Migrator add-on to change URLs
4. BlogVault (Premium – Best for Large Sites)
From $89/year
Professional-grade migration with staging, scheduled backups, and malware scanning.
Method 3: Manual Migration (For Advanced Users)
Manual migration gives you complete control but requires technical knowledge.
Step-by-Step Manual Migration:
Step 1: Export Database
- Log into cPanel or phpMyAdmin on old hosting
- Select your WordPress database
- Click “Export” > Quick export > SQL format
- Download the .sql file
Step 2: Download WordPress Files
- Connect via FTP (FileZilla) to old hosting
- Download entire WordPress directory (usually public_html or www)
- This includes all themes, plugins, uploads, and core files
Step 3: Create Database on New Host
- Log into cPanel on new hosting
- Create new MySQL database and user
- Grant all privileges to the user
- Note database name, username, and password
Step 4: Import Database
- Access phpMyAdmin on new hosting
- Select your newly created database
- Click “Import” > Choose .sql file
- Click “Go” to import
Step 5: Update URLs in Database (if domain changed)
If your domain is changing, update URLs:
Run these SQL queries in phpMyAdmin:
UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite.com', 'http://newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://oldsite.com','http://newsite.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://oldsite.com', 'http://newsite.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://oldsite.com','http://newsite.com');
Important: Replace ‘wp_’ with your actual database prefix if different.
Step 6: Upload Files to New Host
- Connect via FTP to new hosting
- Upload all WordPress files to appropriate directory
- This may take 30-60 minutes depending on site size
Step 7: Update wp-config.php
Edit wp-config.php with new database credentials:
define('DB_NAME', 'new_database_name');
define('DB_USER', 'new_database_user');
define('DB_PASSWORD', 'new_database_password');
define('DB_HOST', 'localhost'); // or your host's database server
Step 8: Update DNS
Point your domain to the new hosting:
- Log into domain registrar
- Update nameservers to new host’s nameservers
- Or update A record to new server IP
- DNS propagation takes 24-48 hours
Step 9: Test Everything
After DNS propagates, thoroughly test:
- Homepage and all pages
- Images and media
- Forms and contact functionality
- Plugin functionality
- User login/logout
- E-commerce checkout (if applicable)
Method 4: Using WP-CLI (For Developers)
WP-CLI provides command-line tools for WordPress migration:
# On old site - export database
wp db export backup.sql
# On new site - import database
wp db import backup.sql
# Search and replace URLs
wp search-replace 'oldsite.com' 'newsite.com'
Post-Migration Tasks
After successful migration, complete these important tasks:
1. Verify Permalinks
Go to Settings > Permalinks and click “Save Changes” to refresh permalink structure.
2. Test Functionality
Check all critical features:
- Contact forms
- E-commerce checkout
- User registration/login
- Search functionality
- Comments
3. Update CDN/Caching
If using CDN or caching plugins, clear all caches and update configuration.
4. Check SSL Certificate
Ensure SSL is properly configured. Most hosts offer free Let’s Encrypt certificates.
5. Update Google Search Console
If domain changed, add new domain to Search Console and submit sitemap.
6. Monitor Performance
Use GTmetrix or Google PageSpeed Insights to compare performance with old host.
7. Keep Old Hosting Active
Maintain old hosting for 30 days as backup in case issues arise.
Troubleshooting Common Migration Issues
Issue: White Screen of Death
Solution: Check error logs, verify database credentials in wp-config.php, increase PHP memory limit.
Issue: Missing Images
Solution: Ensure wp-content/uploads folder transferred completely. Check file permissions (755 for folders, 644 for files).
Issue: Broken Links/404 Errors
Solution: Re-save permalinks (Settings > Permalinks > Save). Verify .htaccess file transferred correctly.
Issue: Site Shows Old Content
Solution: Clear browser cache, DNS may still be propagating (wait 24-48 hours), clear CDN cache if using one.
Issue: Database Connection Error
Solution: Verify database credentials in wp-config.php. Check if database was imported successfully. Confirm database user has proper privileges.
Issue: Mixed Content Warnings (HTTP/HTTPS)
Solution: Use Better Search Replace plugin to update all URLs from HTTP to HTTPS. Install Really Simple SSL plugin.
Best Practices for WordPress Migration
- Always backup first: Multiple backups in multiple locations
- Test before going live: Use staging environment or hosts file to test before DNS change
- Migrate during low-traffic hours: Minimize impact on users
- Use professional migration if possible: Many hosts offer free migration
- Don’t rush: Take time to verify everything works correctly
- Document the process: Keep notes for future reference
- Update plugins/themes after migration: Ensure everything is current
- Monitor after migration: Watch for errors or issues in the days following migration
Conclusion: WordPress Migration Made Simple
WordPress migration doesn’t have to be stressful. Whether you choose professional migration services, user-friendly plugins, or manual migration, following the proper steps ensures a smooth transition.
Our recommendations:
- Easiest option: Use hosting provider free migration from Kinsta or SiteGround
- Best DIY plugin: Duplicator Pro for complete control
- Simplest plugin: All-in-One WP Migration for small sites
- Best for large sites: BlogVault professional migration
Remember: proper preparation, complete backups, and thorough testing are the keys to successful migration. Don’t hesitate to seek professional help if you’re unsureβmany hosting providers include free migration assistance.
Ready to migrate? Choose a reliable hosting provider like Cloudways, Kinsta, or SiteGround that offers migration assistance and get started today!
Disclosure: This article contains affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you. Read our full affiliate disclosure.