Why I didn’t switch to Jekyll

Two weeks back the idea of using Jekyll, a static site generator, to power this blog came back into my head after reading this article by Paul Stamatiou. I had experimented with it somewhen last year and liked it so far but then just forgot about it.

I like the idea that I have everything under control, that there is no database and I just serve static files. Plain and simple. No extra markup coming from a CMS or plugin. So the idea of switching to Jekyll began to take shape.

I wasn’t quite sure if it would be a good idea, so this past week I got up early everyday and started writing a new theme for Jekyll, which, shouldn’t I like my new “CMS”, would be easy to port over to WordPress. In the end that’s what I did. And here is why.

The basics of Jekyll are pretty simple, so after I had a baseline of what I wanted I started to read about how I could migrate all of my posts and metadata from WordPress to Jekyll. There are tons of articles, GitHub Gists and whatnot. But I had trouble making it work. But after hours of struggling and trying dozens of different techniques and scripts I finally had what I wanted. Dozens of markdown files with all the content. 2671 files to be exact. (I used Exitwp and did some cleaning up manually.)

Build Performance

But here lies the first problem. Performance. Building the static site takes relatively long with that amount of posts. And you have to go through that with every change you make on your site or when you write a new post – or when you preview a new post. While developing I only ever generated a handful of posts to speed up the process, but nevertheless, I could see that building performance is or would be a problem in the future. Static site generators might probably be better for smaller sites and blogs which don’t write a lot of posts. But I plan on keeping this blog for the coming years or maybe my whole life, who knows.

This is a good cue, because I have no idea what I want to do with this blog in the future. Maybe it stays small with just one author and not a lot of other features besides articles. But I don’t know, it could also be possible that one day I want to grow it into some kind of magazine or something. And what then? WordPress is capable of pulling that of, Jekyll or any other static site generator is probably not.

Writing and publishing

In the end the only thing that really matters is, are you writing blog posts or not. And to be honest, WordPress makes it pretty damn easy for anyone. You have internet and a browser? Fine, you can blog. You can even use an app on your phone or tablet to publish articles. It’s not that easy with Jekyll. You need a command line, you whole git repository, ruby and whatnot. So another plus for staying with my beloved WordPress. And with some easy tweaks you can write Markdown in WordPress, too. I use Markdown Extra Plugin.

Site Performance

One thing that’s bugging me since I think a lot more about performance is that WordPress can get a little cluttered, code wise. It’s easy to install plugins which inject stylesheets and scripts on every page resulting in extra requests even if you don’t need them. But you can make WordPress really slim if you want to. You can remove code from wp_head and you can edit plugins or simply deactivate a bunch that you just don’t need.
And to further boost the performance, you can even serve static html files with tools like Cachify. Or automatically generate and deliver webp images with Optimus. Both awesome plugins written by my friend Sergej.

So in the end I stayed with WordPress. It’s extremely flexible, future-proof and fast if you treat it the right way. And although  I’m by all means no PHP expert, I know how to customise WordPress and I like to build sites with it.

New Blog Design

The new design is a tad simpler than the old one, but I might be putting comments back in and link an archive page and something like that. Also visual tweaks will always happen on the fly. But for now I like it as it is. Clean and simple. If you like to see the source code. It’s on GitHub. Enjoy!

If you have any further questions or feedback, feel free to tweet my at @_martinwolf or send me an e-mail.

Cheers,
Martin