Moving a WordPress site can feel like transporting a busy shop to a new location while customers are still walking in. You need the files, database, media, themes, plugins, settings, users, orders, redirects, and search visibility to arrive intact. The good news is that with a careful process, a WordPress transfer can be smooth, predictable, and safe for both your data and your SEO rankings.
TLDR: To transfer a WordPress site without losing data or SEO rankings, back up everything first, copy both the site files and database, test the migration on the new server before going live, and preserve the same URL structure whenever possible. Use 301 redirects for changed URLs, update DNS carefully, and monitor Search Console, analytics, and crawl errors after launch. The safest migrations are planned, tested, and completed during low-traffic periods.
Why WordPress Migrations Can Affect Data and SEO
A WordPress website is made of two major parts: files and the database. Your files include themes, plugins, uploaded images, documents, and WordPress core files. Your database stores posts, pages, comments, users, plugin settings, menus, WooCommerce orders, form entries, and many other details.
If either part is moved incorrectly, things can break. Missing media files can leave empty image boxes. A damaged database export can remove posts or settings. Incorrect URLs can cause broken links. From an SEO perspective, search engines may temporarily reduce visibility if they encounter crawl errors, missing pages, slow performance, duplicate content, or unexpected redirects.
The goal is simple: make the new version of the site look, function, and resolve exactly like the old version, unless you are intentionally changing domains, URLs, or structure.
Step 1: Create a Complete Backup Before You Touch Anything
Before transferring your WordPress site, create a full backup of both the website files and the database. This is your safety net. If something goes wrong, you can restore the original version instead of trying to rebuild from memory.
- Back up WordPress files: Download your entire WordPress directory, including
wp-content, themes, plugins, and uploads. - Back up the database: Export the database using phpMyAdmin, your hosting control panel, WP-CLI, or a trusted backup plugin.
- Save a copy locally: Store the backup on your computer or cloud storage, not only on the old server.
- Verify the backup: Make sure the database file is not empty and that the uploads folder contains your media library.
For high-value websites, such as online stores or membership sites, consider taking an additional backup immediately before the final transfer. This protects recent orders, registrations, or form submissions.
Step 2: Choose the Right Time for the Transfer
Timing matters. If your site receives constant activity, moving it during peak hours can create confusion or data loss. Visitors may submit forms, place orders, or create accounts while you are copying the database. If those actions happen after the database export, they may not appear on the new server.
Choose a low-traffic window, such as late evening or early morning based on your audience. For ecommerce or community sites, you may want to briefly enable maintenance mode during the final sync. This prevents new data from being added while the migration is in progress.
Tip: If your site changes frequently, use a two-stage migration: first copy and test the site, then perform a final database sync right before launch.
Step 3: Set Up the New Hosting Environment
Before moving anything, prepare the new hosting account. Confirm that it supports your WordPress requirements, including the correct PHP version, MySQL or MariaDB version, memory limits, SSL certificates, and server modules.
Your new hosting environment should be at least as capable as the old one. A migration is a good opportunity to improve speed, security, and reliability, but changing too many things at once can make troubleshooting harder. If possible, keep the WordPress version, PHP version, and major settings consistent during the move, then upgrade after everything is stable.
- Install a fresh WordPress copy only if your migration method requires it.
- Create a new empty database and database user.
- Record the database name, username, password, and host.
- Enable SSL so the new site can run on
https. - Check file permissions after upload.
Step 4: Transfer the WordPress Files
You can transfer files using FTP, SFTP, SSH, your hosting file manager, or a migration plugin. The most important folder is wp-content, because it contains your themes, plugins, and uploads. However, for a complete migration, it is usually best to move the entire WordPress installation unless you are intentionally rebuilding parts of the site.
If you use manual transfer, download the site files from the old server and upload them to the new server. Make sure hidden files, such as .htaccess, are included. This file is especially important for permalink rules and redirects on Apache servers.
After uploading, check that folders such as uploads, plugins, and themes exist in the correct location. Missing or partial uploads are a common cause of broken layouts and missing images.
Step 5: Export and Import the Database
The database contains the actual content and settings of your WordPress site. Export the database from the old host and import it into the new one. You can do this through phpMyAdmin, WP-CLI, a hosting dashboard, or a migration tool.
Once imported, update the wp-config.php file on the new server so WordPress can connect to the new database. The key lines include:
DB_NAMEDB_USERDB_PASSWORDDB_HOST
If you are moving to a new domain or changing from a temporary URL to the live URL, run a proper search-and-replace operation for URLs. Do not simply use a basic text editor on the SQL file unless you understand serialized data. WordPress stores some plugin and theme settings in serialized format, and careless replacement can corrupt them.
Step 6: Test the Site Before Updating DNS
One of the best ways to avoid migration problems is to test the new site before the public sees it. Many hosts provide a temporary URL, staging link, or hosts file method that lets you preview the migrated site while the domain still points to the old server.
During testing, click through the site as if you were a visitor. Do not only check the homepage. Test pages, posts, menus, category archives, contact forms, search, checkout, login pages, and any custom functionality.
Pay close attention to the following:
- Images: Are all media files loading correctly?
- Internal links: Do links point to the correct domain and page?
- Permalinks: Are posts and pages resolving without 404 errors?
- Forms: Are submissions being received?
- WooCommerce: Can visitors add products to cart and check out?
- Plugins: Are key features working as expected?
- Speed: Is the new server performing well?
If you see 404 errors, go to Settings > Permalinks in the WordPress dashboard and save the settings again. This refreshes rewrite rules and often fixes permalink issues.
Step 7: Protect Your SEO During the Migration
SEO preservation is mostly about continuity. Search engines should be able to crawl the same valuable content at the same URLs, with the same or better performance, and without confusing signals.
If you are keeping the same domain and URL structure, your SEO risk is much lower. The main requirements are making sure pages load correctly, canonical tags remain accurate, the site is indexable, and internal links are not pointing to old staging addresses.
If you are changing domains or URL structures, you need a redirect strategy. Every important old URL should point to its most relevant new URL using a 301 redirect. A 301 tells search engines that the page has permanently moved and that ranking signals should transfer to the new address.
SEO Migration Checklist
- Keep the same permalink structure if possible.
- Map old URLs to new URLs before launch.
- Use 301 redirects, not 302 temporary redirects.
- Update internal links to point directly to the new URLs.
- Check canonical tags after migration.
- Make sure
noindexis not accidentally enabled. - Submit the updated XML sitemap in Google Search Console.
- Monitor 404 errors and redirect important missing pages.
Important: If you used a staging site, check that search engine visibility is not blocked on the live site. In WordPress, go to Settings > Reading and verify that “Discourage search engines from indexing this site” is not selected.
Step 8: Update DNS Carefully
When the new site is tested and ready, update your DNS records so the domain points to the new server. Usually this means changing the A record to the new server IP address or updating nameservers.
DNS changes can take time to propagate. Some visitors may see the old server while others see the new one for several hours. To reduce this window, lower the DNS TTL value a day before migration if your DNS provider allows it. A lower TTL can help changes spread faster.
For dynamic sites, leave the old hosting active for a while after the DNS switch. Do not cancel the old server immediately. Keeping it available gives you time to confirm that traffic has fully moved and that no files or data were missed.
Step 9: Enable SSL and Fix Mixed Content
After the domain points to the new server, confirm that SSL is active and the site loads over https. If browsers show security warnings, check whether the SSL certificate is installed correctly.
Mixed content happens when an HTTPS page loads some assets, such as images or scripts, over HTTP. This can affect user trust and sometimes break page features. Use a search-and-replace tool or a plugin designed for SSL cleanup to update old http references to https.
Also confirm that all versions of the site redirect to the preferred version. For example, choose whether you want to use www or non-www, and make sure HTTP redirects to HTTPS.
Step 10: Run a Post-Migration Audit
Once the site is live, do not assume the job is finished. A post-migration audit helps catch issues before they affect users or rankings.
Start by crawling the site with an SEO tool or crawler. Look for broken links, redirect chains, missing title tags, duplicate pages, and blocked resources. Then compare important pages against the old site backup or crawl data, if available.
In Google Search Console, check:
- Indexing reports for excluded or error pages.
- Sitemaps to confirm successful submission.
- Page experience and Core Web Vitals.
- Manual actions or security warnings.
- Performance reports for drops in clicks or impressions.
In analytics, watch traffic patterns for at least two to four weeks. A small fluctuation after migration can be normal, especially if DNS propagation or crawling takes time. However, a sharp sustained drop often indicates technical issues such as broken redirects, accidental noindex tags, missing content, or blocked crawling.
Common Mistakes to Avoid
Many migration problems come from rushing. Avoid these common mistakes:
- Skipping backups: Never migrate without a complete backup.
- Forgetting the database: Files alone are not your WordPress site.
- Deleting the old hosting too soon: Keep it active until the new site is fully verified.
- Changing URLs unnecessarily: URL changes increase SEO risk.
- Using temporary URLs in content: Replace staging or temporary links before launch.
- Ignoring redirects: Broken old URLs can waste ranking signals and frustrate users.
- Blocking search engines: Check index settings after moving from staging to live.
Should You Use a Migration Plugin or Move Manually?
Both options can work. Migration plugins are convenient and often ideal for small to medium websites. They can package files and databases together, handle URL replacement, and simplify restoration on the new host.
Manual migration gives you more control and is useful for large sites, custom setups, or complex server environments. It may also be better when file size limits or plugin restrictions cause automated migrations to fail.
The best method depends on the size of your site, your technical comfort level, and the importance of the data. For a simple blog, a reputable plugin may be enough. For a busy ecommerce site, professional assistance or a carefully staged manual process is often safer.
Final Thoughts
Transferring a WordPress site without losing data or SEO rankings is not about luck. It is about preparation, testing, and careful execution. Back up everything, move both files and database, preserve URL structure where possible, use proper redirects when changes are necessary, and audit the site after launch.
When handled correctly, a migration can even improve your website. A faster host, cleaner configuration, stronger security, and better technical SEO can all lead to a better experience for visitors and search engines. Treat the transfer as a structured project rather than a quick copy-and-paste task, and your WordPress site can arrive at its new home safely, fully functional, and ready to keep growing.