How to Import Joomla Content Using the WP Importer Plugin

For my sins (I learned this phrase from my dissertation advisor back when I was in graduate school), I am on the board of the Bay Area Consultants Network. Actually, I love BACN and have missed possibly 5 meetings since I started going in July 2003; if you are a consultant, coach, or other solo professional in the San Francisco Bay Area, I recommend you check them out.

Anyway, we are in the process of converting our existing Joomla! website to WordPress, as who wouldn’t. This is partly to make it easier for people other than me to add and update content, and partly because I am the board geek and I think WordPress suits BACN’s needs better. The problem with the site right now isn’t so much Joomla as the fact that it’s very hard for people to find what they’re looking for. (Well, that and terrible SEO, which has something to do with the type of content we usually post and something to do with the not-at-all-search-engine-friendly-URLs.)

BACN Home Page January 2012 (Joomla! 1.5)

BACN Home Page January 2012 (Joomla! 1.5)

Joomla! 1.5 article manager

Then go into your WordPress install to your SoftWarp | WP Importer settings. (You will need an activation key, which you get by submitting your e-mail address. This did not work from my LAMP server. Apparently the program requires cURL. I set it up on a dev server here on WP Webhost instead.)

The problem for someone developing a new site is that we have content going back to 2002, and importing from Joomla! to WordPress is not common enough for the WordPress foundation to build its own importer. I had tested the Joomla 1.5 Importer a while back, and it worked fine, though it was a bit slow as it required you to import one category at a time. That plugin has only been tested up to WordPress 3.0.5, however, and not updated since January 2011. (Yes, it has taken us a long time to get going on this project. Non-profit. Volunteer. Committee. Need I say more?)

So I did a little searching to see whether there was anything more recent and came across a plugin called WP Importer from SoftWarp. This plugin is not in the WordPress Plugin Repository, I presume for the very good reason that it’s marketed with decidedly black hat overtones. (The copy and samples are hilarious, though.)

The plugin’s documentation assumes that you’re importing a CSV file, and also that you’re using it in conjunction with another of the developer’s plugins, so using it to import Joomla! databases took a bit of figuring out. Since I can’t be the only person on the planet who will ever need to do this, I figured I would document the process here.

First, go into phpMyAdmin and open your Joomla! databases. If you are used to WordPress databases, you will be amazed at how many tables there are in a Joomla! database. Possibly because these tables don’t remotely match up, you can’t use the WP Importer plugin to import a complete Joomla database. Instead, you need to locate the database with the content in it.

mos_content, the database table containing Joomla! 1.0 content

mos_content, the database table containing Joomla! 1.0 content

In Joomla! 1.0, this table is called mos_content. In Joomla! 1.5, it’s called jos_content. (I haven’t worked with more recent versions of Joomla!, so I don’t know whether they’ve changed the name, but I bet it’s still nnn_content.)

Export this table as an SQL file and save it to your computer.

Exporting the Joomla! 1.5 jos_content table as an SQL file

Exporting the Joomla! 1.5 jos_content table as an SQL file

Log into your WordPress installation and go to SoftWarp | WP Importer. If you have not done so already, you will need to activate the plugin. The plugin is free, but you need to provide a valid e-mail address to receive the activation key. This did not work on my LAMP server; something to do with the need for cURL, which is also required to make the plugin work. I set up a dev install here at WPWebhost instead, and it worked fine.

First you import the table. In this case, you need to select SQL as the format of the file.

Import table with WP Importer plugin

Step 1: Import Table

Once the table has been imported (which may take a while depending on the number of entries), you will be automatically transferred to the next screen. Here you get to drag the different database field tokens into the correct positions. This involves a little bit of guesswork if you don’t know Joomla! databases intimately, but it’s not that hard to figure out. The main thing to know in this case was that [[introtext]] had actually been used as the main body of the post on this site, with [[fulltext]] for additions on some pages, so both of those belonged in the “Post Body” field.

WP Importer post config screen

Mapping database field tags on the post config screen

For some reason, which Joomla! experts will probably know, no section or category name info was saved in this table, only the category ID numbers, which weren’t very helpful to me, so I just let everything come in as “Uncategorized” and updated it later.

Joomla! content imported as WordPress posts

Joomla! content imported as WordPress posts, manually categorized

WP Importer imports all content as posts. Eventually, most of  these items will be converted to custom post types based on the categories I assigned them, but I’m still building those out.

This doesn’t remove all the labor from the import process, but it’s certainly easier than copying and pasting, and it ought to work on any flavor of Joomla! database—and probably databases from any other content management system, as long as you can isolate the table with  the content in it.

5 Comments

  1. This looks like a good find. I’ve tested this and have successfully moved all my content over to WP – just cannot see where to convert the categories/sections from Joomla 1.5 to WP categories.

    Did you copy over your members to WordPress also?

    Also, how are you finding the move to WP from Joomla? Any regrets?

    • Definitely no regrets, but then I was biased in favor of WordPress to begin with.

      Regarding the categories, you have to create the categories first, then import one category at a time into the appropriate WP category. I ultimately converted most of the content within WordPress to custom post types and/or pages; there are a few stray items that are still actual posts. (There are WordPress plugins for converting post types within WP, individually or in bulk.)

      • Hi! Sallie, I appreciate what you’re doing your tips are great. Still. I believe you could use a tip about an easier way of import to wp:) It could save from creating categories anew.

        cms2cms.com has the utility to move all of the data from Joomla to WP. This isn’t paid, but rather efficient (I expected bugs all over, but nothing came out). Basically, you just have your content moved along with categories and users. Pretty handy, maybe it’ll be helpful.

        • That sounds like an interesting service. I had not heard of it before. It seems worth investigating.

          In this particular case, I actually had a secondary step of converting the posts into (in some cases) pages and (in most others) custom post types, so there was going to be manual work involved regardless, and I didn’t need to import users, but for many people, those features of CMS2CMS could be very helpful. It appears that at the moment CMS2CMS only works for WordPress to Joomla (and vice versa), whereas the WP Importer plugin will import anything from MySQL or CSV into WordPress (I have used it on other types of databases), and eventually CMS2CMS is going to cost money, but right now the service is free, so if you are converting from either platform to the other, give it a try. (On a development server, please!)

Leave a Reply

Current day month ye@r *