Importing an Entire LiveJournal to WordPress

Have you ever wanted to import your entire LiveJournal blog into your newer self-hosted WordPress site? If you’ve Googled for help, you’ve probably not found any one easy solution. I’m here to help, and here’s how I did it (easier than anyone else’s ideas…)

I’ve had my LiveJournal since July 2002, but for the most part have completely stopped writing in it, with the exception of using the LiveJournal CrossPoster plugin to cross-post from my WP to my LJ. In other words, I’ve had more than 6 years worth of blog-post gold hidden behind a “friends only” setting. While I have to give major kudos to LiveJournal for rocking the blogging world and being the best platform for blogging beginners and loyal users, I’ve grown and matured in my needs as a blogger.

I looked around for my options of transferring 6 years of LJ data into my self-hosted WP, and honestly there weren’t a lot out there – unless I would’ve been willing to use LJ’s “export” feature that only allows exporting one month at a time of data (which I wasn’t).

I instead used the following method, and while it, too, is a bit tedious, it did the job smoothly and [this journal] is now heavy several thousand posts.


From the admin area of your site, do the following:

1. Check all of your settings and default options, and then use the manage/export option to create a back-up of your entire WP database. Whatever you do, store your XML backup in a safe place on your computer where you can remember where it is (chances are you’ll panic and lose your mind if you need to use it).

2. If you don’t have it already, download and install the Maintenance Mode Plugin. Once installed put your site into “activated” maintenance mode.

3. Download and install the following plugins (which will help during the re-launching stage):

  • LJ-user ex – Replaces <lj user=”username”/> and <lj comm=”community”/> with correct HTML code.
  • Search Regex – Search Regex adds a powerful set of search and replace functions to WordPress. These go beyond the standard searching capabilities, and allow you to search and replace almost any data stored on your site (like incompatible LJ tags and any strange characters which may result from the merging of LJ and WP).
  • Redirection – Redirection is a WordPress plugin to manage 301 redirections, keep track of 404 errors, and generally tidy up any loose ends your site may have. This is particularly useful if you are migrating pages from an old website, or are changing the directory of your WordPress installation.

One other plugin that I like (but isn’t necessary for this project) is WP_Identicon – if you already use gravatars on your site, adding this plugin will make the imported LJ Comments have auto-generated gravatar images, instead of a blank gravatar.


1. You’re going to need both an export (from LiveJournal) and an import (to WP) program to export an entire LJ’s worth of data. I tried several, and I recommend

  • LJ Archive v0.9.7 – You can download it here (free) and don’t be scared by the fact that the latest release date was back in March 2006. I used it on my Windows 64bit Vista machine and had zero problems.

After you’ve downloaded and installed it, set everything up (your LJ username/password, etc.) and you’re ready to go.

But wait just one second.

If you’re like me, and you happen to appreciate redundancy when it comes to back-up data, you’re gonna want to jump right into your backend and do some tweaking on the raw side of things. Here we go:

3. Log into your phpMyAdmin and locate your database from the pull-down menu on the left.

4. Make sure all the tables are selected (by default, they are), check the “XML” box, “Save As” and (compression) “zipped” options. Click “GO” and the ‘[datbasename]’ file will be neatly deposited on your computer. Now you have another database back-up copy just in case the WP one fails.

3. Don’t log off phpMyAdmin quite yet, because you’re going to want to use it in a little bit.


1. Using LJArchive, goto the File menu and select ‘New Archive’.

2. Enter your username/password and select the location where the file will be saved. If you want to import your LiveJournal comments (probably a good idea!) make sure the ‘Download Comments’ box is checked.

3. LJArchive will login to your LiveJournal account and begin downloading all of your entries. This may take several minutes depending on your internet connection speed and the size of your LiveJournal.

NOTE: Even if your entire LiveJournal is “Friends Only” or “Private” LJArchive will still work as it’s using your login/password to access your journal posts.

4. Once the import is complete, LJArchive will display your LJ inside the program. From here you can browse your entries, sort them by date, and so-on.

Now we’re ready to export your entries into a format/file that can be used by WordPress!


1. Continuing to use LJArchive, goto the File menu and select Export. Here you will see different options for exporting: For this purpose we want to export using the “XML Writer” option.

2. Select a general file name to be used and the location to store the new file(s). The filename you choose will be the prefix of the final file – a good file name to use would be “yourLJusername_date” so you know when the file(s) were created.

3. Under ‘Split Export’ you’ll see several options:

  • ‘Single File’ – This will export your entire LJ database into one (very large!) XML file.
  • ‘Per Year’ – This will split your LJ database it into several individual files by year.
  • ‘Per Month’ – Likewise, this will do the same as ‘per year’ but make individual per-month files.
  • ‘Per Entry’ – Again, the database will be split into ‘per entry’ individual files.

I would suggest exporting into files by YEAR

Whichever ‘split export’ option you choose, make sure that each individual file is less than WordPress’s maximum import file-size of 2MB. If you don’t, you’ll have problems importing them in the following section.

4.Your LiveJournal database has now been split into easily importable files, alll similarly named “yourLJusername_date (specific data name).XML”.


1. In the root directory of your WordPress blog, edit your .htaccess file and add the following code at the bottom:

php_flag memory_limit 64000000
php_flag max_execution_time 600
php_flag max_input_time 600

This little tidbit of code will allow your server enough time to import your very large files using the WordPress interface. Basically it adds “time” (600 seconds) and “memory” (64 MB) for your server to process the information without giving you a ‘server timed out’ error message.

2. Go back to your WordPress admin interface. Under Manage > Import, select each file individually to import.

  • Make certain that you select a post category for your imports. If you don’t (or you select incorrectly) you might end up having all of your imported posts stuck in the ‘uncategorized’ unlinked non-category.
  • Also pay close attention to any tags you wish to add (for example ‘LJ Archive’ or “LJ imported posts’) because they will be helpful when you want to mass-edit these old posts (and trust me, you will!)

3. You’ll need to manually edit a few things – imported LJ posts will contain characters that WordPress doesn’t understand. Assuming that you followed STEP ONE, you already have the tools you need.

Additionally, the WP plugins Batch Categories and the Better Tags Manager will help you clean things up.


To re-launch your site, make sure you take yourself out of ‘maintenance mode’ (if you downloaded and installed the plugin) and check to see if your LJ posts are viewable.

I hope this post has helped you with importing your LiveJournal into WordPress – please leave comments with any questions or problems you’ve run into and I’ll do my best to help.

© 2008 – 2013, Krissi Bates (iKrissi). All rights reserved.

Posted in I’m a Blogger (1999 – 2008) and tagged , . Bookmark the permalink. RSS feed for this post. Comments are closed, but you can leave a trackback.
  • Oh, snap!

    Created with flickr badge.
  • All the Twitters!

Swedish Greys - a WordPress theme from Nordic Themepark.