Archive your bookmarks with WordPress

Sunday, March 7, 2010

Many people use some sort of social bookmarking service to collect their favorite how-to guides, recipes, interesting articles, and funny cat pictures. There are a number of services available: Delicious, Gnolia, and my personal favorite pinboard.in.

I found Doug Bowman’s guide to creating your own browsable, searchable archive of tweets to be perfect: create a self-hosted website using WordPress to archive your content in a format you prefer.

I wanted to do the same for my bookmarks from pinboard but couldn’t find an existing process, so I hacked together my own. Basically, I use FeedWordPress to parse the RSS feed from my bookmarking service to store all future bookmarks, and use a conversion tool to import all the old links. The following assumes a bit of existing knowledge and is mostly unsupported.

Step 1: Export your bookmarks

Delicious and pinboard export into terrible little format called

NETSCAPE-Bookmark-file-1

which is simply an HTML page with all your links and descriptions output in a list. There’s not much you can do with this, but at least you are able to export your links. (apparently the delicious API is much more robust now, but no matter)

Step 2: Convert bookmarks to XBEL

Using linkaGoGo’s bookmark conversion tool you can upload your HTML bookmark file from delicious and download it as a XML file format called XBEL. Note: this doesn’t pull over your tags (let me know if you find something that does).

Some people prefer OPML as their XML-flavor for bookmarks. But I couldn’t find a conversion tool better than this.

Step 3: Convert XBEL to RSS

Using this Yahoo Pipe I created, you can convert your XBEL file to an RSS feed (title, description, link, pubDate, and guid). Simply ‘Run’ the pipe, ‘Get as RSS’ and save your newly minted feed.

The point is to get your file in a format that FeedWordPress can import and parse because it can rewrite your WordPress permalinks to the original bookmark URL.

Step 4: Import your RSS feed using FeedWordPress

Upload the feed somewhere so that it can be accessed by the plugin. Install the FeedWordPress plugin and point it to your newly created RSS feed and, huzzah, all your links should import as blog posts on the date you saved the bookmark. I created a completely separate WordPress instance so that my links archive is separate from my blog.

Bonus: under the Syndication menu, browse to the ‘Posts and Links’ section to enable the permalinks to “point to the original URL.” This means that the permalink (link in the post title, link in your RSS feed) will point to the bookmarked link and not the WordPress post.

Step 5: Point FeedWordPress to your bookmarking service

At this point, you can automatically capture all future links by setting up FeedWordPress to syndicate your bookmarking service’s private RSS feed. Some sites support tags and other niceties, your mileage may vary.