How To: Migrate, Combine Two (or More) WordPress Blogs into One

This is another blog post dedicated to you faithful few who ask me questions that you really want answered!

One of you asked previously what my strategy for combining two or more blogs into one and what specifically my strategy is for doing such in the best way. I know this quite well as I’ve had to recently migrate and combine 6 WordPress blog into one main property for a combined total of nearly 7,000 blog posts!

It was a serious endeavor and one that I didn’t want to make any mistakes! For starters, here are a few reasons why you might consider combining properties:

  1. Focus – Perhaps you’ve realized that you’ve been a bit unfocused in your previous attempts at building up a strong blog following and community. Perhaps you have realized that some of them just aren’t as personally interesting and you’ve lost momentum? It might be a good time to simply create a new single property and blog and pour all your time and attention into one killer blog instead of two or three mediocre blogs? If you need some help in this department check out one of my
  2. Rebrand – Perhaps you’re simply creating a new digital presence and want to start with some great blog content and/or capture existing PageRank and SEO from existing properties. Not a bad idea!
  3. Partnership - I recently talked to two guys in this community who joined forces to create a new blog that they both shared significant interest in. As a result they took some of their personal blogs and combined them in a form of a content partnership. Splendid! Don’t forget to check out the two interviews with these guys at the end!
  4. Combine SEO - This could be a direct result of the other three options or it could be your primarily reason for combining properties – perhaps you simply have a few blogs that are weak by themselves in terms of search engine traffic but if you put them together you’d have a much stronger online presence.
  5. Financial Optimization - This also may be a direct result of the other options but you could have interest in simply combining your monetization efforts into one solid advertising system for your blog. Many times these efforts yield better financial results.
  6. Boredom - Sometimes you’re just bored of your old blogs and want to start something new! This is a good a reason as any but you don’t want to start completely from scratch!

Regardless of your motivation you’ll want to do it as best as you can. There are a few ways to combine blogs, especially WordPress-powered blogs, and here’s one way that has proven to be more than successful for me.

Start It So Fresh and So Clean Clean!

If you’re combining WordPress blogs I first want to start as clean as I possibly can so that when I export both blogs into one primary blog I’ll have the cleanest slate to work with as possible.

For this exercise I’ll use the following:

  • Blog #1 – Alpha
  • Blog #2 – Beta
  • New Combined Blog –  Charlie

The first thing we want to do is clean house in Alpha/Beta blogs. Please note that I’m going to present a totally clean scenario so you can choose which parts work for you or how far you want to go with your efforts.

1. Prune Categories, Tags

In Alpha/Beta I decided that I was going to start with a clean slate entirely and create new categories in Charlie when I moved content over. So, what I did was I completely blew away all tags and categories and created just one category per blog for import called “Alpha” and “Beta” so I knew which blog post came from which blog.

You’d do this simply by going to your categories and tags page in your admin and deleting all of them.

Goodbye...

Then, you can rename the “Uncategorized” to “Alpha” or “Beta” – do this for both blogs:

Sayonara!

When you import both Alpha/Beta into Charlie you’ll have all the content relative to the blog from which it was originally created.

2. Clean Out Posts, Pages

The second step is quite simple as well: Clear out any old posts or pages that you don’t use, including any drafts or un-published pages. Your goal is to keep the import file as small as possible.

This activity will also help you start thinking strategically about your content for your new combined blog as well. It can be tough but worth it!

3. Make Note of All Settings, Especially Permalinks!

One of the most important things you will do is jot down all your settings in both Alpha and Beta blogs and make sure that they are similar. Note any differences and make sure you keep those close for when you optimize and setup the new combined blog Charlie.

Most important is to note the permalink structure that you’re using in both blogs. This is important for passing of PageRank and SEO as you’ll want Google and the other search engines (as well as any inbound links) to redirect properly to the new domain and blog.

If the permalinks are different you’ll want to take this into account when you manage your .htaccess file and the 301 redirects. Hopefully both permalinks in Alpha/Beta are the same and that you’ll use the same permalink structure in the new combined blog Charlie.

4. Uninstall, Delete Plugins

The next step is to simply uninstall and delete all the plugins to make sure that you can have the cleanest and most efficient import possible.

Even though your import process doesn’t technically import any plugin information I’ve seen migrations hit a few snags with extra meta data left in blog posts and such. This is more of a precautionary step that I’d suggest but you don’t have to.

At the very least it won’t matter if they are there anyways since you’re essentially abandoning Alpha/Beta, right? So go ahead and uninstall them completely and delete them as well.

But, make sure you note the ones that you want to keep in the new blog as well as some of your content may depend on some of the features that some of the plugins offer.

5. Delete Post Revisions

This is a step that I recommend doing but might prove to be a bit more difficult for some depending on your ability to acces your mySQL database.

Essentially your WordPress blog captures revisions of your content via auto-save and this takes up space in your database. In fact, if you have a lot of posts it could be 10′s of thousands of revisions! These you won’t want to import into your new blog Charlie:

Bloat!

If you have access to phpMyAdmin then use this command to clear out all the post revisions in your blog Alpha and Beta:

[cc]

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = ‘revision’

[/cc]

Then you’ll also want to execute this command as well:

[cc]

DELETE FROM wp_posts WHERE post_type = ‘revision’;

[/cc]

If you want to turn off Post Revisions on your blog you can always add these two lines in your wp-config.php file:

[cc]

define(‘AUTOSAVE_INTERVAL’, 300 ); // seconds
define(‘WP_POST_REVISIONS’, false );

[/cc]

If this is all greek to you then you can skip it if you must.

6. Export Alpha/Beta Blogs

You’re almost there! The next steps are quite easy as you’ll simply Export your two blogs content fully via WordPress’ native system:

Here we go!

Save both files as different names.

7. Import Both Alpha/Beta into Charlie

The final step is to import both the export files into your new combined blog Charlie:

Almost there...!

Do this for both files.

8. 301 Redirects

The most important thing you will do before you stop thinking about Alpha and Beta blogs forever is establishing a 301 redirect to your new combined blog so you can keep SEO and PageRank value from continuing to flow.

What you’ll want to do is edit the .htaccess file on both Alpha/Beta blogs and do something similar to this:

[cc]

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.CHARLIEBLOG.com/$1 [R=301,L]

[/cc]

Of course, you’ll want to change out “CHARLIEBLOG.com” to your new combined domain and URL. This is the most simple .htaccess redirect that you can use but if you have a more complicated system of permalinks and/or structure you’ll need to customize this to your needs.

A quick test of some old blog content links to see if they redirect to the new Charlie blog posts will prove if it worked or not!

8. Organize Combined Blog (Charlie)

Now that you have all of your posts into your new combined blog Charlie you’ll begin the process of organizing the information, categories, pages, posts, and more as well as adding back the WordPress Plugins that you need to install.

You may find that you’ll need to redo some content, update categories, prune pieces of data, and more. This just comes with the territory!

9. Update Webmaster Tools

Finally you may want to update your Webmaster Tools to make sure they are aware of the updates and changes. For example, if you’re in Google Webmaster Tools you’ll want to make sure you update the Change of Address option:

Easy to forget but important!

This will help them manage the changes you’ve made to your content and domains.

10. Test Thoroughly

Finally, it behooves you to test thoroughly. Make sure you check out these two posts here for more information about managing broken links both internally and externally:

You’ll also want to check your Webmaster Tools as well for other information on broken links. Make sure to check a few times every week for the first month or two!

Naturally you may have a different scenario than the one listed above but you should be able to extrapolate out of my 10 steps for what you need. Many of you might be just adding one more blog to an existing blog instead of creating an entirely new property or have even more than one blog to combine.

The choice is yours!

Bonus Interviews with GeekForI.com!

I mentioned in the very beginning that the two founders of geekfori.com went through a migration process recently (I gave them just a little help, they are two smart dudes!) and I thought I’d ping them and ask them a few questions about their experience as well as their strategy!

The first one is with Matthew who gives us some thoughts on the migration process as a whole and the second is with Graham who gives us some helpful tips and strategies for working well with a blog partner and content management and development.

With Matthew Snider:

[tentblogger-vimeo 27293023]

With Graham Brenna:

[tentblogger-vimeo 27294031]

Of course, if you have any other questions about blogging, WordPress, and more feel free to ask here and I’ll see if I can get to it for you!

  • http://geekfori.com Graham

    Great post John! Thanks for the opportunity for Matthew and I to contribute.

    • http://john.do John Saddington

      sure thing graham! thanks for being avail!

  • http://www.geekfori.com Geek for i

    Thanks brother for the write up and for the link love to us man.

    Guys and Gals, this is much easier than one would think. Make it happen!

    • TrafficColeman

      You guys really out done yourselves..people like you is what makes this online marketing things so much fun.

      “Black Seo Guy “Signing Off”

      • http://john.do John Saddington

        they’re doing a great job, aren’t they?

    • http://john.do John Saddington

      thanks bro for being so ready to do that on no notice at all!

      • http://www.geekfori.com Geek for i

        No worries man, was fun stuff!

        • http://john.do John Saddington

          might have to have you guys back!

          • http://geekfori.com Graham

            Just say the word!

            • http://john.do John Saddington

              cool. i’ll be back from vacation next week. let’s talk.

  • http://tommcfarlin.com Tom McFarlin

    A note about importing both Alpha and Beta into Charlie: if Alpha and/or Beta are significant in size, you’re likely going to tank Charlie’s server.

    To avoid that, you’ll need to split the export XML files into multiple, smaller files and import them individually.

    There are a couple of tools for this. There’s a utility for WIndows and a Python script for OSX and Linux on this thread.

    • http://john.do John Saddington

      thanks for this! definitely a pro tip here.

  • ThatGuyKC

    Great set of tips! Thank you John, Matthew & Graham! I’ve tagged this to use later as I’ll inevitably need it someday. :)

    • http://john.do John Saddington

      thanks buddy! hope things are well!

  • http://dustn.tv Dustin W. Stout

    John… I NEEDED this post. You must have sensed it with your Blogging Ninja super sense. I could have really used it about a week ago, but today is just fine. I am making the announcement today that my blog is moving (which makes this the first public leak… lol)! It’s actually LIVE already. The last thing I need to take care of is the redirects, and still not sure about the mechanics, but I’m can figure it out i think.

    • http://www.geekfori.com Geek for i

      Holler if you need help brother, that is the easy part!

      • http://john.do John Saddington

        ;) sweet!

  • http://www.churchpunk.com ChrisW(churchpunk)

    What about RSS? It seems like anytime I move something around I have to fight to get the RSS to see the new site.

    • http://www.geekfori.com Geek for i

      With a true redirect, done at the htaccess level, no need. It all just magically works.

      OR you can change it in feedburner itself.

      • http://john.do John Saddington

        ;) word.

      • http://www.churchpunk.com ChrisW(churchpunk)

        Awesome!

        • http://john.do John Saddington

          :0 for sure.

    • http://john.do John Saddington

      if you use feedburner you can easily change the source feed without messing people up too.

  • http://www.benandleanna.com/ Ben Miller

    Great post! But I would add Step 0: Make sure that all your blogs are completely backed up, including databases. Then when you screw up in Step 5, you can start over. :)

    • http://john.do John Saddington

      i agree with this!

  • http://bit51.com Chris Wiegman

    Timely post. I’ve just relaunched my own blog this week under a completely new brand. However instead of combining I’ve split up content among a couple of sites.

    • http://john.do John Saddington

      sweet! that’s definitely the other way to do it!

      • http://bit51.com Chris Wiegman

        I guess it all depends on the goal….

        • http://john.do John Saddington

          that it does….. that it does.

  • Susan Silver

    Wow, such perceptive readers here. I have been looking for this info for a long time. Now I know how to import my old posts from previous blogs!

    Thanks Matthew and Graham!

    • http://www.geekfori.com Geek for i

      No worries Susan, glad you were able to learn from it, let us know if you put it into practice!

    • http://john.do John Saddington

      they are pretty awesome, right?

  • Steven b

    Thanks for the tutorial. but couple questions:

    I understand the import/export of the wordpress xml file. pretty easy.

    My file is only 2MB while the amount of images are more 500MB. How the images move from Blog #1 to Charlie ?

    Also what about the permalinks ?
    let’s say I have a post on Blog #1 at
    http://blog1.com/2010/08/10/cool-post

    will it merge at
    http://charlie.com/2010/08/10/cool-post or will it merge at the transfer date ?
    because i want the url dates to be the same as Blog #1

    would love help on this – Thanks :)

    • http://john.do John Saddington

      the wordpress import manages the images.

      it will be the original post date. :)

  • Steven b

    Thank you John,
    you are 50% right – the url will be the original post date,
    but the images are not manage automatically. you have to import them after manually –

    Also inside the post the the images urls are still linking back to the old site. Well at least for me.
    but for that i have a easy trick. download and install ‘search and replace’ plugin and change the url to the new site

    • http://john.do John Saddington

      unless you keep the old domain i believe. i’ve seen this done.

  • Josh

    Question: What if Alpha’s domain is expiring and is not going to be renewed? I’m assuming that will affect the redirects…right?

    • http://john.do John Saddington

      it could. yah. i recommend, for a time, keeping the old domain.

  • http://eastyorktorontorealestate.com Steven

    What a great job.

    I have set up a site using wordpress, then I set up domain/properties and installed a 2nd wordpress database on that, now I want to make the site just the original single database, would your instructions work for migrating the 2nd database and then redirecting from domain/properties to domain

    • http://john.do John Saddington

      great work!

  • http://celtic-fiddler.com Howard

    This post came close to answering my question, and might even work in my case, but I want to ask about a variant, just to be sure.

    Back before I learned about WP, I did a hand-coded-HTML site (celtic-fiddler.com), which I maintained for a couple of years, even doing something resembling a blog there. It wasn’t the hard way, it was the REALLY hard way.

    Then I discovered WP, but instead of just migrating completely to WP, I installed WP in a subdirectory (fiddler) where my blog stuff currently resides, and kept the old site (and maintained that bit directly in the HTML). Then I learned enough about WP to realize that I could easily use it for my main site, as well. But, since I had many backlinks out there to the fiddler subdirectory that I did not want to lose, so I did another WP install on the root, and migrated most of the remaining HTML to that. The root has only pages, no posts.

    It now seems like excessive unnecessariness to be maintaining both sites separately (and they each get *different* traffic, oddly enough), so I’d like to merge them into the root. But, again, I’d like to keep the backlinks I already have to fiddler, some of which are to individual posts. And get all of the traffic to both combined.

    It looks like the few pages I have on fiddler, I could just copy over to the root, and delete from fiddler from the two dashboards.

    What would be the simplest way to deal with the posts? Can the 301 trick be made to redirect everything in fiddler subdirectory to the root, or do I need some other mechanism?

  • http://MeetTheMatts.com/ Matt Mc

    Okay… So, I’m about to combine two sites and I’m scared witless!

  • Indian Blog

    Thanks for the article . I am just between the process of Combining my two same niche blogs. Was finding many problems but now solved :)

    Regards
    Navneet