After a few years of using a barely-maintained homegrown CMS / weblog engine, I’ve switched to WordPress 2.0. Through a few hours of tedious migration work, most of the old content has been preserved. Moreover, a set of Apache directives like this:
RedirectMatch story-275- http://kylecordes.com/2005/09/09/direct-swing/
RedirectMatch printable-275- http://kylecordes.com/2005/09/09/direct-swing/
makes all (or very nearly all) of the old URLs still work.