WordPress turned nine this year. According to Matt Mullenweg, a lead developer for WordPress, the open-source content management system (CMS) has been downloaded 145 million times (video). And a survey by W3Techs, which surveys and reports on technology usage, states that WordPress now accounts for more than half of all websites using a CMS, and nearly 17% of all websites of any kind.
WordPress didn't achieve such penetration by being a barebones CMS; out of the box, it offers a bevy of features that makes it ideal for authors, vendors, media producers and more. The addition of Retina support in WordPress 3.5, coming December 5, demonstrates that the developers are determined to keep their software up-to-date and versatile.
But every user has individual needs that WordPress can't necessarily anticipate. That's why an active community of supporters and developers has produced more than 20,000 plugins. From modifying the core behavior to adding additional tools for administrators or readers, a wide range of problems has been encountered and solved through the use of third-party plugins, which are easy to install from the WordPress dashboard.
Inevitably, plugins change -- developers move on to other projects and functionality evolves to make old plugins obsolete. Among those I reviewed three years ago, a few remain relevant and supported -- most notably, Akismet for dealing with spam, All In One SEO Pack for improving your search engine optimization, NextGen Gallery for photo management and display and WP Greet Box for engaging new visitors to your site.
My list of essential plugins now includes not just those four, but also the following ten. Whatever the purpose of your site, these plugins will ensure a rich and trouble-free experience for you and your users.
WordPress has blossomed from its original role as a blogging platform into a full-featured content management system, able to host a variety of content types. If you want to serve audio and video podcasts, your best bet is the Blubrry PowerPress podcasting plugin.
Blubrry PowerPressClick to view larger image.
PowerPress' configuration features plenty of options, each clearly documented. You can create a single podcast for an entire site or on a per-category basis, allowing multiple podcasts per domain. PowerPress feeds are compatible with iTunes and can be submitted to Apple's podcast directory. And publishing an episode is as easy as adding a filename to the associated blog post -- if there is something wrong with your file, such as the sampling rate, PowerPress will tell you. The resulting podcast can be streamed (using one of several players, including HTML5), downloaded or embedded as the producer sees fit.
PowerPress is free; there is a premium service that adds a number of reporting features for $5/month or $50/year.
Best of all, PowerPress is developed by Blubrry, which offers free statistics about your media. Finally, you can know just how many listeners or viewers you have.
There are free WordPress add-ons -- such as Jetpack, which is also reviewed in this roundup -- that can help you create simple forms that feature text fields, checkboxes, radio buttons, etc. For a more powerful take on this functionality, try Gravity Forms, a commercial plugin.
Gravity FormsClick to view larger image.
Gravity Forms has all the basic form-building features and then some, including conditional fields, anti-spam CAPTCHAs and honeypots, and the ability to store data directly into WordPress's post database. With Gravity Forms, it's possible to create forms for event calendar submission, event registration or WordPress post entry -- the latter being especially useful if you're an editor who wants to protect your authors from the WordPress dashboard.
A license to use Gravity Forms on a single site is a reasonable $39/year; pricier tiers come with additional sites and functionality (such as PayPal and MailChimp integration). The plugin doesn't cease functioning at the end of the year, but updates and support become unavailable. Since security flaws or WordPress updates can break a plugin, it's risky to let a Gravity Forms license expire, so users are best off renewing.
Jetpack is an official product of Automattic, the company behind WordPress.com. Designed to give self-hosted WordPress users those features otherwise exclusive to the WordPress.com hosting service, Jetpack's functionality is not limited to a single feature. Instead, it currently offers 13 different tools, each of which can be enabled or disabled.
JetpackClick to view larger image.
A few features are must-have, warranting installing the entire Jetpack package: crafting and embedding "contact us" and other custom forms, letting readers subscribe to receive notification of new comments and posts, site traffic analytics, and improved integration and sharing with Facebook and Twitter.
Some features are conveniences. For example, for bloggers who don't want to copy and paste embed code from external sites, Jetpack automates the embedding of media from YouTube, Slideshare.net, Google Maps and more, simply by pasting the URL to the original media.
And some functions are extremely focused: Bloggers who need to post complex mathematical equations can use the LaTeX markup language, courtesy Jetpack.
Jetpack itself is free; according to the website, some individual features may require payment in the future. Whether you need one feature or all 13 (and there are more presently labeled only as "Coming soon"), Jetpack has become an essential component of any WordPress installation.
WordPress 3.0 added custom navigational menus that can be dragged and dropped into various themes -- but only if the theme is designed to support that feature. Otherwise, you may be stuck with a long and confusing list of links in your navbar.
JQuery Accordion Menu WidgetClick to view larger image.
Regardless of your theme, JQuery Accordion Menu Widget turns your menus into hierarchical, collapsible widgets. Just drag any page, post, category or custom link into your menu; sort it into parents and children; and the Accordion Menu will present it in a compact, organized fashion, turning an unruly mess into a neat navigation. The free plugin comes with several skins (themes), and anyone with a basic knowledge of CSS can craft their own.
Link rot is inevitable. Content can get taken down or moved, URLs change or disappear. One of the most unfriendly first impressions a visitor to your site can have is the dreaded "404: File not found" error message.
RedirectionClick to view larger image.
The free Redirection plugin handles these situations and more. It can automatically monitor changing URLs and create a 301 redirect, which Web browsers and Google understand to mean the old content has a new home. Redirects can also be imported from an existing .htaccess or CSV file, and manually defined using regular expressions (regex), which can redirect countless content requests with just a single formula. Exhaustive logs detail every time one of these redirections is invoked.
A neat bonus feature: Redirection can create an RSS feed of your 404s. By monitoring this feed, webmasters can track what pages users are looking for and not finding, and can then create redirects for the most common requests. Have multiple sites? Create a Yahoo Pipe that combines all your Redirection 404 feeds into one easy-to-monitor feed.
WordPress stores wiki-like revisions of your posts, tracking every edit and storing each version as a separate entry in the database. This feature can cause database bloat and offers little in return if you don't refer to your revisions (or are doing your editing in a different tool entirely). You can edit the wp-config.php file to limit or disable revisions globally -- but sometimes you need more control than that.
Revision ControlClick to view larger image.
Revision Control provides that granularity, allowing you to decide how revisions work on a per-post basis. Each post can have revisions disabled or be set to store only a specified number of the latest revisions. Specific revisions can be deleted, or pairs can be compared more easily than WordPress's default behavior allows. The plugin is free.
I run a blog where half the content is my own and the other half contributed. I use Revision Control to disable the history of posts I write and retain them on posts I edit -- a handy CYA policy.
It's hard to tell your audience about all your social media presences without sending them somewhere like about.me -- and that's yet another site to point your readers to. If they're already on your WordPress site, why not display your network connections right there?
Social Media WidgetClick to view larger image.
Social Media Widget does this task for you. Just input your username for the social networks it knows -- it directly supports about 50 services, including such sites as Facebook, Twitter, Etsy and Pandora -- and it'll add the icon to a widget you can place in your navbar. You can use one of five different icon themes in three sizes each; there's also support for up to six custom links (such as to Goodreads or Clippings.me, neither of which is included with the default icons).
Social Media Widget is free; donations are requested if you like the plugin.
W3 Total CacheClick to view larger image.
To minimize your site's consumption of those resources, use the free W3 Total Cache plugin. WordPress dynamically generates the pages that users see by querying its MySQL database. W3 takes the most common queries and stores them as static HTML files.
W3 offers dozens of complex settings, some of which can conflict with other plugins. It takes time to read the FAQ and experiment with the options. Once you have a working configuration, you can easily export your settings and deploy them to other W3-enabled sites.
Even if you think your site doesn't gets enough traffic to warrant the trouble of caching, a small improvement can be worth it -- if not for users, then at least for the admins who are constantly on the site.
Old-school Web design used HTML tables to put everything into tidy blocks of content. CSS may be more stylish, but tables are still valuable for presenting reams of data.
WP-Table ReloadedClick to view larger image.
Enter WP-Table Reloaded. Just upload your CSV, HTML or XML file, or use the WordPress dashboard to create an original table of values, names, dates or any other information. The table can then be embedded in any WordPress post or page using a simple shortcode, such as [table id=1]. The results can be paginated, searched, sorted, downloaded and cached, with default sort orders, filters and hidden columns or rows. WP-Table Reloaded uses the DataTables jQuery library, making it extensible so it can to handle unique scenarios or add further features.
The free plugin's only downside is a significant one: WP-Table Reloaded stores its tables in a way that isn't meant to handle a great amount of data. Go over 20K -- a limit you'll hit quickly if your tables contain HTML -- and data can start becoming uneditable or corrupt. When dealing with large tables, keep backups of your MySQL database -- or start investigating third-party alternatives for embeddable tables, such as Zoho Creator, Socrata's OpenData or Microsoft's SkyDrive, which lets you upload, edit and embed Excel spreadsheets.
The percentage of website traffic from mobile devices is growing steadily, having broken into the double digits for the first time this spring, according to StatCounter. This trend makes it difficult for a webmaster to anticipate the environment in which content will be viewed.
WPtouchClick to view larger image.
One way is to use (or create) a theme with a responsive design that will reflow to accommodate the dimensions of the user's browser. But such themes can be expensive to create and have their drawbacks.
WPtouch creates a mobile-friendly version of your site. Specific content, menus and navigation can be enabled or disabled based on your site's specific needs. Inline documentation explains each setting, making it easy to streamline your site.
Shopp: An add-on for e-commerce
Of the several I've used, my preference is Shopp. It's not free, but at $55 for a single site (multiple sites will run you $299), the entry barrier is low. Shopp keeps its base price affordable by spinning out additional features into separate add-ons, such as additional payment gateways or shipping calculators for specific carriers.