I was just reading Steven Snell’s article on DesignMag, a Community for Designers, and thought that he brought up some very good points about working within the WordPress CMS for client projects. I personally rely heavily on WordPress, and in my opinion it’s possibly the best thing since sliced bread.
If you would like to add to this list, please feel free to do so below:
In the right situation WordPress is an excellent CMS to use for client websites. As a designer/developer, it provides flexibility and it’s easy to work with. From the client’s perspective, it’s free and open-source and it gives them control over the content of their own website. However, there are some things that you’ll need to consider when working with WordPress as a CMS for clients. If you have built your own personal sites on WordPress you’re probably used to doing things in certain ways. Clients, on the other hand, may have a different experience and it’s important to consider some things during the process. In this article I’ll discuss some things from my own personal experience, feel free to share your own thoughts in the comments.
1. Take Advantage of WordPress’s Built-In CMS Capabilities
Over the past few years WordPress has consistently improved the experience and ability to use it as a full-fledged CMS, rather than just a blogging platform. The options of having a static front page and the blog posts on a specific page make it possible to use WordPress for a lot of different purposes. Additionally, options like using different page templates can help to make a site that looks less like a typical blog.
2. Talk to the Client About Upgrades Ahead of Time
Part of working with WordPress and using it as a CMS is the inevitability of the need to upgrade. Upgrades either bring new functionality or features, or they fix security holes, so they’re not a bad thing, but from a client perspective they may bring added maintenance to the site. If the client is not comfortable doing the upgrade themselves they’ll have to hire someone to do it for them (maybe you). Upgrading is not that big of an issue and shouldn’t be a deal breaker, but the client should be aware of the need to upgrade periodically before jumping in to the project.
3. Be Prepared to Train the Client on How to Use WordPress
For those of us that spend a lot of time with WordPress of other CMSs, it may seem pretty simple. However, many clients, especially those who are not very tech-savvy, will have no idea what to do without some instruction. For most sites, it won’t require hours of your time, but you will need to spend some time with most clients walking them through the process of editing and adding content. Be sure to account for this when you’re estimating how long the project will take.
4. Find Out Who is Currently Hosting Their Website
This is probably something you would want to find out up front anyway, but it’s more important when you’re dealing with WordPress. Most major hosting companies by now are offering an easy installation of WordPress (such as through Fantastico), but it’s a good idea to make sure that their web host offers this option. If not, you may want to charge a little more for a manual installation of WordPress, or ask them to move to a new hosting company. One option is to become a reseller of a particular host. Then you could get as many clients as possible to use your own hosting and you would be working in a familiar environment most of the time (plus you could make some extra money on the hosting).
5. Minimize Plugins When Possible
One of the best things about being a WordPress user is the excellent community and all of the resources available, including plugins. However, plugins are a potential source of problems when it comes time to upgrade. I’m not suggesting that you use no plugins, but if a client site isn’t upgraded frequently, excessive plugins can lead to extra work. If you stick to plugins that are actively being updated by developers you should be fine. Additionally, if there are other plugins that can accomplish the same thing, you’ll always have some alternatives if a plugin causes problems following an upgrade.
6. Minimize the Use of Custom Fields
Custom fields are a great feature of WordPress and they open up all kinds of possibilities. But in my opinion, many clients get overwhelmed if they need to use custom fields. In many cases it really comes down to what the client wants and needs. For some things you may not be able to accomplish something specific without the use of custom fields.
7. Consider Purchasing a Developer’s License of Premium Themes
Many premium themes offer developer’s licenses that sell for two or three times the cost of a single license. If you do a lot of client work on WordPress, you may want to consider purchasing some of these. It could save you a little bit of money (you could still charge a client the cost of a single license if you have paid for a developer’s license), plus it will allow you to get very familiar with some specific themes. Editing an existing theme can often be faster and more cost effective than building a theme from scratch, and many premium themes include additional functionality from the dashboard.
8. Use Child Themes if Your Customizing Existing Themes for Clients
If you want to make modifications to an existing theme for a client, theme upgrades could be difficult or impossible depending on just how much you change the theme. Child themes can allow you to edit the theme while keeping the upgrade process very simple. Admittedly, this is an area that I need to work on for myself.
A child theme is essentially a CSS-only theme that allows you to modify the look of the theme without hindering the ability to upgrade in the future. If you want to learn more about child themes, see:
Creating WordPress Child Themes
How I Used a WordPress Child Theme to Redesign My Blog the Smart Way
9. Have a Development Blog
If you do much work at all on WordPress, this is probably something that you already have, but still worth mentioning. You’ll want to install WordPress somewhere that will allow you to work on client themes (and test) without the public being able to find it. With a development blog you can keep multiple themes and switch back and forth whenever you want to work on one.
At the start of a project you may prefer to code it in static HTML and CSS before implementing it into WordPress, but there are sometimes going to be slight changes to how things will appear once it’s in WordPress. For this reason, it’s preferable to get into WordPress earlier rather than later to avoid re-doing things.
10. Keep Your Development Blog Updated with Every New Release of WordPress
Updating WordPress is a good practice in any situation, but especially if you’re developing new themes. If you’re developing a theme for a client that will be using a new installation of WordPress, they’ll be using the latest version. The last thing you’re going to want to find out is that something in the theme doesn’t work quite right on the client’s site because your development blog is not up-to-date.
11. Use Different Page Templates
Page templates can be very useful for a few different reasons. First, they allow you to have pages look and function in different ways, rather than everything using the same blog sidebar for example. Also, and equally important, page templates can allow you to “lock down” certain elements of the design that might otherwise be unintentionally altered by the client. Using the WordPress editor makes it easy for clients to accidentally delete something that might have a significant function in the design. By keeping these items as part of the page template you can ensure that nothing important is deleted or changed.
12. Consider Using PSD to WordPress Services
PSD to HTML services are obviously very popular right now, and they can save you some time in development. There are also some, like WP Coder, that specialize in converting PSDs to WordPress themes. In the right situation, this type of service could make your process easier and free up some of your own time.
13. Set the Client Up with a Database Backup Plugin
Most of your clients won’t think about backing up their database, so it can be helpful if you install a database backup plugin and show them how to use it periodically, it could save tons of headaches later.
Questions or Comments?