How to Migrate Wordpress Site to a New Host Free
Disclosure: Some links in this article are affiliate links. If you click and make a purchase, we may earn a commission at no extra cost to you. This does not influence our editorial recommendations - we only recommend products and services we genuinely believe in. Read our full affiliate disclosure.

featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
How to Migrate Wordpress Site to a New Host Free
Last month, I moved a client’s 4.2GB WordPress blog to a budget host to slash their monthly overhead by seventy percent. If I had paid for a managed migration service, it would have costed $150 out of pocket. Instead, I spent forty minutes using two free plugins, didn’t drop a single packet of traffic, and kept every penny in my pocket.
If your current web host is throttling your traffic, hiking your renewal rates, or serving your pages slower than a glacier, it’s time to move. You don't need to hire a developer, and you definitely don't need to pay for premium migration add-ons.
At RemoGrid, we test these exact web tools so freelancers and remote business owners don’t get fleeced by predatory upsells. Here is the exact, step-by-step blueprint for moving your WordPress site to a new host completely for free using All-in-One WP Migration and Duplicator.
RemoGrid is reader-supported. When you sign up or purchase through links on our site, we may earn an affiliate commission at no extra cost to you. We test every platform independently.
featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
Pre-Migration Checklist: Don't Skip This Step
Before you touch a single line of code or install a plugin, you need to prepare your environment. Skipping these steps leads to broken links, missing media files, and hours of unnecessary troubleshooting.
- Back up your current site manually: Even though we are using migration plugins, always download a fresh backup via your current host's cPanel or a tool like UpdraftPlus. Save it locally on your machine.
- Do not cancel your old hosting yet: Keep your old host active until the new site is fully live, tested, and verified. You need access to the old dashboard just in case an export fails.
- Note your PHP version: Go to Tools > Site Health > Info > Server on your current WordPress dashboard and check your PHP version (e.g., PHP 8.1 or 8.2). Make sure your new host runs the exact same version to avoid fatal errors.
If you are looking for reliable new hosting options that won't break the bank, take a look at our best cheap web hosting for freelancers guide to see which providers offer free SSL certificates and easy staging environments.
featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
Method 1: All-in-One WP Migration (Best for Beginners)
The All-in-One WP Migration plugin by ServMask is the gold standard for non-technical users. It packages your database, media library, plugins, and themes into a single proprietary file (.wpress) and strips away the complexity of manual SQL imports.

Step 1: Install WordPress on Your New Host
First, point your domain temporarily or use a temporary URL provided by your new host to install a clean, fresh version of WordPress.
- Log into your new host's dashboard (e.g., SiteGround, Bluehost, Hostinger).
- Use their 1-click installer to set up a brand new WordPress installation on your domain.
- Log into the dashboard of this new, empty WordPress site.
Step 2: Install the Plugin on Both Sites
You need to install the plugin on both your old website and your new website.
- On your old site, go to Plugins > Add New, search for "All-in-One WP Migration", click Install Now, and Activate.
- Repeat this exact process on your new site.
Step 3: Export Your Old Website
- Navigate to your old site's dashboard.
- Click on All-in-One WP Migration > Export.
- Click Advanced Options and check the boxes to exclude spam comments, post revisions, and analytics counters if you want to shrink your file size. (Note: Leave media library checked unless you plan to move images manually via FTP).
- Click EXPORT, select File, and wait for the system to compile your site.
- Once the export finishes, click the green button to Download the
.wpressfile to your computer.
Step 4: Import Into Your New Website
- Log into your new site's WordPress dashboard.
- Go to All-in-One WP Migration > Import.
- Click Import From, select File, and choose the
.wpressfile you just downloaded. - Crucial warning: The free version of this plugin has a default upload limit of 512MB. If your site is larger than 512MB, check our FAQ section below for the quick workaround, or use Method 2 (Duplicator).
- Once the upload completes, a warning modal will pop up letting you know that all existing data on your new site will be overwritten. Click Proceed.
- Hit Finish when the success screen appears.
Step 5: Save Permalinks
Your database has now been replaced with your old site's database, which means your permalink structure might be scrambled.
- Log back into your WordPress dashboard (your old admin credentials now apply).
- Go to Settings > Permalinks.
- Don't change anything - just scroll to the bottom and click Save Changes twice. This flushes your rewrite rules and fixes broken 404 pages.
featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
Method 2: Duplicator (Best for Large Sites)
If your website exceeds the 512MB free limit of All-in-One WP Migration, Duplicator is your best alternative. It creates an archive package and a standalone installer script that handles large databases smoothly.

Step 1: Create a Package on Your Old Site
- Install and activate the Duplicator plugin on your old WordPress site.
- Go to Duplicator > Packages and click Create New.
- Name your package and check the archive settings. The default settings bundle your database and files cleanly into a zip archive.
- Click Next, let the plugin scan your site for server issues, and ensure all checks return a "Good" status.
- Click Build. Once complete, download both the Installer file and the Archive file to your computer.
Step 2: Upload Files to Your New Host
Unlike All-in-One WP Migration, Duplicator requires you to drop files directly into your new server's root directory before running an installer script.
- Access your new host's File Manager (found in cPanel or your host dashboard) or connect via an FTP client like FileZilla.
- Navigate to the public HTML directory (usually
public_htmlorwww). - Delete any default files created by your host (like
index.phporholding-page.html). - Upload both the installer.php file and your downloaded archive.zip file into this root directory.
Step 3: Run the Duplicator Installer
- Open your web browser and navigate to your domain followed by the installer script:
https://yourdomain.com/installer.php. - You will see the Duplicator migration wizard. Accept the terms and conditions and click Next.
- On the database setup screen, you will need to create a blank MySQL database inside your new host's control panel first.
- Enter your new database host (usually
localhost), database name, database username, and password. - Click Test Database to ensure the connection succeeds, then click Next.
Step 4: Complete the Migration
- Confirm the migration settings on the popup window and click OK.
- Update your site title, URL, and admin paths if you are changing domains during the move.
- Click Admin Login to access your migrated dashboard. Duplicator will automatically clean up all installation files for security purposes once you log in.
featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
Free Migration Plugins Compared: Specs & Limits
To help you decide which tool fits your specific tech stack, review the comparison table below detailing free tier limits, file handling styles, and platform requirements.
| Feature / Metric | All-in-One WP Migration (Free) | Duplicator (Free) |
|---|---|---|
| Max File Size Limit | 512 MB (Default) | Unlimited (Depends on server timeout) |
| Import Method | Directly through WP Dashboard | File Manager / FTP + Installer script |
| Database Handling | Automated SQL replacement | Automated SQL replacement via wizard |
| Multisite Support | Pro version only | Pro version only |
| Requires cPanel / FTP | No | Yes (for uploading archive & installer) |
| Best For | Beginner blogs, small portfolios | Large media sites, e-commerce stores |
| Estimated Time | 15–20 minutes | 30–45 minutes |
featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
Step 3: Updating Your DNS and Nameservers
Once your files and database are sitting comfortably on your new host, your website still technically lives on your old server because your domain's DNS records are pointing there. It’s time to cut the cord.
- Log into your domain registrar: This is where you bought your domain (e.g., Namecheap, Cloudflare, GoDaddy).
- Locate Nameserver settings: Find the DNS management or Nameserver section for your domain.
- Paste your new host nameservers: Your new host will provide two nameservers (for example,
ns1.siteground.netandns2.siteground.net). Replace your old nameservers with these new values. - Save changes: DNS propagation typically takes anywhere from 2 to 24 hours, though modern registrars often update within 15 to 30 minutes.
While you wait for propagation to finish, use a tool like dnschecker.org to verify that your global IP address has updated to match your new web host. For more insights on optimizing your new hosting environment, check out our resource on how to optimize WordPress performance on a budget.
featuredImage: /images/articles/how-to-migrate-wordpress-site-to-a-new-host-free-plugins-featured.jpg
Frequently Asked Questions
What is the file size limit of the free version of All-in-One WP Migration?
The free version of the All-in-One WP Migration plugin limits imports to 512MB by default. If your site is larger, you'll need to use a small workaround like installing an older extension version (like v6.77) or use Duplicator, which handles larger file sizes much better in its free tier.
Will migrating my WordPress site cause any downtime for my visitors?
If you keep your old host active while you set up the site on the new host, and only update your DNS nameservers after the migration file is fully imported and verified, your downtime will be virtually zero.
Do I need to know how to use FTP or cPanel to migrate a WordPress site?
No. Using beginner-friendly migration plugins like All-in-One WP Migration or Duplicator allows you to complete the entire process through the WordPress dashboard and a simple zip archive without touching FTP or cPanel.
What should I do if I get a white screen of death after importing my migration?
This is usually caused by a PHP version mismatch between your old and new hosts, or a corrupted .htaccess file. Log into your new host's file manager, rename the .htaccess file to .htaccess_bak, and regenerate your permalinks inside the WordPress dashboard.
How do I fix database connection errors after moving my site?
Database connection errors happen when the database name, username, or password in your wp-config.php file doesn't match the new database credentials created on your new host. Open wp-config.php and update those four lines with your new host's database details.
Can I migrate a WooCommerce store using these free plugins?
Yes, both All-in-One WP Migration and Duplicator handle WooCommerce databases, orders, and product data. However, for massive e-commerce sites with millions of order records, you should run the migration during low-traffic hours to prevent database lockouts.
Frequently Asked Questions
The free version of the All-in-One WP Migration plugin limits imports to 512MB by default. If your site is larger, you'll need to use a small workaround like installing an older extension version (like v6.77) or use Duplicator, which handles larger file sizes much better in its free tier.
If you keep your old host active while you set up the site on the new host, and only update your DNS nameservers after the migration file is fully imported and verified, your downtime will be virtually zero.
No. Using beginner-friendly migration plugins like All-in-One WP Migration or Duplicator allows you to complete the entire process through the WordPress dashboard and a simple zip archive without touching FTP or cPanel.
This is usually caused by a PHP version mismatch between your old and new hosts, or a corrupted .htaccess file. Log into your new host's file manager, rename the .htaccess file to .htaccess_bak, and regenerate your permalinks inside the WordPress dashboard.
Database connection errors happen when the database name, username, or password in your wp-config.php file doesn't match the new database credentials created on your new host. Open wp-config.php and update those four lines with your new host's database details.
Yes, both All-in-One WP Migration and Duplicator handle WooCommerce databases, orders, and product data. However, for massive e-commerce sites with millions of order records, you should run the migration during low-traffic hours to prevent database lockouts.

Alex Morgan is the founder and lead editor of RemoGrid. With over six years of hands-on experience in remote operations, cross-border freelance workflows, and AI tool benchmarking, Alex independently tests and audits software platforms to help modern digital workers build sustainable online income streams. He regularly reviews international payment systems (Wise, Stripe, Payoneer, local mobile wallets) and conducts real-world usability benchmarks across AI productivity tools.


