Moving a WordPress website to a new hosting provider is a common but sensitive operation. Done correctly, it can improve speed, security, support quality, and scalability. Done poorly, it can lead to downtime, broken pages, missing media, email issues, or a drop in search visibility. A careful migration plan helps protect your site, your visitors, and your business.
TLDR: To migrate a WordPress site to a new host, you need to back up your files and database, move them to the new server, update configuration settings, test the site, and then point your domain to the new host. For example, a small business site with 5 GB of files and a 300 MB database can often be migrated in a few hours, but DNS changes may take up to 24–48 hours to fully propagate. In one practical scenario, a store owner moving from slow shared hosting to managed WordPress hosting may reduce page load time by 35–60% if the new server is properly configured.
Why Migrate Your WordPress Site?
Website owners usually migrate WordPress for practical reasons. The old host may be slow, unreliable, expensive, or unable to support new traffic levels. In other cases, the business may need stronger security tools, better backups, staging environments, or expert WordPress support.
Common reasons to migrate include:
- Improved performance: Faster servers, caching, and newer PHP versions can significantly improve load times.
- Better reliability: A quality host should provide strong uptime, monitoring, and support.
- Stronger security: Managed firewalls, malware scanning, and automated updates reduce risk.
- Room to grow: Higher traffic websites often need VPS, cloud, or managed WordPress hosting.
- Lower total cost: A better plan may include backups, SSL, email, CDN, or staging tools.
Before You Start: Prepare Carefully
Preparation is the most important part of a safe migration. Before touching your live website, review your current hosting account, domain settings, email configuration, and WordPress setup. You should know where your domain is registered, where your DNS is managed, and whether your email is hosted with the same company as your website.
Create a complete inventory before migration:
- WordPress version
- Active theme and child theme, if used
- Installed plugins
- PHP version
- Database name and size
- Uploads folder size
- SSL certificate status
- Email accounts and DNS records
It is also wise to reduce activity during the migration window. If you run an online store, membership site, booking platform, or LMS, new orders or registrations made during the move can be lost if not handled correctly. For dynamic sites, consider placing the site in maintenance mode briefly or using a migration method that supports real-time syncing.
Step 1: Back Up Your WordPress Site
A WordPress site has two main parts: files and database. The files include WordPress core files, themes, plugins, and uploaded media. The database contains posts, pages, settings, users, comments, product data, and many plugin records.
You can create backups using your host’s control panel, an SFTP client, phpMyAdmin, WP-CLI, or a reputable backup plugin. Whatever method you choose, confirm that the backup is complete before proceeding. A backup that has not been tested should not be treated as reliable.
Keep at least one local copy and one remote copy of the backup. For additional safety, do not delete the old hosting account until the migrated site has been tested and running stable for several days.
Step 2: Set Up the New Hosting Environment
Before importing your site, prepare the new server. Install WordPress if your migration method requires it, or create an empty environment if you are manually transferring files and database tables. Ensure the new host supports your required PHP version, MySQL or MariaDB version, memory limits, and file upload limits.
Check these settings on the new host:
- PHP version, ideally supported and current
- HTTPS and SSL availability
- Database creation access
- SFTP or SSH access
- Server caching options
- Backup schedule and retention period
- Error logs and diagnostic tools
If your site uses a caching plugin, security plugin, or CDN, document the current settings. Some cache and firewall configurations may need to be adjusted after migration to match the new server environment.
Step 3: Move Your Files and Database
There are three common ways to migrate a WordPress site: using a migration plugin, using your new host’s free migration service, or performing a manual migration. The best option depends on your technical confidence, site size, and complexity.
Migration plugins are often suitable for small and medium websites. They package your website into an archive and restore it on the new host. However, very large sites may hit timeout, memory, or upload limits.
Host assisted migration can be a good choice if your provider includes it. Professional migration teams are familiar with server level issues and can often reduce risk.
Manual migration provides the most control. It requires uploading site files, importing the database, and updating the wp-config.php file with the new database name, username, password, and host.
Step 4: Update Configuration and URLs
After moving the files and database, review the WordPress configuration. The wp-config.php file must point to the correct database. File permissions should be secure, typically with folders set to 755 and files set to 644, though exact requirements can vary by host.
If the domain name remains the same, you may not need to change site URLs. If the domain changes, update the WordPress Address and Site Address values, and replace old URLs in the database. Use a safe search and replace tool that can handle serialized data. A simple text replacement in a database export can break plugin settings and widgets.
Also check hardcoded links in menus, widgets, page builders, CSS files, and custom theme templates. These areas are often overlooked during migration.
Step 5: Test Before Updating DNS
Never point your domain to the new host without testing the site first. Most hosting providers offer a temporary URL, staging link, or hosts file preview method. The hosts file method lets you view the new server using your real domain from your own computer before the public DNS changes.
Test the following carefully:
- Homepage, key landing pages, and blog posts
- Contact forms and notification emails
- Checkout, cart, and payment flow if applicable
- User login and account pages
- Images, downloads, and embedded media
- Permalinks and internal links
- Mobile layout and responsive behavior
- Admin dashboard functionality
Review server error logs and browser console errors during testing. Small warnings may reveal missing files, blocked scripts, or plugin conflicts caused by the new environment.
Step 6: Point Your Domain to the New Host
Once testing is complete, update your DNS records. This usually means changing the domain’s nameservers or updating the A record to point to the new server IP address. If your email is hosted separately, be careful not to overwrite MX, TXT, SPF, DKIM, or DMARC records.
DNS propagation can begin within minutes but may take up to 48 hours globally. To reduce disruption, lower your DNS TTL value in advance, ideally 24 hours before migration. A lower TTL tells networks to refresh DNS information more frequently.
After updating DNS, monitor traffic, uptime, forms, orders, and analytics. Keep the old hosting account active temporarily because some visitors may still reach the old server during propagation.
SEO and Performance Considerations
A host migration should not harm SEO if the site structure, URLs, content, metadata, and redirects remain unchanged. Problems usually occur when pages go missing, internal links break, site speed drops, or HTTPS is misconfigured.
To protect search visibility:
- Keep the same permalink structure unless there is a planned SEO reason to change it.
- Confirm that SSL works and all pages load over HTTPS.
- Check for mixed content warnings.
- Submit an updated sitemap if needed.
- Monitor crawl errors in search console tools.
- Verify that robots.txt does not block important pages.
Performance should also be tested after the move. Compare load times before and after migration using the same testing location and device type. If the new host includes server caching, object caching, or CDN integration, configure these carefully instead of enabling every option at once.
Common Mistakes to Avoid
- Deleting the old site too early: Keep it available until the new site is fully verified.
- Forgetting email records: Website migration and email hosting are related but not always the same service.
- Skipping a full backup: A migration without a backup creates unnecessary risk.
- Not testing forms: Contact and checkout forms often fail after server changes.
- Ignoring PHP compatibility: Older plugins may fail on newer PHP versions.
- Changing DNS before testing: This can expose visitors to a broken site.
Final Checklist
Before considering the migration complete, confirm that the live site is stable, secure, and functioning as expected. Log into WordPress, browse key pages, run updates if appropriate, and create a fresh backup on the new host.
Your final checklist should include:
- Full backup stored safely
- Files and database migrated
wp-config.phpupdated- SSL certificate active
- DNS records correct
- Forms and transactions tested
- Permalinks saved and checked
- SEO settings verified
- Old hosting retained temporarily
Migrating a WordPress site to a new host is manageable when approached methodically. The key is not speed, but control: back up first, prepare the new environment, test thoroughly, and only then update DNS. With a disciplined process, you can move your site with minimal downtime and place it on a stronger foundation for future growth.
