Update: I have since moved back to WordPress. You can read more about that in my article Back on WordPress.
For a while now, I have been using the static site generator (Pelican) for my website/blog. There are pros and cons to both platforms and I have had a lot of trouble deciding which to use going forward. One day I want to use Pelican and the next I want to use WordPress. In the end, I had to compile a list of what I find to be the pros and cons of the platform and compare them two each other in order to make my choice.
- Updating WordPress itself or the plugins is just a few clicks.
- Easy to add functionality
- Works well with MS Word
- Works well with Markdown
- Quick and easy to update/edit a blog post.
- Adding or editing content can be done on just about any device.
- Needs constant updating of WordPress is self and it is plugins to keep up with security issues.
- Updates can break compatibility with plugins
- Needs a lot of plugins to be usable
- WordPress is written in PHP
- WordPress needs a database
- Slow load speed (even with W3 total cache)
- The admin area is horrible slow (it might be the shared hosting on Unoeuro.com that is slow)
- I do not like any of the themes and I do not know how to make one.
- The process of posting a post requires a lot of clicking around in a very slow admin interface.
- Using only static files on the webserver makes it a very secure site.
- No database
- No code is being executed on the webserver
- Fast load speeds
- Pelican uses Jinja2 for the templating language. I know and really like Jinja2
- Pelican is written in Python. I know and really like Python.
- Uses Markdown
- Adding or editing content requires the computer on witch pelican is installed
- Although Pelican uses a cash system so that it only has to regenerate the pages that have changed, I have to upload the whole site every time via FTP because Unoeuro.com does not support git. That said it takes about 2 sec to generate the site and about 20 seconds to upload it. Using git the upload would only take a couple of seconds
- Using MS Word is not ideal
Your list may be different. However, this is how my list looks like. The list essentially boils down to three factors, security, speed, and workflow.
At the same time, I am writing this blog post yet another zero-day vulnerability has been disclosed for WordPress. Not much beats static HTML files when it comes to security. So there is not much of a competition there.
Pelican wins this one.
I have used http://gtmetrix.com/ to test the speed of the platforms running on the same shared host on unoeuro.com. I have spent a lot of time and effort on optimizing the WordPress version of my blog for speed. When optimized the size of the WordPress versions front page is 145kb. The Pelican generated front page is 300kb. Even though the WordPress site has to transfer half as much data as the Pelican site the WordPress load speeds were always 3 – 8 times slower than that of the static files generated from Pelican. Sadly, enabling the Disqus commenting system on the static site increases load speed quite a bit and that makes the load speed comparable to those of WordPress. However, since Disqus loads asynchronously the generated site itself loads fast (almost instant) and then Disqus loads when it loads. This makes the Pelican generated site appear a lot faster than the WordPress version.
Pelican wins this one.
I have had trouble making Markdown work with the process I have when writing. When I write something that others are supposed to read my process is as follows.
- Write the text in a text editor with a good spell and grammar checker.
- Use text to speech to read the text aloud. I catch a lot of errors this way.
The reason I have used MS Word is that it has a good spell checker and text to speech is build in. Sadly Windows do not have the ability to just select some text and have it spoken to you with the press of a hotkey like OSX. This would make just about any markdown editor with a spell checker and a preview work for me. However, by changing the workflow a bit to write all the text first and use Naturasoft’s Natural Reader Free to do the text to speech and then add all the special Markdown syntax for links, images etc afterwords. Hmm while writing this it occurs to me that I could just use Pandoc to convert the markdown to a doc file and do the text to speech in ether Natural Reader Free or MS Word.
The writing is not as streamlined as just using MS Word. However, the post-writing process (the posting of the post to the blog) is a lot easier with Pelican that with WordPress so I guess that is equally easy or difficult.
This one is a tie.
Adding it all together, Pelican a better choice for me at this time. Above I have focused on security, speed, and workflow. There is another point in Pelicans favor and that is that Pelican uses Jinja2 for templates. Because I already know Jinja2 it easy for me to make the blog look precisely as I want it to and not have to settle and just live with what is there or pay big bucks for the theme I want.
That is why I will continue to use Pelican for my blog for the time being.