WordPress is well known for it’s blogging capabilities, and it’s not too uncommon to here of it being used as a CMS. In order to create a truly powerful CMS you need certain features that the standard WordPress install just doesn’t have. Queue WordPress plugins. Plugins allow for capabilities beyond your wildest dreams to be setup in a heartbeat. Well, maybe it’s not quite that easy… but it is easy.
I’ve been recommending WordPress as a CMS for 2 years now, and truly feel that it can handle any situation well if used right. Here are some of the plugins I frequently find looming about in my plugins directories, and a few words about why they’ve landed themselves a spot on the list.
1. Role Manager for User Permissions Management
One thing that’s tough about WordPress is that it has a limited number of user roles, there’s really no way to customize the permissions each user account has. Add the Role Manager plugin to your install and you’ve solved the issue. The role manager allows you to easily remove or add certain privileges to specific users. I find this especially useful when handing of a finalized install to a client that is less technical. I will often remove powerful, and often dangerous, settings for them to help keep them safe from their own mistakes. Sometimes these settings are related to advanced plugins (think Search and Replace) or something minor that could throw off the site, like managing permalinks. Whatever the scenario, this one can be a powerful CMS tool for sure.
Update – I would suggest also checking out the Members Plugin by Justin Tadlock. It’s a well-supported plugin that may be a better option for your next project.
2. Relevanssi for a More Relevant Site Search
WordPress has a built in search, but it’s not so great. Your search results are organized chronologically, meaning that the most recent thing will be listed at the top of the search, even if it doesn’t match the term any better than the next. This is not good to say the least.
Steve Krug repeatedly emphasized the importance of having a relevant and simple site wide search in place on any decent sized website in historic web design book, Don’t Make Me Think.
Some people (search-dominant users), will almost always look for a search box as they enter a site. These may be the same people who look for the nearest clerk as soon as they enter a store. -UX Booth
This small little gem developed by Mikko Saari, the Relevanssi plugin improves the WordPress search by sorting search results by relevance, so the best results are first. As a nice bonus relevanssi will highlight the search terms in the results for me, and I can customize the CSS used in the plugin settings. All in all a great little plugin I highly recommend for any WordPress install, CMS or not.
3. Contact Form 7 for Custom Form Templating
Surely this is one you MUST have heard of this one by now, but I just have to mention it anyways. Right now this is my #1 choice for managing forms in WordPress because it allows me to customize the XHTML used in my forms making it simple and easy to style web standards based, re-usable forms throughout a site. The forms have inline AJAX error messages conveniently placed next to each form field instead of bunched together at the top. Multiple form management is easy, and you can create as many unique forms as you want. Creating HTML email templates is simple, giving you full control over the design of the email messages that are sent out when a form is submitted. The Get Started and Contact forms on kevinleary.net are powered by this plugin, and I don’t picture that changing anytime soon.
Update – I now use Gravity Forms for all of my form related setups in WordPress. It does cost money, but I think you’ll find that it’s well worth the investment. To learn more I would suggest reading this review at BloggingPro.com.
4. WP Super Cache for Faster, High Traffic Websites
WordPress stores all of it’s content in a MySQL database, and each time you load a page that content needs to be loaded from a database and displayed on a then screen using PHP. When you have a lot of content, and many people viewing the same content at once this process can be hard on your web server. As a solution you can cache these database calls with PHP bypassing the database queries. This means the WP Super Cache plugin will create faster WordPress load times and less likelyhood of a website crash. If you have a high volume WordPress site this plugin is essential.
If you run a high volume, heavily trafficked site and want to optimize thing even further I would recommend checking out High Performance Web Sites by Steve Souders. The book is aimed at front end coders and engineers, so if you’re a project manager without a strong technically background this one may not be for you.
5. Scissors for Image Cropping, Resizing and Rotating
Scissors is essential for websites with many images or galleries. It turns the photo uploader into a online photo editing tool, allowing users to crop, resize, rotate and optimize images after they’re uploaded. This is wonderful in so many ways.
Update – Scissor’s is still a great plugin, but WordPress has built-in cropping capabilities now so I no longer suggest using it. Learn more about the WordPress Image Editor here.
6. Cleaner Gallery for Semantic WordPress Galleries
Update – NextGen Gallery is also a great option, and provides a better interface than the built-in WordPress galleries allowing you to manage photo galleries and albums.
7. More Fields for Advanced Custom Fields
As Jeff Johnson mentions time and again in his influential UI book, GUI Bloopers, you must be sure to use the right control for the task at hand. Simple put, a standard WYSIWYG is not always the right tool.Don’t be fooled by the goofy cover, this on is a GEM for anyone interested in human computer interaction do’s and dont’s.
With the More Fields plugin you can add or remove fields to your Posts and/or Pages editor and group them together in a custom write panel. You can even create your own custom post types with specific write panels in place, making the management of various page types simple and intuitive for CMS users. In these write panels you can create various form elements:
- Single line text boxes
- Multi-line textareas
- WYSIWYG editors
- Radio buttons
- Selectable file list that will let you choose from the files uploaded by the WYSIWYG editor for that specific page or post
Once you have your form elements in place you can collect the data from each and use it in your website.
Update – Custom Field Template seems to be a better option for reliability. More Fields has had numerous show-stopping bugs since I originally wrote this. I current, as of November 2010, would recommend using the CFT plugin instead.
8. My Page Order for Navigation Management
In almost every WordPress CMS I’ve seen there is a need to re-order the pages, and it’s difficult to do this with WordPress. The My Page Order plugin makes this process quick and easy by adding a drag and drop interface to manage pages. Once you install the plugin you can manage your pages under Pages > My Page Order.
Update – A new built-in menu system has been included in the release of WordPress 3.0. I would suggest using this in place of using My Page Order.
9. All in One SEO for Automatic Title Tags and Easy Meta Descriptions
If you know anything about WordPress, this one is something you’ve likely seen, used or heard about. It’s an absolute essential for automated SEO. With the All in One SEO plugin you can control all the META information for your blog. This includes title tags, descriptions, keywords and anything else that relates to search engines. It will keep your websites addresses easy to read, and easy for your visitors to remember. This also benefits SEO as well. All of your blog post title’s will automatically be placed in the <title> tag, and if you choose to override them you can using an “All in One SEO” write panel on each post and page.
10. Redirection or Page Links To for Page Redirect
Sometimes you’ll need a page to redirect to another. A good example would be if a Case Studies linked to the first Case Study (probably a child page) instead of an overview page. To handle this scenario I would recommend the Page Links To plugin. It will add a write panel below each page and post allowing you to specify a URL that the page should link to.
One often overlooked aspect of web design is the handling of errors. I know I’m not alone when I say that I hate hitting a big fat error during a process online. How you handle that situation on the web can make or break a user experience. No one explains this better than 37signals in their book Defensive Design for the Web:
Let’s admit it: Things will go wrong online. No matter how carefully you design your app, no matter how much testing you do, customers will still encounter problems. So how do you handle these inevitable breakdowns? With defensive design.
If you’ve never heard of defensive design, and your at all part of the decisions making process on a web team, I would HIGHLY recommend checking it out or at the very least breezing through it on your next trip to B&N.
Often people choose WordPress as a CMS for SEO reasons. The easy to remember URL structure and easy management of title and description tags make it a very desirable option. Like most projects, an existing site is setup that has it’s own set of unique page URL’s, and it’s important to direct those to the new corresponding URL’s. For example, let’s say that a site’s about page url is www.mysite.com/page?=5. When the site is rebuilt with WordPress the URL would likely look something like www.mysite.com/about/. Now what if someone had bookmarked the old URL? What if another site is linking to that URL? We want to make sure that they don’t reach the dreaded 404 error page. The Redirection plugin helps us easily manage these redirects (also called 301‘s) through WordPress to ensure that our websites loyal users and referrers aren’t left behind when the redesign is complete.
Update – A new built-in menu system has been included in the release of WordPress 3.0. I would suggest using this in place of using Page Links To.
Speak Your Mind
Like a reeses’, there’s no one way to do something with WordPress. What plugins have used for certain situations? Have an suggestions? I’d love to hear them.