How I Use WordPress Multisite to Host Client Sites
How I Use WordPress Multisite to Host Client Sites
For the past two years, I’ve been running almost all of my client sites on a single Multisite network and I haven’t looked back.
Keeping sites up-to-date takes a fraction of the time, I only have one backup schedule to manage, and if I ever need to move my sites, I know it will take a lot less time than it did before when I was running multiple single WordPress installs.
So how do I make it work and could it work for you?
In this post, I’ll explain why and how I moved to hosting most of my client sites on WordPress Multisite. I’ll also run through some of the criteria for doing this successfully, and the things you need to take into account before taking the plunge. Then I’ll work through the techniques and tricks you’ll need to use if you’re going to successfully host client sites on Multisite yourself.
How and Why I Came to Use Multisite for Client Hosting
Like plenty of WordPress developers, I started out by creating simple sites for small businesses – what some people call brochureware. These were all straightforward sites with half a dozen static pages or so, a custom theme, some plugins and maybe a blog (although most of my clients didn’t update these if they had one).
I’d been advised that I needed reseller web hosting, so I bought a reseller package, and passed the cost on to my clients, with regular charges for hosting and site management, including updates and testing.
Over time, I worked to streamline the way I worked, adopting the Don’t Repeat Yourself (DRY) principle. For me, this consisted of:
- Developing my own theme framework for use as a parent theme on every client site, meaning I didn’t have to start coding from scratch for each new project.
- Pulling together a list of essential plugins which I installed on every client site, including plugins for backing up, performance and SEO.
This made my life a bit easier, but it also meant that every time I created a new client site, I’d have to install WordPress, upload that parent theme and install the plugins from my checklist.
But because I was providing reseller hosting to my clients, there was no way around this: every site had to be on its own hosting package.
However, I soon came to realise that not one of my clients ever accessed their hosting. Although I’d sent them instructions on using cPanel, configuring email accounts etc. when their sites were launched, every time one of them needed to do some hosting configuration, they got me to do it for them.
Which meant I was paying for reseller hosting, creating (and updating) all of those WordPress installations, without my clients actually getting the benefit.
But I was forced to change my approach when my hosting company’s server was hacked…
I’m sure it’s happened to all of us. Just over two years ago, I started noticing some strange behaviour on one of the sites I was hosting. Occasionally when I launched the site, the browser would redirect to a dating site. This didn’t happen every time and only happened to one site, which was a personal project. In fact, I couldn’t replicate the behaviour when I tried to so I assumed it was a one-off glitch and didn’t worry too much.
Then a couple of days later I got a call from a client. A primary school. Visitors to their website were being redirected to the same dating site. Obviously, given the nature of their site, they weren’t happy. I shut the site down immediately at their request and got straight onto my hosting company.
Unfortunately my hosting company, even after performing multiple scans of their server and my sites, were unable to identify the problem. So I talked to another company, who quickly worked out the problem quickly from my description: a server hack. Of course, I switched to them.
Moving All Those Websites Was a Major Hassle
Which meant that I had to move all of my clients’ websites from one host to another. My new hosting company did offer to help, but I decided to review the way I was hosting those sites. If I ever had to move my client sites again, I only wanted to do it once.
So I did two things. I moved the remainder of my clients to Google apps for their email instead of hosting emails with their website (many of them were already doing this), and I moved all of the sites into a new WordPress Multisite installation.
This took me a whole weekend – somehow these things always happen at the weekend!
The best thing? I only had to install my key plugins and my theme framework once.
The worst thing? Just imagine transferring all of those database tables into a Multisite network. It’s possible, but it isn’t easy.
Is Multisite an Option for Your Client Site Hosting?
I think that using Multisite for client sites works really well, and recommend it frequently. But I realize it isn’t for everyone.
When Multisite Might Not Be Suitable
Here are some circumstances in which this approach wouldn’t work for you:
- Your clients need their own hosting account. Clients specifically want access to hosting configuration and will access this (unlike mine).
- Clients need to be on servers in different parts of the world. My clients are mainly based in the UK. For those clients that aren’t, I work with their hosting, not mine.
- Clients need email hosted on the same server as their website. Many web hosting providers will offer as many free email accounts as you need, all hosted on the server. But to be honest, it’s not a good idea to make use of this. If a client’s web server goes down, the last thing they want is for their customers to be unable to contact them via email. Most of my clients were already using Google apps to host their email while still using their domain for email addresses. A few weren’t, mainly out of habit. No-one objected to the small extra cost and it gives me one less thing to worry about of there are server problems.
- One or more of your client sites gets a lot (and I mean a lot) more traffic than the others. Very high-traffic sites are best hosted on their own. I prefer larger clients to buy their own hosting: they need the immediacy of direct content with their hosting provider, without going through me. And to be honest, I don’t want the hassle.
- Your hosting setup doesn’t allow Multisite installations. To be frank, if this is the case I’d suggest move hosting providers!
So if your clients have relatively small, low-traffic sites, don’t need access to hosting configuration and are happy to host their email elsewhere, there’s no reason why you shouldn’t host their sites on Multisite.
When Multisite Works Great
But as well as some circumstances in which Multisite might not be the right option, there are plenty of benefits that could persuade you to host your client sites this way. These include:
- You only have one WordPress installation to keep backed up. Make sure you use a backup plugin like Snapshot Pro, which is compatible with Multisite (many backup plugins aren’t).
- When a new version of WordPress is released, you only have one installation to update. But be careful to test that the update doesn’t break any of the sites in your network first: see more about local development and testing below.
- You only need to keep plugins and themes updated in one place. Again, the same applies with regard to testing first.
- If you’re using a theme framework, you only need one copy of it to keep up to date.
- If you want, you can create a community of users on your network, linking your clients and providing added value as a developer or agency.
- You can set custom content which you display across all of your sites in the footer, for example.
- If you brand your admin screen, you only need to do it once, using a plugin like Ultimate Branding.
- If you provide support, you only need to do it once. I use the Support System plugin to answer support requests from all my clients.
- If a lot of your new sites start with the same set of pages (e.g. Home, About, Contact Us), you can copy content from an existing site to the new one using the Multisite Content Copier plugin.
Have I convinced you yet?
Now let’s look at the tools and techniques that can help you make it work.
Making It Work For You
Your clients will all have their own domain and will obviously want their website to use it: they won’t want a subdomain of your site. You can easily address this with domain mapping.
The free WordPress MU Domain Mapping plugin lets you map as many domains as you need to each site, so if your clients have multiple domains it’s not a problem.
You set one of those domains as the ‘primary’ domain which means that as far as visitors are concerned, that’s the domain the site is hosted on.
If you want to go further, you can sell domains to your clients right from your Multisite network, making it easier for them and providing you with extra revenue. Our Domain Mapping plugin offers this and more.
For full instructions on setting up domain mapping, see our ultimate guide to domain mapping with WordPress Multisite.
The next thing you’ll need to think about is keeping all of those client sites backed up. As they’re all in one place, the consequences of something going wrong with that installation are that much more extreme. Which makes it crucial that you have a plugin that lets you keep backups in multiple locations and makes it easy to restore from backups.
My favourite backup plugin is Snapshot Pro because it’s Multisite compatible and allows one-click restore: here’s why easy restoring is so important. But if you need a free option, take a look at our guide to the best free backup plugins.
As all of your client sites are hosted in that one Multisite installation, it’s essential that you don’t tamper with anything on that installation in a way that might cause problems.
You should do your testing and development locally anyway, but if you’re hosting your client sites using Multisite, this becomes even more important. Every time a plugin or theme, or WordPress itself, are updated, test it on your local copy and check that it doesn’t adversely affect any of your sites before updating on the live network.
If you’re editing the code in your own themes and plugins, again do it locally before going live. The same goes for adding new sites to the network: develop locally first, check that nothing you do affects anything else in the network, and then deploy.
For guidance on this, see our tutorial on setting up a local development environment.
I occasionally hear concerns from clients or from other developers that using a Multisite network for multiple client sites will have an adverse effect on those sites’ SEO: somehow the content from the other sites in the network will contaminate search results for each site.
As long as you’re using domain mapping, this won’t happen. Google bases its search results on domains and URLs, not on hosting and servers (I know this is a simplification: I’m not an SEO expert!). You won’t find that content from one of your clients’ sites turns up in search results for another client.
And for me the great benefit from an SEO standpoint is that one of my essential plugins was always an SEO plugin: now I don’t have to remember to install it on every new site but have simply network-activated it.
Managing Your Network
Managing your network is much easier than managing multiple single sites: you only have to do it from one place, after all. But sometimes it can become a bit overwhelming: as the number of sites grows, then so too does the number of themes, plugins and users.
Here are my tips for making network management that bit easier if you’re working with client sites:
- Only enable themes for those sites that need them. Instead of network enabling each new theme you install, go to the site management screens for the site it applies to and activate it for that site from there. This will save clutter on the Themes screen for each site. It also ensures site admins can’t accidentally activate the wrong theme. For guidance on doing this, see our guide to site options in WordPress Multisite.
- To see which themes and plugins are activated on which sites, install the Multisite Enhancements plugin, which will add a column to your network admin screens for themes and plugins telling you which site(s) each is installed on. This means when you update a plugin, you know exactly which sites you need to test locally before updating the live site.
- If a user raises a bug or you want to test modifications you’ve made to the admin screens, install the User Switching plugin. This lets you switch to different user accounts so you can see exactly what they see when they log into your network.
For more suggestions, see my nine top plugins for network management.
Creating a Community of Clients
It’s nice to be able to give your clients something more than just your web development services, and encouraging your clients to network with each other will provide them with something extra which could enhance the perceived value they get from your services.
This might not be advisable if your clients are all competitors, but if they’re based in a geographical location, for example, they might find it useful.
We offer a range of plugins that will make your Multisite network into a community: try some out and see what your clients say!
What if your clients need sites that are themselves Multisite networks? You can’t incorporate a network of sites into another network, I hear you say.
But believe it or not, you can with the WP Multi Network plugin. This lets each of your site admins (i.e. your clients) create their own network of sites within your Multisite network. Or you can do it for them if they prefer.
To get started, see our guide to setting up a network of networks.
For me, a big bonus of using one Multisite installation to host all my client sites is the fact that I have only one support interface to deal with. To do this, I use the Support System plugin, which I network activate.
The plugin will notify you or a nominated team member whenever a ticket is raised, and you only have one place to go to manage all of your clients’ questions. If a question comes up frequently, you can convert it to an FAQ and publish it to the main site on your network.
That might be your own site or it could be a site you create just to support clients, maybe with content only available to logged-in users.
Read how to configure and make the best use of the Support System plugin in our tutorial.
Hosting Client Sites Made Easy With Multisite
The best known instances of WordPress Multisite installations are networks of user-created sites like wordpress.com or Edublogs. There are also plenty of examples of Multisite networks being used for internal networks of blogs, like BBC America.
But WordPress Multisite is also a great tool for agencies and developers who need to host small to medium client sites with the minimum of hassle. Follow my tips above and it should ease your workflow and make your life easier, in the same way, it has mine.
Do you use Multisite for client sites? How has it worked for you? Let us know what you think in the comments below.