Follow kevinlearynet on Twitter!

kevinleary.net

10 Perfect Plugins for Building a WordPress CMS

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.


Role Manager Plugin

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.

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

Easy Form Management with WordPress and Contact Form 7Surely 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.

4. WP Super Cache for Faster, High Traffic Website Safety

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.

6. Cleaner Gallery for Semantic WordPress Galleries

With the release of WordPress 2.5 came the gallery manager, an under documented feature with enormous potential. Unfortunately it’s not that customizable and the XHTML generated is hard to work with. If you want to clean it up, or add a few fancy transitions with JavaScript then you’ll want to check out Justin Tadlocks’ Cleaner Gallery plugin. It easily integrates with lightbox popup scripts, and generates more than semantic XHTML code for you to work with on the front end.

7. More Fields for Advanced Custom Fields

More Fields Custom Post Type and Write Panel ExampleAs 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
  • Checkboxes
  • 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.

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.

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.

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.

If your interested in the WordPress CMS work I have done, check out my portfolio.

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

25 Comments

  1. cam / 8.7.09 / 8:02 PM

    really informative and complete. upgrading my wordpress toolkit as we speak

  2. kevinlearynet / 8.7.09 / 8:09 PM

    Glad I could be of help, let me know if you have any suggestions that you use

  3. jay / 8.7.09 / 8:58 PM

    Great list. Do you know if these are all compatible with WP 2.8.3?
    Thanks

  4. jay / 8.7.09 / 9:03 PM

    Forgot to ask…If not compatible with 2.8.3…what version of WP are you using and what's your philosophy on upgrading.

  5. kevinlearynet / 8.7.09 / 9:17 PM

    Hey Jay,

    As far as I know they're all compatable. kevinleary.net is running quite a few of them on 2.8.3 without an issues. That said you may run into some quirks in specific situations. As with most free plugins I wouldn't recommend relying heavily on them for larger commercial sites.

  6. kevinlearynet / 8.7.09 / 9:22 PM

    It all depends on your specific situation really. To be on the safe side I would recommend holding off on the first major upgrade, like the jump from 2.7 to 2.8, and wait for the first few post releases to arrive. I've noticed that typically the major build updates include new features and generally have the most issues. The smaller updates that come after the major ones usually address those issues.

    That said sometimes I can't hold back and I get feature hungry, so I update. I would only do this for my personal site though, never a client site.

  7. jay / 8.7.09 / 9:31 PM

    Thanks.
    Can you use the Contact Forms 7 plugin to create posts and pages, similar to TDO Mini Forms?

    Do you know the TDO Mini Forms plugin? If you do, do you know if by chance there is a compatability issues between it and WP? I'm having a problem where my blog page won't show up anymore. It happen after I added either the Role Manager or TDO Mini Forms plugins. Any advice would be appreciated.

    Thanks again

  8. kevinlearynet / 8.7.09 / 9:35 PM

    I'd de-activate each plugin one by one to isolate the problem. I've heard of TDO, but never had the need to use it. I'm holding out for Gravity Forms which has a much cleaner, less complicated UI.

  9. jay / 8.7.09 / 9:43 PM

    After you deactivate a plugin, do you have to recreate all the work done when you reactivate them?

  10. kevinlearynet / 8.7.09 / 10:21 PM

    Nope, if the plugin has been built right all of the information is stored in a MySQL database, and will be there when you re-activate.

  11. jay / 8.8.09 / 12:33 AM

    Thnsk you very much.

  12. msaari / 8.8.09 / 8:51 AM

    Thanks for mentioning Relevanssi. I'm rather fond of it myself and my own needs were a reason enough to do it, but getting good response from users makes me glad I decided to release it for wider audience.

    It's still in active development, so if you have any suggestions for useful or interesting new features just let me know! I've added several new features from user suggestions.

  13. kevinlearynet / 8.9.09 / 12:44 AM

    Will do, thanks for developing it. I think it has real potential. The only suggested feature I can think of so far would be for the ability to search through comments, or maybe it already does that?

    I didn't see any documentation about it and since I'm using IntenseDebate to handle comments it's hard for me to test on kevinleary.net.

    The ability to search through IntenseDebate comments would be mind bogglingly incredible, but quite difficult I'd assume. Either way keep up the great work and I'll continue to recommend this to pretty much anyone I come across that relies on the WordPress search feature.

  14. msaari / 8.13.09 / 4:26 AM

    Version 1.5 will have comment search. I'll have to take a look at the IntenseDebate comments.

  15. Adeline / 9.23.09 / 12:15 PM

    Thanks for the compilation, will definitely consider alot of those options for my next project.

    Have you ever had to use a WordPress plugin to 'password protect' pages for particular users? If so, I'm interested to know which plugin you've used or would recommend (eg. Page Restrict plugin).

  16. kevinlearynet / 9.24.09 / 2:39 AM

    Hey Adeline,

    You can actually password protect posts in WordPress without using a plugin. Use the publish box to do this (<a href="http://work.kevinleary.net/password-protected.png)” target=”_blank”>http://work.kevinleary.net/password-protected.png)

    If you want more control you could play with the is_user_logged_in() conditional to display content specific to people who are and are NOT logged in. I recently worked on a site where a section needed to be accessible only to logged in users:

    personalphysicians.net

    We used a combination of the is_user_logged_in() conditional and the following plugins: Register Plus, Theme My Login, and Redirect My Login. We were able to create a portal of content available only to those who register on the site.

    Let me know how it goes!

  17. shahzad hassan / 10.9.09 / 6:32 AM

    how i can chose different widget for different pages???
    help

  18. kevinlearynet / 10.9.09 / 1:03 PM

    I would checkout the Widget Logic plugin:

    http://wordpress.org/extend/plugins/widget-logic/

    It will let you run WordPress conditional statements on your sidebar widgets, telling specific widgets to only show for pages, single posts, etc.

  19. Casey / 10.14.09 / 4:16 PM

    Just wanted to say thanks for your great WP articles. I find your posts very easy to read and very informative for the average WP user..and you actually keep up with your comments. Kudos to you!

  20. kevin lary / 11.9.09 / 4:47 PM

    Great collection of plugins. I've been trying to decide whether to do a new version of my website in WordPress (again) or move to something more CMS-like, this collection helped push me back into the WP camp. (a good thing)

    (your name caused me a bit of a start as it's so close to mine. in fact, while growing up, people often misheard and thought my name was yours)

  21. kevinlearynet / 11.9.09 / 5:13 PM

    HAH! Imagine teaming up to work on a project together… I'm sure that would spin some heads.

    I really feel that WordPress is a great choice as a CMS. The only true disadvantage I see is that it tends to be database intensive at times and can be a little on the slow side. However with the right setup and proper coding this can be avoided.

    To put your mind at ease take a quick look at Jean Galea's blog post showcasing WordPress's impressive download numbers:

    http://www.jeangalea.com/wordpress/wordpress-most...

    Knowing that your building a skill you can use into the future is a very important thing, and the numbers show that by choosing WordPress your most definitely doing just that.

  22. matt mcinvale / 12.24.09 / 3:47 PM

    I like cforms, custom field template, and page mash.

  23. Jake / 1.2.10 / 11:16 AM

    Thanks Matt for pointing out cforms, love it and it appears much stronger and more CMS suitable then the other contact form plugin mentioned above.

    Couldn’t find it on wordpress.org, but can be downloaded directly here: http://deliciousdays.com/cforms-plugin

  24. kevinlearynet / 1.3.10 / 2:43 AM

    I'll have to check it out, I've heard of it but never actually used it. Hopefully I can post a follow up on it, or add it to the article above.

    Thanks Matt & Jake

  25. 10 Perfect Plugins for Building a WordPress CMS | kevinleary.net | WordPress News / 1.14.10 / 4:07 AM

    [...] Read this article: 10 Perfect Plugins for Building a WordPress CMS | kevinleary.net [...]

Leave a comment

will not be published

Wrap code blocks with <pre lang="LANGUAGE" line="1"> and </pre> where LANGUAGE is a GeSHi supported language syntax.