I have the following setup: two WordPress blogs, one on the main domain, let's call it example.com and one on a sub-domain sub.example.com. After a few years of running these blogs independently I have to merge the sub-domain into the main domain:

sub.example.com > example.com

Each blog's database is over 100MB and the sub-domain uploads folder is over ~15GB (lots of high-res images). Both blogs have the same authors and only 2 common categories.

What's the best (safest) way of doing the merge to ensure that everything runs properly?

These are the steps I considered:

  1. Backup each database;
  2. Optimize each database;
  3. Backup again;
  4. Export XML from sub.example.com;
  5. Move the contents of sub.example.com/wp-content/uploads/ to example.com/wp-content/uploads/ - (and hope there are no files identically named);
  6. Import XML into example.com;
  7. Create .htaccess file on sub.example.com to 301 redirect all to example.com;

The only step I'm not sure is #5, should I move (merge) the uploads folders or let the import process handle this as well? I'm thinking that since it's 10 GB worth of images the import process might fail...

If anyone has a better process or if you see a problem with one of the steps from above, let me know, I'll appreciate any help on this matter!

1 Answer 1


Your logic and the steps you plan on following look good to me. This is more or less exactly how I would handle the issue.

However when you import the XML file from sub.example.com into example.com, you'll want to check the links to the media files within the newly-imported posts. I believe they are still going to be referencing the sub.example.com URL. If that's the case, you will need to run a database updating script or command to update all instances of sub.example.com to example.com.

I use the Interconnect/IT search and replace script or WP-CLI

So moral of the story - COPY the wp-content/uploads folder over. Don't DELETE the wp-content/uploads folder from sub.example.com until you can confirm all of your URLs are correct.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.