When I took a Droplet from Digital Ocean to host my server, I decided to give Ghost a shot. Using Ghost was a unique experience. It was minimalist and the editing experience was great. Unfortunately a lot of things like analytics, image compression, comments, advanced SEO, and code syntax highlighting were absent or took time to setup. The core team implement things fast and have a very aggressive release cycle, but theme developers are not able to keep pace with the changes and new features available. In addition, the default theme that comes with Ghost is not very apt for a technical blog.
I have hence decided to shift back to WordPress in order to utilize the large number of plugins and themes. This blog contains a list of plugins that I have installed and consider as must use WordPress plugins for a technical blog.
Here’s the list of WordPress plugins used,
- Wordfence Security
- WP Super Cache
- Yoast SEO
- Easy WP SMTP with Mailgun
- EWWW Image Optimizer
- Jetpack by WordPress.com
- Crayon Syntax Highlighter
- WP Optimize
This is pretty much a no-brainer. One of the easiest ways to hack a WordPresss blog is to simply brute force the password via wp-login.php . This plugin protects the blog by banning or throttling traffic from IP addresses that have continuously been entering an invalid username or password.
I like the weekly update emails that are sent out with information on any IP blockages, and plugin updates available. Emails are also sent out when an administrator logs into the website.
It includes a spam filter for comments. This removes the need to rely on an additional plugin such as Akismet for comment moderation. I’ve not had a chance to see this in action, but I have a feeling that this will be top notch like the rest of the plugin.
When a security vulnerability is discovered the malware scanner informs the administrators about it via mail.
I’ve found the non-premium version of this plugin to be more than adequate for my needs.
I’ve used this plugin to improve the response time of my blog. The premise is simple. Content on a blog doesn’t change very often, so serve static HTML files instead of generating the HTML dynamically. This helps reduce database queries and the HTTP request response time.
To regularly monitor the performance of the website I use GTMetrix. I’ve configured GTMetrix to run a test weekly and email the results to me. Here’s what a report from GTMetrix looks like,
This is a standard when trying to improve the SEO of a blog. I’m currently using this to improve the readability and the SEO score for my blog.
In addition, I’ve used this plugin to connect my blog with Google’s webmaster tool.
Here’s a screenshot of the suggestions offered by Yoast while writing a blog,
I use Mailgun with my WordPress blog. Mailgun offers 10,000 free mails for a month which is more than adequate for my usage.
I’ve then used Easy WP SMTP to configure WordPress to use my Mailgun account to send all the mails.
I’ve found this to be more reliable and faster when compared to the traditional WordPress mail sending process.
This plugin automatically optimizes plugin uploaded to the Media library. It also provides a bulk optimization tool that can be used to optimize multiple images on your blog.
This helps to reduce the unnecessary network data transfer, hence making the website faster to load and save bandwidth.
I use JetPack to setup the discussion section, to generate the sitemap for the website, and to keep track of the daily visitor stats. JetPack also adds a Share button to my posts.
In the future, I’d like to enable JetPack to automatically share posts to my social media accounts.
In a blog where I’m planning to share code, having a syntax highlighter makes a lot of sense.
Crayon Syntax Highlighter not only highlights my code, but also allows visitors to toggle and highlight line numbers.
Crayon is very configurable, allowing you to configure the minutest details about the way the code is displayed. I’ve configured Crayon to be simple and not get in the way while people interact with the code on the website.
Note that even though WordPress says that the plugin may no longer be maintained I’ve not had any problems with it. There is an issue open on the plugin’s issue tracker to release a new version in order to get rid of the WordPress warning.
When you are writing a post on WordPress you end up saving quite a few times. Each save creates a draft that’s stored in the WordPress database. Over a period of time you may end up with 100’s of drafts that you are never going to use.
WP Optimize can be used to delete these drafts. In addition I use it to optimize my database tables. I then disable it when it is not needed. Note that you can schedule periodic optimizations if you so desire.
That about sums it up. I’ve tried to keep the plugin usage to a minimum to avoid slowing down the website. These plugins provide me with all the functionality that I need on my blog. I also believe that these, or a variation of these plugins are pretty much a must have on any technical blog.