Tips for Managing Multiple Websites for Multiple Clients
If you’re running a WordPress business, you’ll probably be managing a number of websites for more than one client.
I host a bunch of websites for a wide variety of clients, from single page sites establishing the presence of a business that doesn’t need to market itself online (yes, those genuinely exist) to large e-commerce sites and active blogs. The sites I manage include those that I’ve created from scratch for my clients using bespoke themes and others that they create themselves on Multisite. No two of my clients are the same and no two of their websites are the same, but I’ve found ways to manage those sites consistently and keep things efficient.
In this post, I’ll share some of my tips for managing multiple sites for multiple clients. Some of these I’ve learned the hard way, but as time’s gone on, I’ve learned to plan in more detail before embarking on a new WordPress development project and to plan for more than one site at a time.
The tips I’m going to give you will help you with a few things:
- Adopting the Don’t Repeat Yourself (DRY) principle to avoid duplication between clients and sites.
- Ensuring all of your clients’ sites are up to date, secure, backed up and performing well.
- Communicating with your clients and answering their questions.
- Finding ways to be as efficient as possible.
Let’s start at the beginning – with how to approach coding a new site.
Efficient Code with Framework Themes and Starter Themes
When I started building client sites, I would code a new theme for each new project. After the first two, I realized there was a lot of common code, so I decided to adopt a more efficient way of working.
I took some time out and built myself a WordPress theme framework with the core features that my client sites would need.
At first, this was basic, with a few theme template files (index, single, page, archive, header, footer and sidebar), some basic markup and very minimal styling for layout.
Over time I’ve developed this theme, and I’ve also developed starter child themes to work with it. These include more styling and template files which can be edited or removed as necessary. In fact, my starter themes are actually bigger than the framework theme that I use as their parent. My process is to delete all the code in the starter theme that I don’t need.
My framework now includes:
- Styling for layout – including media queries that I can easily edit in the starter themes.
- Object-oriented CSS that lets me quickly create elements that are half, a third or a quarter of the width of the page with alignment built-in, as well as elements like highlights and buttons.
- Ten action hooks that I use for inserting widget areas, slideshows, banner images, content before and after the post content and lots more.
- Filters on just about everything that’s filterable.
This gives me a minimal but highly flexible and extensible parent theme that I use as the foundation for all new projects. Because I built it myself from the ground up, I know it intimately, so I can use the hooks and CSS classes in it without having to look them up. It makes my coding much, much more efficient – it has even allowed me to create simple sites in as little as three hours.
You may not have the time or the skills to create your own framework theme, which isn’t a problem.
Alternatively, choose from one of the many quality framework themes available for WordPress, some of which are free and others premium. If you do go down that route, I recommend taking the time to work out which one is right for you and to learn it thoroughly, so your coding can be as efficient and clean as possible.
If you’re creating multiple sites, using a framework is something I would highly recommend.
The Grandaddy of Tools for Managing Multiple Sites – WordPress Multi-Site
Using a theme framework to make your development more efficient is great, but if you combine it with WordPress Multisite than you can take things a step further.
With Multisite, you only need to keep your theme framework on one WordPress installation, and then you’ll upload each of your child themes to that installation.
It also lets you keep your plugins in one place and have just one installation to keep up to date and manage regularly.
I host almost all of my client sites on one WordPress Multisite network. They’re all built using a child theme of the same framework and they all have a number of plugins in common. This means that I only have to keep my framework theme and my plugins updated in one place, which saves me a lot of time.
A word of warning, however: when you update a plugin or theme, it may cause problems on one of the sites it’s activated on but not on another. Test every site that is using the plugins or theme that is being updated. For this reason, I keep a local copy of my Multisite network and I test all updates and changes there first. Only when I know that anything new won’t adversely affect any of the sites on my network do I push changes.
If you’re planning on doing this, take a look at our guide to hosting client sites with Multisite and to the plugins that can help you administer your Multisite network.
Choosing and Using the Best Plugins
Whether you’re using a theme framework and/or WordPress Multisite, you’ll find that you need to install a number of plugins on your client sites.
Some of these will add functionality and will only be activated on one or two sites. But others will be common to all of the sites you manage.
When I first started out, I had a site launch checklist that included a list of the plugins I would install on every single client site. This included plugins for performance, SEO, security and backups.
The problem was I had to remember to install all of those plugins, and – even worse – that every time an update was released, I had to be sure to run it on every single site. I now use Multisite to make this easier. But even if you don’t use Multisite, it makes sense to identify a list of core plugins you’re familiar with, that you trust and that you use on all of your sites.
It’s also important to ensure all of those plugins work well together. That’s why I use WPMU DEV plugins as the core plugins on all of my sites – because they’re designed to interact smoothly with each other and are tested together. Plus, with Automate and safe upgrade, even if I am not hosting on Multisite all my plugins and themes are backed up and updated automatically and I can run all of my updates from the Hub. No more jumping from site to site.
I also have a range of plugins I’ve developed myself, such as enhanced post listing plugins, navigation plugins, a burger menu plugin and a plugin for responsive slideshows and calendars. I use these again and again on my client sites and it saves a lot of rework.
Here are the types of plugins you’ll find that you need to install on every client site:
- A security plugin such as our Defender.
- A backup plugin like Snapshot Pro.
- An SEO plugin like our SmartCrawl.
- A performance plugin such as Hummingbird.
- Plugins for social media sharing and links such as Social Marketing, Floating Social or the plugins provided by the social media platforms themselves.
- Plugins for enhanced images including galleries and carousels and image optimization plugins like our WP Smush Pro.
Using a Support System to Communicate with Clients
So far we’ve looked at tips to help make your site creation and management more efficient. But what about that other essential aspect of running client sites – communication with the clients themselves?
From time to time your clients will need to contact you to ask questions or raise issues.
Support can be handled many ways:
- Direct support via the phone or Skype. This has the benefit of being personal but will take up a lot of time and means you don’t have a record of what you’ve discussed. It’s also difficult if your clients aren’t in the same time zone as you. I have clients all over the world and while we do occasionally use Skype, most of the time we communicate using email or a support system.
- Email. This is the most popular approach and it suits most clients as they’ll always have an email account. But as your client list grows your inbox will swell, and it’ll make it harder to track support requests – especially those you pass to other members of your team.
- A third-party support system. You can use a project management system or a system designed specifically for managing support. The downside is this can get very expensive and will require your clients to go online and log into something they’re not familiar with. You’ll probably find plenty of them defaulting to email.
- A support system in the admin panel. This is the approach I use. Especially when the client has a large team or the site was created by the client using Multisite resulting in a less direct relationship. The Support System plugin lets you add support screens to the site admin, as well as to the front end of your main site in a Multisite network. It’s great for clients using the admin screens frequently, but not for clients who don’t manage their own sites – they’ll prefer email. I have one client whose staff includes a mix of the two – technical staff use the support system to contact me, while the account manager uses email.
Whichever approach you use, the key requirement will be the same – make it easy for your clients to contact you, and answer their questions and concerns quickly. Build trust and develop the relationship. If your service is impeccable, your clients will tell their friends and contacts and you’ll start getting word of mouth business.
Take the Time to Plan How You’ll Create and Manage Client Sites
With free, affordable and powerful resources like WPMU DEV available, developing and hosting WordPress sites opens a ton of opportunities for making a living. There are millions of people that need a site and most of them don’t have the time or skill to do it themselves.
Learn to create and manage sites and you can build your own scalable service that makes your clients happy.
WIN a Share of $5K
Subscribe to our blog this #hostingmonth for a chance to win one of 5 prizes of $1,000 WPMU Dev credit! Learn More.