Archived LiveJournal

It’s been years since I posted to LiveJournal, but it’s a record of my twenties and early thirties that I’d like to hang onto…and I keep wondering when LJ is going to go the way of GeoCities (and I’m not the only one). I finally decided it was time to export the whole thing, and discovered that WordPress has a LiveJournal import tool. (Admin sidebar: Tools→Import→LiveJournal)

It took a few minutes to set up a new site (since I didn’t want to just exchange one third-party service for another), and another two minutes to import all of my posts and comments.

Nice! Now I have my own copy, and I can use WordPress’ much-better tools to actually find stuff. It’s as permanent as I want it to be.

How’d it Work?

It pulled in all my posts and comments, threaded properly as far as I can tell. Private posts are imported as private, and friends-locked posts are imported as password-locked. WordPress doesn’t offer the fine-grained control that LiveJournal does, but at least they’re not public, which is the main point.

Mood, Music and Location are imported as custom fields – not visible, but I could write a plugin to display them. (Userpic names are in there too, but not the images.)

It didn’t import any photos I’d uploaded to LJ, but I tended to use Flickr or (ironically) my other blog to host most of my images, so I only had to grab eight photos manually.

Some other cleanup I had to do:

  • Delete ~300 spam comments that LJ hid as “suspicious,” but the importer didn’t know that.
  • Replace <lj user="blah"> with the name or full link. It imported most references to other LJ users properly, but not all of them. Also a few were wrapped in <div>s for some reason.
  • Manually copy over LJ embeds like polls and Writer’s Block prompts. As with photos, I didn’t have too many, but it could have been really tedious.
  • Update internal links to point to the local copy of a post instead of the original. The importer puts the original URL in a custom field, and the Search Regex plugin will search metadata, which makes it easy to find the local copy of each post. Could be automated, but I only had about 15 or so.
  • Turn comments off on all the imported posts.

Making it Nice

I decided to make this a nice archival copy rather than a quick and dirty one, so I’m doing a little bit more:

  • Remove or combine duplicates. Not every cross-post belongs on both journals. If there’s no discussion I can clear it out, and if there is discussion, having the comments in WordPress makes it easier to consolidate the conversation (example). I may still move some posts over if they fit better on K2R, but the pressure’s off since I know this copy will still be around.
  • Remove junk. One-line linkpost to something on my main blog? No need to keep it. Same with test posts for things like seeding long-gone spamtraps. And probably a lot of those silly quiz results.
  • Revisit privacy. I might open up some posts that were only locked to hide things like pending travel plans. Or I might close some posts that I want to be more careful about now. Or I might even close everything and reopen just the posts that are linked from outside.
  • Fix typos and tags as I find them.
  • Update links. I was surprised to see only about 60 dead links after running Broken Link Checker. Most of them are from quiz memes, so once I clear those out…

Cross-posted at K-Squared Ramblings