Moving to WordPress: Making the URLs work

Heads up: Geeky stuff below.

WordPress is very easy to install on your own server if you have even the slightest knowledge of how a web server is put together. But getting those old Blogger-URLs to translate to the new URL scheme was hard work for a non-techy like me.

Here is how I did it – in case others have the same problem (actually, some do):

Redirecting the RSS feed

First of all I wanted the old URL to our RSS feed to work so loyal subscribers won’t have to re-subscribe to the feed. The old feed was published to silberbauer.dk/rss.xml but the new feed is to be found at silberbauer.dk/feed/.

I tried numerous ways of rewriting the URL with mod_rewrite – nothing worked. Somehow my rewrite-rules conflicted with the rewriting that WordPress does on it’s own to make pretty URLs.

Finally I asked my very (very) smart Creuna co-worker Guan, and he told me simply to use RedirectPermanent instead. It works like a charm:

RedirectPermanent /rss.xml http://silberbauer.dk/feed/ Even FeedDemon/Newsgator accepted the “301″ and continued looking for the feed at the new URL.

Making old Blogger URLs point to new WordPress posts.

Then, I decided to make old blogger-URLs redirect to the WordPress version of the posts. First, I sat up WordPress to generate pretty permalinks that look as much like the old blogger links as possible, e.g.:

Old Blogger generated permalink: http://www.silberbauer.dk/2007/04/that-warm-fuzzy-feeling-of-web-20.html
New permalink: http://silberbauer.dk/wp/2007/04/that-warm-fuzzy-feeling-of-web-20

As you’ll notice: Only the “/wp/” and the missing “.html” differentiates the new URL from the old one. So with RedirectMatch we can redirect the URL using regular expressions:

RedirectMatch permanent ^/200([0-9])/(.*).html$ http://silberbauer.dk/wp/200$1/$2

Archive URLs

In exactly the same way the old archive URLs are redirected to the new archives:

RedirectMatch permanent ^/200([0-9])\_([0-9][0-9])\_([0-9][0-9])_archive.html$ http://silberbauer.dk/wp/200$1/$2/

My .htaccess file now looks like this:

RedirectPermanent /rss.xml http://silberbauer.dk/feed/
RedirectPermanent /index.html http://silberbauer.dk/
RedirectPermanent /index.htm http://silberbauer.dk/

RedirectMatch permanent ^/200([0-9])/(.*).html$ http://silberbauer.dk/wp/200$1/$2
RedirectMatch permanent ^/200([0-9])\_([0-9][0-9])\_([0-9][0-9])_archive.html$ http://silberbauer.dk/wp/200$1/$2/

# BEGIN WordPress

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

5 Responses to “Moving to WordPress: Making the URLs work”


  1. 1 Mark Jensen

    The next move would be to get some design going on here; after all, that is what one would expect from an Information Architect making user-friendly websites :)

    You can find a great majority of the themes available at http://themes.wordpress.net/ and I would especially recommend the K2-theme which is the updated version of the one sporting this site at the moment. It’s very easy to customize and look beautiful. I use a very low-key version of it at my own site, but I dream of making my own, as it’s not perfectly the way I want it to be.

    K2 is also the theme your colleague is using at his site, if you need help again :)

  2. 2 Klaus Silberbauer

    Hi Mark

    Absolutely! And the K2 looks great as a base for further customization. I especially like the tabs. Actually, my wife is using the K2 theme at her blog.

  3. 3 Kristian Tørning

    Nice job!

    I was wondering when you would move to your own host ^^

    WordPress is a wonderfull platform – but You need to update quite often. I would recommend to subscribe to the new release on their site – ohhh and making a habit of doing teh DB update (to mail) on occation.

    Don K

  4. 4 Klaus Silberbauer

    Thnx, Kristian. We’re running the latest 2.1.3 for the moment – but I’ve subscribed to the mailing list. DB Update (to mail) -> what do you mean?

  5. 5 Kristian Tørning

    In the admin panel (Manage>backup) you have the option to back up the entire database and have the backup sent to your (G)mail – just in case.

    Also I would recommend installing the subscribe to email plugin http://txfx.net/code/wordpress/subscribe-to-comments/ – it makes it easy for people to keep up with conversation :-)

Leave a Reply