WordPress Site Clone and Migration: Step by Step Guide for a Smooth Move

Introduction

cloud, network, finger, cloud computing, internet, server, connection, business, digital, web, hosting, technology, clou
Photo by Tumisu on Pixabay

If you run a WordPress site, at some point you’ll need to perform a wordpress site clone migration. Maybe you’re moving to faster hosting, setting up a staging environment to test a plugin update without breaking your live store, or changing domains entirely.

The problem is that moving a WordPress site — even a small one — can break things. Broken links, login errors, missing images, lost ecommerce orders. These are not hypothetical. They happen when migration steps are skipped or done in the wrong order.

This guide is for site owners, developers, and small business operators who want to clone or migrate a WordPress site step by step. We’ll cover manual methods and plugin-based approaches, the tradeoffs of each, and the exact steps to verify everything works after the move. No fluff. Just practical, tested instructions.

WordPress site clone migration showing a hosting control panel interface with database and file transfer options

What Is WordPress Site Cloning vs. Migration?

People use these terms interchangeably, but there’s a meaningful distinction.

Cloning means creating an exact copy of your WordPress site. You typically clone a site to create a staging environment where you can test changes — new plugins, theme updates, redesigns — without touching your live production site. When you clone, you duplicate the files and database but keep both the original and the copy active (often on different domains or subdirectories).

Migration refers to moving a site. You take the entire site — files, database, media — from one location (hosting server, domain, directory) to another. The original is usually decommissioned or redirected. Migration is what happens when you switch hosting companies or change your domain name.

The overlap is that both involve transferring your WordPress data. The difference is intent. Cloning creates a parallel version; migration relocates the main version. Most migration tutorials show cloning steps as the foundation, then add the search/replace steps needed to make the destination site work independently. Understanding this distinction helps you choose the right approach for your goal.

When Should You Clone or Migrate Your WordPress Site?

Here are the most common scenarios, along with the main tradeoff each one carries:

  • Moving to a new hosting provider. You need a full migration. The tradeoff: you must update DNS records, and propagation can cause a brief period where some visitors see the old host and some see the new one. Plan for a low-traffic window.
  • Changing domains. This is a migration with an added search/replace step to update all internal URLs. The tradeoff: every URL in your content, post metadata, widget settings, and custom fields needs to change. If you miss one, you’ll get broken links or missing images.
  • Setting up a staging environment. This is cloning. You copy your live site to a subdomain or subdirectory for testing. Tradeoff: you must ensure the staging site is blocked from search engines (add a “noindex” tag or password protect it), otherwise Google may index duplicate content.
  • Upgrading from shared to VPS or dedicated hosting. You are migrating to a new server with different resources. Tradeoff: PHP version, server limits, and MySQL configuration may differ. A site that ran on shared hosting may need adjustments on a VPS.
  • Scaling to a multisite network or multi-domain setup. This can involve cloning an existing site as a template for new subsites. Tradeoff: multisite migrations add complexity because you must account for network-level tables and media library paths.

Before You Start: Critical Preparations

The most common cause of failed migrations is inadequate preparation. Do not skip this checklist:

  • Full backup of files and database. Use a plugin like UpdraftPlus (the free version works fine) to create a downloadable backup of everything. Store the backup file somewhere off-server: Google Drive, Dropbox, or a local hard drive. A server-level backup on the old host is not sufficient — you need a copy you control.
  • Note your current WordPress and PHP versions. You’ll need to match or upgrade these on the new host. Some plugins and themes break when PHP versions jump too far (e.g., from PHP 5.6 to PHP 8.0) without intermediate testing.
  • Check your database size. Some migration plugins have free version limits (like All-in-One WP Migration’s 500MB cap). If your database is large, plan for a manual method or a paid plugin upgrade. Also check that your new hosting plan supports the database size.
  • Inform users of potential downtime. If you are migrating a live site, expect a period — even if short — where the site is unavailable or functioning erratically. Set up a maintenance mode page or send a brief notice to your email list if it’s an ecommerce site.
  • Test in a staging environment first. Clone the site to a staging subdomain and run a dry run of the migration. This catches obscure issues — like plugin-specific database tables or custom file paths — before they affect real visitors.

For storing backups securely, a portable external drive is practical. Travelers who need a reliable way to keep off-site backups may consider a portable external hard drive for quick local copies.

Method 1: Manual Clone and Migration via cPanel

Manual migration gives you full control. It also requires comfort with cPanel, phpMyAdmin, and an FTP client like FileZilla. Here’s the exact sequence:

  1. Export your database. In cPanel, open phpMyAdmin. Select your WordPress database. Click “Export” and choose the “Quick” method with SQL format. This downloads a single .sql file containing all your tables and data.
  2. Download your WordPress files. In your old hosting’s cPanel, use the File Manager to select all WordPress files (or use FileZilla to FTP the entire public_html directory). Compress them into a single .zip or .tar.gz archive for faster transfer.
  3. Upload to the new host. Use FTP or the new host’s file manager to upload the archive. Extract it into the destination directory (usually public_html or a subfolder if it’s a subdomain).
  4. Create a new database. On the new hosting control panel (often cPanel or a proprietary panel), create a new empty database and a database user with all privileges. Write down the database name, username, and password.
  5. Import your SQL file. Open phpMyAdmin on the new host. Select the empty database you just created. Click “Import” and choose the .sql file you exported earlier. If your file is large, you may need to increase the PHP upload limits or split the file — talk to your hosting support if this fails.
  6. Edit wp-config.php. In the root of your WordPress directory on the new host, open wp-config.php. Replace the database name, username, and password with the credentials of the new database. Do the same for the database host (sometimes it’s “localhost,” sometimes a specific IP provided by your host).
  7. Search and replace URLs. This is the critical step that most beginners forget. Your database still contains references to the old domain — in post content, wp_options (siteurl, home), serialized data, media paths, and more. Install a plugin like Better Search Replace (free) on the new site and run a search for your old domain (e.g., https://olddomain.com) and replace with the new domain. Do not skip serialized data — Better Search Replace handles it correctly; manual search/replace in phpMyAdmin can break plugins that use serialized arrays.
  8. Fix file permissions. If you see a “Cannot write to wp-config.php” error or a white screen, file permissions are too restrictive. Directories should be 755, files 644. cPanel File Manager lets you bulk-change permissions.

The manual method is reliable, but it is time-consuming and error-prone if you miss the search/replace step. For sites with complex data — ecommerce orders, user meta, custom post types — always double-check the URL replacement.

wordpress, blog, software, to blog, content management system, write, website, internet, editorial staff, web, publish,
Photo by viarami on Pixabay

Method 2: Using a Migration Plugin (Duplicator or All-in-One WP Migration)

Plugins simplify the process significantly. Two stand out for reliability:

Duplicator is the better choice for complex migrations — multisite, large databases (it has no file size cap in the free version), and situations where you need a staging environment or a site template. The workflow: install Duplicator on the old site, create a new package (this generates an installer.php file and an archive.zip), download both files, upload them to the new host’s root directory, and run installer.php from your browser. The installer walks you through database setup and URL replacement. Duplicator is ideal for developers moving between hosts frequently.

All-in-One WP Migration is simpler for small sites — under 500MB of data (including media). The free version exports a single file. You move it to the new host and import it through their upload interface. The tradeoff: if your site exceeds the size limit, you need the paid upgrade. All-in-One is excellent for beginners because it handles the search/replace automatically and includes a “find and replace” verification step. It also supports direct export to cloud storage (Google Drive, Dropbox, OneDrive) — useful for large sites on the paid plan.

Which should you choose? If you are a small business moving a basic brochure site or a small blog, All-in-One WP Migration will get it done in 15 minutes. If you handle multiple sites, have a large media library, or need staging capabilities, Duplicator is more flexible. Both have Pro versions with additional features like multisite support, scheduled backups, and larger file limits.

Comparing Manual vs. Plugin Migrations: Which Is Best for You?

There’s no single best method. The right choice depends on your technical comfort, site size, and budget.

Manual migration gives you complete control. You don’t depend on any plugin. You can move databases of any size. You understand exactly what is happening under the hood. The downside: it is slow, requires familiarity with cPanel and phpMyAdmin, and the search/replace step is easy to mess up. Manual is best for developers or experienced site owners who migrate often.

Plugin migration is faster and more forgiving. The built-in search/replace handles serialized data correctly in most cases. Plugins often include “verify migration” steps — checking if site URLs match, testing database connectivity. The downside: plugin-based migrations can fail on very large databases (unless you pay for a higher tier) or when the server timeout is too low. Some plugins have been known to lose custom post types or user meta in edge cases. Plugins are best for small to medium sites, solo site owners, or anyone who wants to finish the job in one sitting.

Honestly? If your site has fewer than 200 posts, no ecommerce, and no complex custom post types, use a plugin. If you have a membership site, a WooCommerce store, or a large media library, do a manual migration and test everything thoroughly before switching DNS.

Comparison of WordPress migration plugins Duplicator and All-in-One WP Migration showing their admin dashboards

Common Migration Mistakes (And How to Avoid Them)

Mistakes happen. Knowing the most common ones saves you time and frustration:

  • Forgetting to update site URL in the database. The most frequent mistake. If you log in to your new site and see the old domain in the URL bar, the siteurl and home values in the wp_options table are still pointing to the old host. Run your search/replace again.
  • Not flushing DNS after a domain change. After changing DNS nameservers, your old host may still serve cached copies. Wait 24-48 hours, then flush your local DNS and use a tool like whatsmydns.net to confirm propagation before you deactivate the old hosting account.
  • Skipping SSL revalidation. If you change domains or move hosts, your SSL certificate (whether free Let’s Encrypt or paid) will not automatically transfer. You must issue a new certificate. Visitors will see a security warning if you skip this.
  • Leaving caching enabled during migration. Caching plugins, CDN caches, and server-level caches will serve old content or break page loading. Disable all caching on both the old and new sides before beginning. Re-enable only after you have verified the site works.
  • Not testing contact forms and ecommerce functions. Forms often store entries in the database using absolute URLs. If the URL changed, your form submission may break silently. Test every form on the new site — submit a test entry and confirm it arrives in your email. For WooCommerce, place a test order and confirm the order confirmation email is sent.
  • Losing custom .htaccess rules. Your .htaccess file contains rules for redirects, caching, security headers, and custom permalinks. It does not always transfer with a plugin. Always copy your .htaccess file manually and re-upload it to the new host.

Post-Migration Checklist: What to Verify Immediately

Don’t assume the site is running correctly just because the homepage loads. Run through this checklist:

checklist, tasks, notepad, note, items, paper, priorities, organization, list, closeup, checklist, checklist, checklist,
Photo by Tumisu on Pixabay
  • Visit every page type. Open your site in a browser and manually click through: homepage, a blog post, a category archive, a page with a contact form, a page that uses a custom template. Use a crawler tool like Screaming Frog (free for up to 500 URLs) to find any 404 errors systematically.
  • Test login and password resets. Log out of your admin account. Try logging back in. Request a password reset and confirm the email arrives. This confirms your database connection and email sending are working.
  • Check permalinks structure. Go to Settings > Permalinks and click “Save Changes” (this flushes the rewrite rules). Test a URL that uses a custom permalink structure, such as yourdomain.com/sample-post/ — if it returns a 404, you need to reconfigure your .htaccess or the permalink settings.
  • Set up 301 redirects if you changed domains. If you moved from olddomain.com to newdomain.com, use a plugin like Redirection or add rules to your .htaccess file to redirect all traffic from the old domain to the new one. This preserves SEO value and prevents broken backlinks.
  • Verify email delivery. If your old host handled SMTP, your contact forms and order confirmations may not send. Configure an SMTP plugin (like WP Mail SMTP) or use a transactional email service.
  • Test payment gateways. For ecommerce sites, run a test transaction — even if it is a $0 authorization — to confirm that the payment gateway is communicating with the new server. Some gateways (like PayPal) require you to update the IPN URL in your account settings.
  • Monitor error logs. Your new hosting control panel likely provides error logs (or you can check via FTP in the /wp-content/debug.log file if WP_DEBUG is enabled). Look for 404 errors, PHP warnings, or fatal errors. Fix them immediately.
  • Run a security scan. Install Wordfence (free version is sufficient) and run a full scan. This checks for file integrity changes that may have occurred during the transfer and flags any malware or backdoors. Wordfence also verifies that your file permissions are secure.

For a thorough security check, a Wordfence premium plugin can provide enhanced scanning and real-time firewall protection for those managing multiple sites.

When to Hire a Professional (and When Not To)

Many migrations are straightforward. Here’s when you can handle it yourself: your site has fewer than 10 pages, uses only basic plugins (contact form, SEO, caching), and you’re comfortable with a plugin like All-in-One WP Migration or Duplicator. You can follow a guide and be done in under an hour.

You should consider hiring a professional if: your site is a large ecommerce store with thousands of products, you have a membership site with complex user roles and subscriptions, you use multiple custom post types and custom fields, or you are migrating a multisite network. These scenarios involve database complexity that can break silently. A single missed serialized data replacement can corrupt user tables or product meta.

If you need help, our team at Manage WP Websites offers flat-fee migration services — no hidden costs. We handle the planning, execution, and post-migration verification so you can focus on running your business.

Recommended Tools for WordPress Cloning and Migration

Here are the tools that consistently work well, with their best use cases:

  • Duplicator – Best for staging environments, multisite migrations, and complex moves. Free version handles unlimited file sizes. Pro version adds scheduled migrations and cloud storage integration.
  • All-in-One WP Migration – Easiest for small sites under 500MB. One-click export and import. Paid version removes file size limit and adds direct cloud storage upload.
  • UpdraftPlus – Primarily a backup plugin, but its “restore” feature works for migration if your sites are on the same server type. Use it for preparation backups, not as a primary migration tool.
  • Better Search Replace – Free plugin for fixing URLs after a manual migration. Handles serialized data correctly, which is essential for ecommerce and membership sites.
  • WP Migrate DB Pro – For database-only migrations on large sites. It can sync databases between two installations and includes serialized data handling. Paid plugin, but worth it if you migrate sites regularly.
  • phpMyAdmin – Built into cPanel. Used for manual database export and import. Not a dedicated migration tool, but free and available on most hosting plans.
  • FileZilla – FTP client for transferring files when cPanel File Manager is too slow. Free and reliable.
  • Wordfence – Runs a security scan after migration to confirm file integrity and check for malware.

For cloud storage, Google Drive and Dropbox are straightforward options for storing backups. Many hosting providers also offer one-click restore from backups, but keep your own off-site copy regardless. If managing backups across multiple drives is part of your workflow, an external hard drive with USB 3.0 can speed up local backups.

Final Thoughts: Plan Ahead, Test Thoroughly

Checklist for verifying a WordPress site after migration including tests for login, forms, and payments

A successful WordPress clone or migration comes down to three things: backup everything before you touch anything, update all URLs after the transfer (including serialized data), and test every function that matters to your business — forms, payments, login, email. If you skip any of these, you’ll likely discover the problem at the worst possible time.

You can do this yourself for simple sites. For complex environments — or to avoid the risk of downtime during business hours — a professional service is worth the cost. Need help managing your WordPress environment? Explore our maintenance plans or get in touch for one-time migration support. We handle the logistics so you can stay online.

Similar Posts