Available for projects & agency overflow · Quick reply, from the person who does the work

Merging two WordPress sites into one

Bringing two separate WordPress installations together into one raises conflicts that WordPress’s native export-import tool (Tools > Export then Import) doesn’t resolve on its own: duplicate IDs, identical slugs, categories duplicated under slightly different names.

Describe my issue Send a message

What the native import doesn’t resolve on its own

WordPress’s built-in export-import tool transfers content from one site to another, but doesn’t arbitrate the conflicts that inevitably appear when two separate databases meet. Two posts can carry the same internal identifier in each database, just as a user with the same name can exist on both sides without WordPress recognising them as one and the same person.

Images cause a similar problem, less visible but just as real: every media file is itself an internal identifier (an “attachment” content type like any other), and the import assigns it a new identifier on the host site. A featured image or an image inserted into a post by its identifier rather than its address can end up linked to the wrong image after the merge, with nothing flagging it.

The most visible case involves slugs: if both sites each have a page at /about, the second one imported is automatically renamed to /about-2 by WordPress to avoid a URL duplicate. The content isn’t lost, but every internal or external link that pointed to the old address breaks, with no warning at import time. Categories and tags cause a similar problem: two similar but differently named taxonomies (“News” and “New”, for instance) stay separate after import instead of merging.

What causes trouble after a native import

  • Duplicate internal identifiers between the two databases, which can create content confusion
  • A user present on both sites, duplicated into two separate accounts after import instead of being merged
  • Identical slugs automatically renamed (/about-2), which breaks links that pointed to the original URL
  • Duplicate categories or tags under slightly different names, fragmenting content instead of grouping it

How I run a merge of two sites

  1. Auditing both databases

    I spot potential collisions before importing: identical slugs, users sharing the same name, similar categories under different names.

  2. Choosing the host site

    I decide which of the two sites acts as the host and which gets merged into it, usually the one with more indexed content or higher traffic.

  3. Importing on a test environment

    The export-import happens first on a copy, never directly on the live host site.

  4. Manually merging duplicate taxonomies

    After import, I merge or rename by hand any categories and tags that describe the same thing under different names.

  5. Redirecting changed URLs

    I set up 301 redirects for every URL of the absorbed site that changed, particularly those automatically renamed by WordPress.

  6. Final switch

    The merged site goes live once content has been checked and redirects are in place.

Related reading

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

origine
catalogue
extensions-premium (facultatif)
conserver (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.

Frequently asked questions

Is WordPress’s native export-import enough to merge two sites?
It transfers content, but doesn’t resolve ID conflicts, identical slugs or duplicate taxonomies. A prior audit and manual clean-up after import are still needed.
What happens to a page if both sites have the same /about URL?
WordPress automatically renames the second imported page to /about-2, with no warning. Links that pointed to the original address break until a redirect is set up.
Will a user present on both sites be merged into one account?
No, native import creates two separate accounts even if the name is identical. I spot these duplicates during the audit and decide case by case whether to merge them.
How do I choose which site acts as the host?
I usually keep the site with more indexed content or higher traffic, to limit the number of redirects needed after the merge.
Can I delete the old site right after importing?
No, that’s the point of no return for this operation. I first check that all content has been carried over and redirects work, before considering deleting the absorbed site.