Importing your WordPress content via Duplicator and a Localhost

Migrating from WordPress.com to WordPress.org can pose some problems if your site is quite huge. If you are facing problems with importing your WordPress.com content to your WordPress site, this post might help.

This is an alternative method if your WordPress Installer can’t seem to import all your exported content. This method requires a localhost site and the Duplicator plugin.

1. Export your content from WordPress.com

Wordpress.com export content

Export all your content into .xml files from WordPress.com

2. Create a localhost WordPress site

You can do so by installing phpMyAdmin then linking it to the open-source WordPress.org installer. If you do not want to go through all that, you can simply download the Local by Flywheel. Local is a plug-and-play localhost WordPress tool.

Just follow the instruction when setting up a new (offline) site. Once you start the site, click on ‘Admin’ and it will take you to the wp-admin page.

Local by Flywheel offline site
Create a localhost site using Local by Flywheel

3. Import the .xml file to the localhost

Wordpress importer to import

Import the .xml file using the WordPress Installer. Do note that the import can take a long time especially if your media files are very big. My 3.2GB worth of media took hours to complete.

You can check whether the import is complete by going into your File Explorer (on Windows) or Finder (on Mac) to see if the wp-uploads file is growing and being populated.

I found that during the import, the wp-admin page seem to face login issues. But after the import was complete, the issue no longer exists.

4. Use Duplicator to export your site

Install Duplicator on the localhost site. You will see it on the sidebar after you activate it.

Click on “Packages” then click on “Create New”.

Duplicator create new package

Nothing much to change, just take the default settings and click next.

Duplicator will then scan your site any any potential issues. Since we are using a localhost there should not be any issues. My file size comes up as a Notice, but it is okay to proceed. Click on “Build” to continue. this process will take a while depending on size.

Once the build is complete, click on “One-Click Download”. You should have two files – (1) .zip file, and (2) installer.php file.

Do not extract the zip file.

If you want a detailed guide, check on Andy’s post on SmartWP.

5. Go to your WordPress.org site and upload the downloaded files to your public_html folder

To play safe, you should delete all the existing file in the public_html folder. Keep a copy in the recycle bin in case anything goes wrong, you can still restore the old files.

Depending on the size of your Duplicator exports (zip & php), you may be able to do a simple drag and drop. For me, I was using Bluehost and there is a maximum upload limit which was way below my 3.2GB export.

To upload large files to your file manager, you can use a FTP client such as FileZilla. Bluehost provides a guide on using FileZilla here.

6. Run the Duplicator installer

Once the upload of the Duplicator files is complete, type yourdomain.com/installer.php in your browser’s address bar. This will run the installer to import all your site details. Simply follow the instructions.

Do have the your Database login details at hand as the installer will ask for it. If you are using Bluehost, these information should be provided in an email when you register with them.

Again, if you want a detailed guide, check on Andy’s post on SmartWP (see step 5).

7. Change all the posts to the correct user if required

The imported posts will be ‘written’ by the user of the localhost site. Simply go to Posts > Screen Options (at the top right corner). Set the number of items per page to 999, and apply. Once applied, check all the posts then click on Bulk Actions > Edit.

Select Author and choose the correct user.


And that’s it. All your content, plugin, themes are all imported in your live site.