Skip to content
WordPress

Migrating WordPress to a New Host: The Safe Method

How to migrate wordpress safely using a proven step by step method that prevents data loss, avoids downtime, and preserves site functionality.

Migrating WordPress to a New Host: The Safe Method

A WordPress migration that goes wrong is one of the most stressful technical experiences a site owner can have. Data loss, broken links, a site that works locally but breaks live, or search rankings that tank after the move — these are all real outcomes of migrations handled without a structured approach. To migrate WordPress safely means having a clear plan before touching anything, using the right tools for the specific type of migration being performed, and verifying the result systematically before pointing real traffic at the new environment. I have managed WordPress migrations ranging from simple hosting switches to complex moves from subdirectory to root domain with multisite setups, and the migrations that complete without incident share the same characteristics: thorough preparation, a tested migration method, and a post-migration checklist that catches problems before users encounter them. This guide covers every stage of the process to migrate WordPress safely. We go deeper on the whole subject in our Complete Guide to WordPress How.

Plan the Migration Before Moving Anything

The most common mistake in a WordPress migration is starting too fast. The 20 minutes spent planning before touching any files or databases directly determines how smoothly the actual migration proceeds. Before you migrate WordPress safely, document the following so the migration is based on a clear picture of what needs to move and what might go wrong.

  • Current environment: Hosting provider, server type (Apache/Nginx), PHP version, WordPress version, database name, table prefix, domain configuration (www vs non-www, HTTP vs HTTPS)
  • Destination environment: New hosting provider, available PHP version, whether HTTPS is configured, whether the domain has already been pointed to the new host or whether you are working with a temporary URL
  • Migration type: Same domain to new host (most common), old domain to new domain, subdirectory to root domain, HTTP to HTTPS as part of the migration, or multisite migration
  • Site inventory: Number of posts and pages, media library size, active plugins (some plugins store absolute URLs or server paths in their settings that break after migration), custom post types, membership data, WooCommerce orders
  • Downtime tolerance: Can the site go offline for the migration duration, or does it need to remain live throughout? This determines whether you can point the domain early or must use temporary URL access during the migration
  • Rollback plan: If the migration fails, how do you get the old site back? Confirm the original hosting plan is not cancelled before the new site is verified, and ensure a full backup of the current site is available

Taking a full backup immediately before you start to migrate WordPress safely is non-negotiable. Not the latest scheduled backup from last week — a fresh backup taken right now, of the current site, stored remotely. If the migration fails partway through, this backup is your recovery point. Every decision in the planning phase should be made with this backup’s existence as a given; without it, the migration risk is substantially higher.

Choose the Right Method to Migrate WordPress Safely

The method you use to migrate WordPress safely depends primarily on the migration type, the hosting environments involved, and your comfort level with technical processes. There is no single universally best method — a managed host migration tool is ideal for its specific context, but useless when migrating between incompatible platforms.

Migration Method Best For Technical Level Cost
Managed host migration service Moving to a new managed host that handles the migration Low — host does the work Free with new hosting plan
Duplicator or All-in-One WP Migration plugin Any migration; simple interface; good for most site sizes Low-medium Free (size limits on free tiers)
WP Migrate DB Pro Database-only migration or database push between environments Medium Paid
Manual — export/import + FTP Large sites where plugin upload limits are a constraint; maximum control High Free
WP-CLI Sites with SSH access to both environments High Free

For most site owners who need to migrate WordPress safely without deep technical knowledge, the All-in-One WP Migration plugin (free; wordpress.org plugin directory) provides the most straightforward experience. It packages the entire site — database and files — into a single archive, downloads it to your computer, and then uploads and deploys it on the destination host. The free version has a 512MB upload limit on the destination, which covers most small to medium sites. Sites with large media libraries need the premium version or the manual approach.

How to Migrate WordPress Safely Using a Plugin

The plugin-based approach using All-in-One WP Migration covers the majority of straightforward WordPress migrations efficiently. The process exports the entire current site, transfers it to the new host, and imports it — with automatic handling of the URL replacement that would otherwise need to be done manually in the database.

  1. Install All-in-One WP Migration on the current (source) site
  2. Navigate to All-in-One WP Migration → Export → Export To → File. The plugin scans the database and file system and creates a .wpress archive containing everything needed to migrate WordPress safely to the destination
  3. Download the exported .wpress file to your computer
  4. Install WordPress fresh on the destination hosting environment — same WordPress version as the source. Many hosts provide a one-click WordPress installer
  5. Install All-in-One WP Migration on the destination WordPress installation
  6. Navigate to All-in-One WP Migration → Import → upload the .wpress file from your computer
  7. The plugin imports the entire site and automatically replaces all instances of the old domain/URL in the database with the destination URL — one of the most error-prone steps in a manual migration, handled automatically here
  8. Log in to the destination WordPress admin using the credentials from the source site (the import overwrites the destination WordPress installation completely)
  9. Navigate to Settings → Permalinks and click Save Changes — this regenerates the .htaccess rewrite rules for the new environment
  10. Test the site on the destination using the temporary URL or a hosts file modification before pointing the domain to verify everything works to migrate WordPress safely

When you are satisfied the destination site is working correctly — all pages load, media displays, forms work, any WooCommerce functionality is operational — update the domain’s DNS to point to the new host. DNS propagation typically takes 24–48 hours. During this period, the old site remains accessible for users whose DNS has not yet updated, which provides a natural transition window with no downtime for any individual user.

Manual WordPress Migration for Large Sites

For sites exceeding plugin upload limits — typically sites with large media libraries above 512MB–1GB — the manual approach to migrate WordPress safely is the reliable alternative. It requires more steps but handles any site size without plugin limitations, and the process is the same regardless of how large the media library is.

Manual migration has three distinct phases: export the database, transfer the files, and reconfigure WordPress for the new environment. Export the database from the source using phpMyAdmin → Select all tables → Export → SQL format → download. Transfer files from the source server to the destination server using FTP — connect to both servers simultaneously in FileZilla using the Site Manager with two separate connections and drag files directly from source to destination. The critical directories to transfer are wp-content/themes/, wp-content/plugins/, and wp-content/uploads/. WordPress core files can be downloaded fresh from wordpress.org rather than transferred from the source.

After files are in place on the destination, import the database through phpMyAdmin on the destination hosting account. Then edit wp-config.php on the destination server to use the destination’s database credentials (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST from the new hosting account’s MySQL configuration). Finally, run a database search-and-replace to update all URLs from the old domain to the new domain — WP-CLI (wp search-replace 'https://olddomain.com' 'https://newdomain.com' --skip-columns=guid) or the Better Search Replace plugin handle this correctly including serialised data. This URL replacement step is where manual migrations most commonly fail to migrate WordPress safely — skipping it or doing it with a simple text editor leaves broken URLs throughout the database.

Post-Migration Checks and Common Problems

A completed migration is not finished until the destination site has been systematically verified. The post-migration check phase is where problems are caught before real visitors encounter them, and it is the difference between a migrate WordPress safely operation and one that technically completed but left problems for users to discover.

  1. Front-end check: Load the homepage, 5–10 internal pages, and the blog index in a fresh browser window. Verify images load, navigation works, and no broken link indicators appear
  2. Admin panel check: Log in and verify all plugins are active, the correct theme is applied, and key settings pages (Settings → General, Settings → Reading, Settings → Permalinks) show correct values
  3. SSL check: Verify the padlock shows correctly and no mixed content warnings appear in the browser console. If the migration also involved adding HTTPS, run the mixed content fix now
  4. Form and functionality test: Submit a test form, go through the WooCommerce checkout with a test order, test any membership login flow, verify any payment gateway configuration
  5. Media and upload test: Upload a new image in the WordPress admin and verify it displays correctly — this confirms the uploads directory permissions are correct on the new host
  6. Email test: Trigger an automated email (password reset, contact form confirmation) and verify it is sent and received — email sending configuration sometimes differs between hosts
  7. 301 redirect check: If the migration included a domain change, verify all old URLs redirect to their new equivalents with the correct 301 status code

The most common problems encountered after migrating WordPress safely: mixed content errors (HTTPS images served over HTTP — fix via Better Search Replace), broken permalink structure (fix by saving Settings → Permalinks), and plugin settings that stored absolute server paths that need updating for the new server’s file structure. Caching plugin configuration sometimes needs to be reconfigured for the new server environment, particularly caching plugins that store server-specific paths in their settings.

SEO and Search Engine Considerations When You Migrate WordPress Safely

A migration that loses search rankings despite preserving all content is a common and painful outcome when SEO considerations are not addressed. The search ranking risk when you migrate WordPress safely is highest when the migration involves a domain change, a URL structure change, or a significant delay in HTTPS implementation on the new server.

If you are migrating to a new domain, implement 301 redirects from every old URL to its new equivalent immediately — before updating DNS. These redirects signal to search engines that the content has permanently moved and should transfer the existing ranking signals from old URLs to new ones. A wholesale redirect from the old domain root to the new domain root is not sufficient for large sites — page-by-page redirects are needed to preserve per-page rankings. The Redirection plugin handles 301 redirect management within WordPress; for a full domain migration, CSV import of a redirect list is the most efficient approach.

Submit the new site’s sitemap to Google Search Console after the migration is complete and DNS has propagated. Request indexing for the key pages. Monitor Search Console for coverage errors and crawl issues in the weeks following the migration — the post-migration period is when crawl errors from broken internal links, missing redirects, or incorrect robots.txt configuration surface. Catching these early significantly reduces the search visibility impact of the migration and confirms the outcome of the effort to migrate WordPress safely from an SEO perspective.

Our guide on how to backup a WordPress site properly covers the backup process that must precede any attempt to migrate WordPress safely — the restoration fallback that makes the migration risk manageable. Our guide on how to create a staging site in WordPress covers the pre-migration staging environment where the migration process can be tested before running it on the live site. The Duplicator plugin documentation and the All-in-One WP Migration documentation cover edge cases in the plugin-based migration approach — the most useful external references for troubleshooting specific migration failures.

Nikolas Lamprou

Nikolas Lamprou (MSc; GCFR, SC-200, Security+) has been working with computers professionally since 2009 — starting with web development and e-commerce, and moving into cybersecurity over the years. Based in Greece, he brings over 15 years of real-world IT experience to SolveTechToday, where he writes about Windows fixes, software reviews, security tools, and AI applications. His goal is straightforward: cut through the noise and give readers clear, honest guidance on the tech decisions that matter.

Stay Ahead

Fix your next problem before it starts

Get the week's best Windows fixes, software picks, and security guides delivered straight to your inbox. No noise, just solutions.

Press ESC to close · Try "Windows 11" or "Chrome"