Examine using WordPress Multisite versus Custom Upstreams for your organization's portfolio of websites on the Pantheon WebOps Platform — all viewed through the lens of six essential WebOps keys used to make an impact, enhance productivity, and maximize credibility of your sites.
One of the great benefits of WordPress and OpenSource is the ability to reuse code on multiple sites. For sites that share substantial amounts of their codebase, WordPress Multisite or Pantheon’s Custom Upstreams can automate a large amount of work. These choices are mutually exclusive and it can be difficult to switch later on, so it is useful to evaluate them early — so the tradeoffs can be properly understood. Don’t let that scare you though, these solutions can be immensely beneficial when implemented correctly.
While they solve similar challenges, they do so in very different ways. Differences can seem subtle at first, but the larger your portfolio grows, the more these differences will become magnified. The value of WebOps increases as the size of the portfolio increases.
At Pantheon, we use the six WebOps Keys to evaluate website operations. The six WebOps Keys include:
MAINTAIN critical dependencies
AUTOMATE error prone tasks
COLLABORATE across disciplines
ITERATE on high-value features
This post evaluates the differences between Multisite and Upstreams through the lens of these six WebOps Keys. With this information, you’re able to make a more informed decision on which method will best suit your portfolio management needs.
WordPress Multisite and Custom Upstreams strive to solve the fundamental challenge: How do I efficiently share a codebase across many different websites? They pull this off using two different approaches, so let’s review some of these differences.
The WordPress Multisite Network approach is to install a central codebase that includes WordPress, along with all the themes and plugins, and then virtually generate new sites. This central codebase shares the same pool of resources. The sites are partitioned to function as if they have their own files and database while sharing code. And since the databases are only virtually separated, user accounts can be shared across all of the environments.
Maintain and WordPress Multisite: It’s important to remember that all of these sites live in a shared environment, meaning if one site begins to use too many resources, the impact will be felt by all users.
Pantheon’s Custom Upstreams uses a central Git repository that stores the codebase containing WordPress, themes, and plugins that can then be pushed out to as many different sites as needed. Each site connected to this Custom Upstream will have its own containers, database, and files. Each site is then able to layer on its own customizations including code, databases, or files. By adding those changes using a custom child theme or plugin, the site owner can create a very different experience while minimizing the risk of code conflicts with the upstream.
Maintain and Custom Upstreams: With Upstreams, user accounts aren’t shared since they are separate sites (unless you implement a single sign on system) but this also means that any performance issues won’t impact other sites.
Both of these solutions enable you to maintain a large amount of sites built off of a shared codebase. Pantheon’s underlying architecture gives the credibility needed to focus your time and efforts on other areas.
When running a large portfolio of WordPress sites, it is important that the underlying infrastructure is optimized. When you think of optimization, approach it as “what is best for the entire portfolio of sites?” An optimization that significantly speeds up one specific site, but slightly decreases performance on all others is almost always not worth it. Over time those collective decreases in performance will cause huge headaches, as the decrease is multiplied across each new site added.
It is important to remember a few things:
With WordPress Multisite, all installed plugins or themes are going to be available on every site, so it is easy to bloat a Multisite install if you don’t have a good system of governance for what plugins are allowed.
Be cautious about applying code that fills a business need but negatively impacts performance. Make sure that unoptimized code isn’t tanking all your sites.
If the ability to implement specific site optimizations is critical for your organization, then Custom Upstreams is the way to go since it allows each individual site to have its own optimization.
The good news is that most optimizations tend to be good for everyone and should be implemented at the portfolio level. Depending on your needs, either Multisite or Upstreams can effectively deliver this optimization across your portfolio of websites.
As the size of the portfolio grows, collaboration becomes increasingly important. A working relationship between those creating content on the site and those maintaining the code is vital to success and continued productivity.
An organization should consider: Is restricting site owners’ capabilities more important than empowering those owners with a broad toolset?
WordPress Multisite lends itself to enforcing governance models where brand or design standards are monitored and enforced. Site owners have some flexibility in managing their own sites but must choose from a preexisting list of themes and plugins. The site owner’s role is similar to an interior decorator who is designing a room from a catalog book; they can browse the many options, choose the best ones, and then arrange them as needed to build a beautiful site.
Custom Upstreams opens up opportunities for individual groups to manage their own sites. An organization can still choose to limit dashboard access and run their Custom Upstreams similar to a WordPress Multisite, but they also have the option to afford site owners much more autonomy. With this autonomy, the interior decorator still has access to the catalog book, but now they are also allowed to repaint the room and even add some DIY items if they desire.
Understanding the technical skill level of your site owners is very important in making the decision for which model to follow. Either way, communicating with site owners and content creators is an absolute must and the value of that communication increases as the portfolio grows. Putting in place proper training, a cadence of communication, and clear paths for requesting support or features is necessary to grow a thriving ecosystem and to keep the team heading all of this up productively, instead of being overwhelmed with requests.
Both WordPress Multisite and Custom Upstreams provide a huge automation win by enabling deployment of hundreds or even thousands of sites. This allows the team to be more productive in other areas. Don’t stop there: Quicksilver and Terminus can also be added to workflows to automate a ton of tasks and allow for powerful integrations. While the exact usage depends on a specific organization’s workflow, it is extremely rare to find a workflow that can’t be improved with some additional automation.
Here are a few tips:
If you are using Custom Upstreams, you will want to grab the Terminus mass update plugin that allows you to run mass deployments.
Also for Custom Upstreams, the pantheon.upstream.yml configuration file makes it possible to set a bunch of global settings and hook into Quicksilver to trigger automatic configuration and scripts every time a new site is created.
When running a Multisite subdomain, extra search and replace operations are needed to map all the subdomains when the database is cloned down from production. This Quicksilver script can be used to automate that process every time the database is cloned down.
Use Quicksilver to integrate with your team’s messaging and project management software to keep everyone up to date.
Now that everything is set up and a workflow is in place, it is time to begin iterating. A challenge large site portfolios face when trying to deploy with confidence is “how to properly test?” Regardless of the method you chose, you will have dev, test, and live environments — just like every site on Pantheon.
Large portfolios do complicate things as it is often impractical to test every site when managing hundreds or even thousands of sites. Be aware that with the WordPress Multisite workflow any changes pushed are immediately applied to all your sites at once, so make sure testing is thorough.
With Custom Upstreams, changes will be available to all dev environments once those changes are committed to the main branch. Looking to iterate faster? We recommend a workflow that involves a separate test environment so changes can be tested before they even reach dev.
Here are a few tips:
Using the WebOps key above, look to automate as much testing as you can to keep the testing window small and allow for faster iterations.
Identify key sites in your portfolio that stretch the capability limits or represent broad use cases that you can check and use as a representation for how other sites will react to changes.
Always check your top 10 or so most trafficked sites to make sure they are working.
Build a good relationship with your power users who can do early feature testing for you.
As an administrator for all these sites, it is important to measure statistics on usage and performance. Each site is also looking to make an impact, which means every site should have at least one goal in mind.
Basic measurement — like the number of sites using an upstream — can be gleaned from the dashboard or Terminus. WordPress’s network administration page also gives you the count of how many sites exist on a Multisite.
That’s a start, but there is plenty more useful data available. The good news? Since there is a central code base for both WordPress Multisite and Custom Upstreams, it isn’t too hard to deploy tracking across all sites. How this is done will vary based on the domain structure in place. Organizations who have a domain structure where they are using subdomains or subdirectories for everything have the easiest time. It is really easy to create an overarching Google Analytics account for all those subdomains or directories and embed the Google Analytics, or better yet, Google Tag Manager, on all the sites.
In a Custom Upstream environment there is more flexibility for this, as site owners can add a plugin to only their environment or adjust their specific child theme to inject the code.
For WordPress Multisite the choice is more difficult: Do you add it and make it available to everyone and cause some bloat? Or do you use a plugin that lets people inject the code dynamically but opens up a whole other can of worms? One option is to open up Google Tag Manager as an option for your users. It can be used to add measurement tools like Google Analytics and the Facebook tracking pixel dynamically. Google Tag Manager is a fairly complex tool though, so some training may be needed for the less-technical folks on your team.
We looked at how managing a large site portfolio using Multisite vs Upstreams impacts your approach through the six WebOps Keys. Both can be delivered with credibility on Pantheon, as they are delivered on an optimized architecture and you can choose the maintenance workflow that best matches your use case.
By using the six WebOps Keys to evaluate your use of tools and the way you operate as a team, you can build a portfolio of high-impact sites that scale appropriately — allowing you to meet the moment and pivot quickly when it matters most.
You might also like:
- How to Use WordPress Multisite To Power a Network
- Hidden Gems: Underrated WordPress Plugins
- WordPress Plugins Running on Pantheon: An Analysis of 10k Sites
- Website Personalization: What It Is and Why It’s Important for Site Performance
Topics: Development, WebOps, WordPress, WordPress Hosting