Goodbye WordPress, Hello Kirby
WordPress has been the blogging engine of choice for my site for many years now. I first started using WordPress back in 2005, after having started out with a cgi powered “news” script and then flirted with PMachine (the predecessor to Expression Engine), TextPattern and Moveable Type. With WordPress I thought I had finally found blogging Nirvana. And for a while, that held true. I’ve built blogs for myself, for my friends, I’ve created themes and plugins – I’ve even used WordPress to power e-commerce sites and attended WordCamp meetups.
However, In recent years I’ve started to become somewhat disillusioned with WordPress as it’s moved away from a blogging engine and more towards a full blown CMS. WordPress feels like it’s trying to be something for everyone. On top of that, the need to update the site every couple of days to keep it secure, and the constant influx of spam just ruined the whole WordPress experience for me. I had loved it, but that love was now lost and I needed to find something new, something simple, something light-weight, something fast.
I had looked into systems like Jekyll and WinterSmith.io, but I’ve been a PHP guy for as long as I can remember and the thought of configuring my server to run yet another language seemed like overkill, so I refocused my efforts and started looking for Jekyll-like flat-file CMS’s that are written in PHP. And so, after over a year of looking into options, I decided to switch things around. Completely. I’ve dumped the database and I’m now running my site on a neat little CMS called Kirby. Kirby creates your site from a series of text files, that you keep organised on your server. Need a new post? No problem – just create a new file in the content directory, format it with MarkDown and hey presto! Instant blog post! Even the admin panel is completely optional.
Moving from WordPress to Kirby was challenging. The default script to convert WordPress posts to Kirby files did not like my site at all and repeatedly choked on “malformed characters” that had somehow ended up in my database. I was close to giving up, when I remembered that you can export all of your blog posts as XML, and so I wrote a quick script that takes the WordPress XML dump and runs through it, creating the necessary file structure for Kirby. It was dirty as hell, but it got the job done.
Things are still a bit of a mess around here – Kirby has a different URL structure to WordPress and WordPress just loves to hardcode links within files at the time of publishing so there may be some broken links. The dates are currently borked (all showing the date I moved over) and my new template is still under construction (but should be readable by this point). I’m planning to setup some redirects to ensure the old URL’s continue to work, and I’ve got to have a tidy up and remove all those yucky WordPress shortcode tags that are littering the code but I already feel like things are getting better around here.
So, at least for my personal site, WordPress is no more. Feels good.