After reading about Jason Cohen's latest startup, I started thinking about the plugins I install in every WordPress blog I run and what I recommend to my clients. Below are a list of my must-have plugins for pretty much any blog, take a look:


1. W3 Total Cache

This is perhaps the most critical plugin for any blog that gets a decent amount of traffic. W3 Total Cache (W3TC) allows you to: * Cache your pages so they load much faster (not dynamically generated) * Minify and compress your HTML, JavaScript and CSS files * Use a Content Delivery Network (CDN) to quickly serve static media files from multiple subdomains

All of these features serve one purpose: to reduce page load times. Check any popular blog running WordPress and there's a pretty good chance they are using W3TC (or their own custom caching solution).


2. All-in-One SEO

Search Engine Optimization (SEO) are a set of practices and techniques that help your website rank better in search engines, which in turn generates more traffic. The All-in-One SEO plugin makes your blog a little more SEO-friendly by allowing you to customize titles, keywords and descriptions (META data) for the overall blog and for each post.

Honorable Mention: Platinum SEO Pack - I've been told this is just as good (if not better) than All-in-One SEO Pack, however I have not tested it yet personally.


3. Contact Form 7

Ever wanted an elegant, AJAX-powered contact form for your blog? Contact Form 7 makes it super simple to get one up and running within minutes, just customize the form in the administration panel and paste the code in any page or post.

My favorite part about this plugin is that you can create multiple custom forms and do so very quickly using their intuitive backend interface, it's simple but very effective.


4. WP Greet Box

I've just recently installed this plugin (I know, I'm late!) but it's easily part of the essential plugins list. WP Greet Box displays a custom greeting for users that arrive to your blog posts from a recognized referrer, such as Google, Digg or Reddit. The default install includes greetings for over 30 popular services however you can also add a custom greeting for any referring URL manually.

If you'd like to test this out, search for 'SliderNav' on Google and the first result should be a jQuery plugin I wrote a while back. Clicking on it will take you to the post but soon after you should see a box appear under the title that has a Google logo, a link to my RSS feed and the option to display a few other related posts. Very useful for keeping users engaged!


5. Yet Another Related Posts Plugin (YARPP)

At the bottom of every post I write, you'll find a list of related posts. This is courtesy of YARPP, a related posts plugin with a high level of customization and display options. In my opinion, you should always try to have a list of related posts immediately after your post, as it will help increase user engagement and strengthen your readership, and this plugin makes it easy to do exactly that.


6. Subscribe to Comments

In my opinion, WordPress should integrate this feature into the core - it's a simple addition that can have a meaningful impact on reader discussions. Subscribe to Comments adds a checkbox beneath your comment form that if checked will send an e-mail notification each time someone comments on the post. It's especially useful for posts in which the reader expects the author to respond or wants to follow an active/heated discussion.


7. Google Analytics for WordPress

As the name suggests, this plugin by Yoast allows you to add Google Analytics code to your blog. You may be thinking 'well, I can easily do that by editing my theme templates!' and you would be correct. However, you'd have to edit every theme you use with your personalized analytics code and that can be pretty annoying. It makes much more sense to use a plugin that allows you to embed any analytics code on any theme without having to manually change files - this keeps things organized, systematic and efficient.


8. Popularity Contest

Alex King's Popularity Contest is by far the best plugin to determine which posts and pages are popular based on a number of customizable criteria, including views (from multiple sources), comments, pings and trackbacks. It also provides a customizable function to display your popular posts in whatever format you'd like.

You can see the plugin in action in the sidebar to the right, under Popular Articles.


9. Google XML Sitemaps

As I mentioned in a previous post, submitting your XML Sitemap to Google can be crucial in improving the number of pages indexed by the search engine. Unfortunately, WordPress doesn't generate an XML sitemap by default. Thankfully, there are multiple plugins available that take care of this (of which I prefer this one).


10. Akismet

This isn't higher up on the list because this plugin is included by default in every WordPress install. If you haven't used or activated it yet, stop whatever you're doing and make it your first priority to do so. Even on a fairly small blog like this one, Akismet has prevented more than 2000 spammy comments from being posted. It is by far the most useful WordPress plugin, hence it's inclusion with the core package.


Parting Thoughts

Since I use these plugins in just about every WordPress install I do, it would be nice to have a plugin that downloads and installs them in one shot. Does anyone know of a plugin that does this? If not, it seems like it could be very popular, at least in the web design/development circle.

Are there any other plugins you consider essential? Share them in the comments!