I’ve been using WordPress for as long as it existed, and offered my professional WordPress services the past three years or so – from installations to development, troubleshooting and maintenance. It’s a great tool for managing a website, very versatile and very easy to deploy but when it comes to the actual blogging experience, Jekyll wins hands down. At least for me…
Each time you request a WordPress based page to be displayed in your web browser you start a myriad of actions in the background, one of them being a database query.
By design, unless certain configuration changes are made, a database query is a very slow process. But it doesn’t end there. Once you get the data from the database, it’s ‘linked’ to a theme. This then gets processed and an HTML code is generated.
WordPress is also very dependent on different scripts. Installed plugins add their own script and style files, which in turn means a lot more connections to establish between your web browser and the web server. Most shared hosting packages impose limit when it comes to a maximum number of concurrent connections.
Jekyll’s nothing like this. A site generated by Jekyll is basically a bunch of static HTML files. No database queries are involved. And, in most cases, a Jekyll-based blog isn’t that script heavy either.
The first thing you (should) do when you install WordPress is installing some sort of security plugin, which will stop comment and trackback links spam, prevent unauthorised people from accessing the database, or login to the admin area using a dictionary brute force attack. There are reports of thousands of WordPress websites being hacked each day just because people fail to secure it properly.
Jekyll doesn’t use database so no spams comments. It doesn’t use a server-side content management system so no brute force attacks to gain access to the admin area. And since the generated site is only a set of static HTML files, there’s no way for hackers to exploit PHP weaknesses, either.
Here’s how I used to publish a post on my WordPress site:
- Go to the site in a web browser
- Navigate to the Posts sections
- Click ‘Add new’
- Add content in the WYSIWYG editor. If it happened and I lost connection, the post was lost (most of the time).
- Click ‘Publish’
- Clear cache and log out.
I’m sure there are better ways but this is what I’ve been doing for years. I even tried to use different blogging apps on my Mac and iOS devices to see if there is a way to simplify my WordPress publishing workflow. None of them proved to be well made enough to take full advantage for WordPress’s capabilities. Editing options were limited or somewhat strangely implemented.
Now, here’s what I do now on a Jekyll-based blog (I have it set up in a very special way so it may be a lot different from other people’s workflow):
- Create a markdown document in iA Writer, which is stored directly in my Dropbox’s Jekyll posts folder. I have the app opened 24/7, effectively skipping one step here.
- When ready, rename the file to meet Jekyll’s naming conventions so it gets published.
That’s it! The beauty of it is that you can use any text editor that can produce markdown documents and that supports Dropbox based library. Most of these editors are well designed for both the desktop computers as well as mobile devices.
Another advantage is that it can be done no matter if I’m connected to the internet or not. I can start while offline, and when I get back online, my Dropbox folder syncs and the post is automatically published.
And when I find a typo or something else that needs to be fixed, I just make the corrections in my text editor and save. Changes are automatically pushed to the web server. It’s this easy and fast!