When you need to build a large number of websites, whether as an agency working with clients or managing an organization that needs hundreds of websites for different teams or groups, you need to consider how the technology and architecture choices you make will affect those websites down the line. If you need to build and maintain a large number of sites and are thinking of using a WordPress Site Network, you should be sure that it’s the right choice for your use case.
This guide covers some of the factors you should consider when making implementation decisions for a large number of WordPress sites. We’ll also talk a bit about how those considerations informed Pantheon’s own feature to help our users manage hundreds of WordPress sites: Custom Upstreams.
The Value of a Website
If you’re already using or building WordPress sites, you’re probably familiar with the benefits of using an open source CMS. With any modern website, you want to strike the right balance between giving users powerful content management features that let them easily update their sites while keeping maintenance sustainable and as simple as possible. On top of that, being able to rely on an open source ecosystem means that the CMS itself and the tools that support it will continually improve and evolve.
As you scale up to managing hundreds or even thousands of sites, it’s likely you’ll still want to maintain those benefits, but will need to contend with additional overhead and considerations. Security, maintenance, and custom requests can all cause problems if you choose the wrong implementation.
Website Implementations & Their Considerations
When thinking about large-scale website implementation choices, one way to think about the differences is to examine each method on a scale of cost (low to high) and flexibility (low to high). When we think about cost, we’re not just thinking about literal dollars spent, but the total cost of ownership—how much will it cost to set up, deploy, build, and maintain the all the sites? It’s easy to focus only on visible costs, but it’s important to consider “invisible” costs as well. And when we refer to flexibility, we’re referring to the implementation’s ability to handle a large number of use cases.
Of course, building a large number of websites each from scratch on top of WordPress affords the highest level of flexibility. Each website can have its own features, plugins, etc. But with that high flexibility comes the highest cost. Not only do you have to build each site separately, but with large numbers of sites maintenance becomes costly and difficult. Not to mention, a truly custom site is rarely truly necessary.
WordPress Site Networks
When you need to create multiple sites, whether you’re an agency creating sites for many clients, or an enterprise with many sites for different purposes, it’s helpful to find ways to make creating, managing, and maintaining those sites more efficient and scalable. That’s where WordPress Site Networks come in. A WordPress Site Network relies on a single codebase that powers a number of sites.
WordPress Site Networks can help make creating and maintaining many sites more efficient by giving you just one codebase and WordPress installation to manage. You can update sites en masse, making updates faster. And when all the sites are essentially the same and you don’t have snowflake sites, this can be a real time saver. By using Site Networks, you’re essentially attempting to create a turnkey SaaS solution, which, when it works, can work well.
However, there are risks with using Site Networks. Maintaining turnkey SaaS has higher costs than you may anticipate. The main danger is that an implementation with any significant variation between sites falls apart quickly. With exceptions for particular sites, you will quickly find yourself in a “crumbled cookie” situation. If you start to customize individual sites, you’ll lose the efficiency gains as making updates becomes cumbersome. As snowflake sites proliferate, quickly pushing out updates to all sites becomes impossible, so keeping all sites the same with no exceptions is crucial. But that means you have to say "no" to almost all requests for customization. How will your users feel about those limitations? The tradeoff of being able to easily create sites is much lower flexibility for those sites.
With WordPress Site Networks, you’re lowering infrastructure cost and increasing the speed at which you can spin up a new site, but also introducing a single point of failure. With only one codebase shared between all sites, you run the risk of bugs proliferating across all sites, or worse, a disaster taking down all your sites. And this single point of failure restricts who can contribute to the success of your sites. Essentially only the core team can do work on the sites, and bringing in other teams or agencies to work on particular sites becomes difficult.
And since you’re running a single instance of WordPress across a number of sites, “noisy neighbor” effects can be an issue. A flood of traffic to one site can mean that all sites’ performance suffers. And similarly, a breach of a single site can lead to a breach of all sites.
Pantheon’s Custom Upstreams
That’s where Pantheon’s Custom Upstreams come in. Custom Upstreams allow you to have a master upstream that includes things like core CMS, common code, and base theme. Instead of having to start up projects from scratch, you can create sites by essentially copying the master upstream.
Not only does this reduce manual work when creating new sites, but it also allows you to create a scalable process for handling updates to large numbers of sites. New features and changes can be continuously made to the master upstream, then distributed to each site all at once.
But unlike with WordPress Site Networks, Custom Upstreams also allow for customization of individual sites (same goes with Drupal Multisite). Because individual sites aren’t carbon copies of the upstream and each have their own repository, you can develop features unique to a single site if needed. Because Custom Upstreams take advantage of a Git-based version control and Pantheon’s container-based platform to give developers and site owners the best of both worlds.
With Custom Upstreams and Pantheon’s platform, each website is isolated from a security and scalability standpoint, and each has its own repository and testing environments. Moving away from a monolithic codebase powering a large number of sites means you’re lowering the risk of an issue affecting all or many sites, as well as giving your sites easy scalability.
And because you can both update all sites easily via the Custom Upstream and still customize particular sites downstream, team collaboration becomes much easier. Individual developers, agencies, or vendors can work on the site-specific repository, while the admin or central team can manage the Upstream and control the basic foundation of sites.
For developers who want to easily scale and maintain a large number of sites with overlapping requirements, we think Custom Upstreams is a hugely beneficial feature. Upstreams are available to organizations with Pantheon for Agencies, Pantheon Enterprise, and Pantheon for EDU accounts.
Comparing WordPress Implementation Styles
So as we’ve discussed above, different implementation styles have varying levels of flexibility and cost. Custom implementations come with high cost but are highly flexible. WordPress Site Networks, when used well, have lower cost but also low flexibility. They also run the risk of crumbling if there is any meaningful customization, leading to an expensive system to maintain that’s also lacking in flexibility. And finally, with Pantheon’s Upstreams, you get highly flexible sites while also lowering the cost of creation and upkeep for those sites. In the diagram below, you can see how each implementation maps out.
And as you can see in the table below, each implementation style has its own use case, but differs in terms of common features, code in common, foundation, and support cost. There are legitimate use cases for each type, but it’s important to be aware of the risks of each.
Choosing the right WordPress implementation requires having a good understanding of how your users and site owners plan to use those sites as well as how you plan to maintain them. As you consider your own website management situation, you can hopefully choose the implementation that’s right for you.