Every new client job you start working with will have its own set of challenges for you to work around, but by developing a streamlined process that you an apply to new clients its makes both parties live’s easier. Recently I put forward the case for using WordPress as the main CMS in your web development business – today I wanted to expand on that post and go into some specifics and some useful plugins you can use to make your life easier and the development process easier.

1. Planning & Client Liason

First of all you need to decide if WordPress is indeed the correct method for building the client’s required site – take a note of all their required functionality and check that it can be done natively with WordPress – check the Codex for functions required, think about using Custom post types & taxonomies. Find out if there are plugins to cover what you need and if they are free or commercial as you will need to build this into your quote.

At this stage you will want to determine what the site structure will be – you can plan this out with flow chart / wireframing software such as Gliffy:

2. Theme Development

Once you have a wireframe of the site structure and your designs have been signed off you can begin the actual site build. I went into my theme development process in detail in this post, and also posted a big theme development tool kit.

To make this process easier you will want to either build your own blank theme / framework which you can re-use parts of instead of starting from scratch each time or you could choose one of the many frameworks already out there. This is the structure of how most of my themes start out :

Take a look at this post for a roundup of blank themes and frameworks you can use as a starting point :

Whether you use one of these or create your own is personal preference – I prefer to have full control over my framework so create my own.

3. Essential Plugins

Along with your blank starter theme, you will want to have a collection of “go-to” plugins that will cover most additional functionality required. Here are a few that I consider to be essential for most sites.

Anti-Spam

Akismet is a great anti-spam plugin that ships with WordPress by default – you will want to make sure you are signed up for an API key which you can just drop into client installs. I find it catches most spam so should be fine unless your client has an extrememly popular site, in which case you can look at more aggressive anti-spam solutions.

Download Akismet »

SEO

WordPress SEO is pretty good out of the box but to make the most of it you will need a dedicated plugin – dont bother building anything for this into the theme as a plugin will do it better. There is All in One SEO and Yoast’s SEO Plugin, we did a head to head and came to the conclusion that Yoast’s wins out. Its what I use here on WPLift and all my other WP sites.

Download Yoast SEO »

Contact Form

The plugin I use for a basic contact form is Contact Form 7, its really easy to set up and get working for multiple forms and there is a captcha add-on for it. See this guide I did to installign it.

Download Contact Form 7 »

Gravity Forms

If you need more advanced forms on the site, then Gravity Forms is the market leader – you should be able to achieve most things with this plugin. Some of the features include : Multi-Page forms, Conditional Logic, Advanced Customisation, File Uploads and there is a big range of add-ons for third party integration such as Mailchimp, Freshbooks, Aweber, PayPal etc.

Download Gravity Forms »

Advanced Custom Fields

Advanced Custom Fields (ACF) is a brilliant and powerfull plugin for adding custom items to the WordPress edit screen. If your client needs to enter info outside the normal title and post text you can create a field for it and add a new input box, check boxes, date pickers etc

Download Advanced Custom Fields »

Google Maps

If you need to add a customisable map to the site, an easy to use one is Comprehensive Google Map Plugin which allows you to place a widget or shortcode to show the map. You can customise the map by adding markers, directions, tool tips and street view.

Download Google Map Plugin »

Cache Plugin

Some sort of caching plugin is recommended just to speed up the site, these are becoming more important as Google and other search engines begin to use site speed in their ranking algorythms. The two main options are W3 Total Cache and Super Cache. Both will do a good job and provide static HTML versions of your site, W3 Total Cache is a little more advanced, see our guide to installing it here.

Download W3 Total Cache »

Custom Plugins

You can also write your own plugins for functionality you seem to duplicate from site to site – its better to use a functionality plugin than over-loading the theme functions.php file as if the client changes themes down the road they wont lose any functionality and you wont find yourself copy and pasting from file to file.

4. Managing User Roles

WordPress has a number of user roles built-in by default:

Super Admin – Someone with access to the blog network administration features controlling the entire network

Administrator – Somebody who has access to all the administration features

Editor – Somebody who can publish and manage posts and pages as well as manage other users’ posts, etc.

Author – Somebody who can publish and manage their own posts

Contributor – Somebody who can write and manage their posts but not publish them

Subscriber – Somebody who can only manage their profile

Depending on the client’s level of experience and technical ability you will want to choose which role to assign them. Typically you will choose “Editor” as this will give them full control over their content and any other author’s content but will restrict them from altering the site theme or plugins and will hide those options from them completely.

Sometimes though you will want finer control over a user role for example, giving them the ability to change site widgets or any number of other actions. This is where the free Members Plugin comes in. This plugin allows you to create new roles with any number of permissions so you have full control over what the users can and cant do on the site.

Download Members Plugin »

5. Testing & Content Examples

Before handing the site over to your client you will want to do some final testing – The two essential tools at this stage are the Theme Unit Test and the Theme-Check plugin.

The Theme Unit Test is a set of data which you can import into your WordPress site and will populate it with dummy content which will cover most eventualities such as posts with no titles, lots of tags, lots of comments, images, galleries and so on – this is important because you dont have control over the content once your client is in charge of it so will want to make sure the theme doesn’t break.

Download Theme Unit Test »

You should also install the Theme-Check plugin which will check you are not using any deprecated functions and your theme uses WordPress best practices. This is important so the theme will not break in future core updates and will be compatible with the widest possible range third party plugins.

Download Theme-Check Plugin »

Once you have tested the theme thoroughly, delete any test data and if required you can add in any client-supplied content as agreed. If the client is going to populate the site themselves then its a good idea to put in some dummy content of your own which is relevant to them so they can see how it is added and how it will look on the front end. You can make use of Lorem Ipsum text and add in featured images / post thumbnails so the site looks close to the finished article. People tend to panic a bit when they see a completely blank WordPress installation as it will not typically look like the agreed mockups.

6. Training & Handoff

Depending on how familiar your client is with WordPress, typically, there will be some form of training required at this stage.

On-Site Training

If the client’s budget / geographic location will allow you to visit and show them first-hand how to use it then this really is the best way to get them up to speed. WordPress generally is pretty easy to get to grips with and will need to show them any extra functionality you added which is specific to their site.

Video

If a site isn’t possible then videos are probably the next bext thing. There are a number of WordPress training videos available online which cover the basics. You can also record your own screen casts using software like CamStudio which is completely free.

Download CamStudio »

Text Documentation

Finally you could create some documentation with text and images which some people would prefer – it seems like quite a daunting process but its not too bad. I’ve written lots of how-tos for WPLift posts and documentation for my themes on ThemeFurnace and it shouldnt take you more than an hour or two to document the main features of the site. You could package this up as a PDF file or do what I do and deliver it as HTML:

7. Managing Multiple WP Sites

Finally, if you are using WordPress as your main CMS for clients you are going to end up with lots of installations scattered about which need maintaining. As soon as a WordPress update is released you will need to upgrade as not doing so poses a security risk and your client will likely hold you responsible if their content is lost or they are blocked from Google because of Malware etc.

Multi Site

There are a couple of ways to manage all your WP sites from one place, the first is to use the built-in WordPress Multi-Site feature to set up a network. This will let you host one set of WordPress core files and login into them all from one place – all sites will also share the same set of plugin files etc. With this method you will also need to use the WordPress MU Domain mapping plugin so each client can use their own domain name.

Manage WP

Another more advanced way to achieve this is to use the Manage WP service:

ManageWP aims to be the only quintessential management dashboard that users will ever need to take back control of all their WordPress sites, through it’s powerful Manage, Monitor, Backup, Deploy, Publish, and Secure features.

Manage WP provides a control panel to control unlimited WordPress websites from one location so you can update WordPress, plugins, create backups, see stats, publish posts and pages and loads more features.

Signup for Manage WP »

Conclusion

WordPress is easy to work with and as it matures it’s becoming more and more powerful as it moves from a blogging tool to a fully fledged Content Management System – there is not many types of website you cant build with WP nowdays.

Hopefully that has given you a few ideas and resources to help streamline your WordPress development system for clients. If you have any tips or tools that you use regularly, please share them in the comments.