I’m often asked whether WordPress is the right CMS for high-traffic websites, often with the implication that the person asking has experienced more than one slow WordPress site in the past. They may doubt whether WordPress can be scaled to meet the demands of a site with millions of visitors a month.
One way to allay that doubt is to point out that WordPress is, in fact, used on many high-traffic websites, including the Chicago Sun Times, the Microsoft News Center, Recode, The New Yorker, and many more.
But it’s more interesting to talk about why there are slow WordPress sites and how high-traffic WordPress sites are able to easily accommodate so much traffic.
For an application of its class — a dynamic content management system — WordPress is fast out of the box, and since PHP 7 support was introduced, it’s faster than ever. But when we say a WordPress site, we’re really talking about a collection of software and hardware. WordPress relies on PHP, a MySQL database, a web server, and numerous other pieces of software. All of that software runs on a server.
WordPress needs resources. As a site’s traffic grows, so does the amount of resources it consumes. If a site doesn’t have all the resources it needs as it grows, it’ll be slow. That’s not a WordPress problem; it’s a web problem.
The main bottleneck for WordPress performance is hosting. Cheap shared WordPress hosting is fine for very small sites with a couple of thousand pageviews a month. But because a low-end shared hosting server supports thousands of WordPress sites, it simply doesn’t have the resources to provide great performance and that’s why some WordPress sites are slow.
At the low-end of the high-traffic spectrum, performance-optimized shared WordPress hosting combined with caching delivers great performance. For small business sites and blogs, it’s more than capable of providing a good experience to users. But as a site grows, its owners should start thinking about other hosting options.
There are two types of scaling where hosting infrastructure is concerned: vertical scaling and horizontal scaling. When a site outgrows shared hosting, the most common solution is to scale up to a dedicated WordPress server. Dedicated servers can support orders of magnitude more traffic than shared hosting. As traffic keeps growing, the site can be moved to ever more powerful dedicated servers. This is vertical scaling.
But you can see that there’s a limit to how far you can go with vertical scaling. Eventually, a high-traffic site will outstrip the resources of even the most powerful WordPress dedicated hosting. But that’s not the end of the line: instead of scaling up, we can scale out by splitting the components of the site across more than one dedicated server.
That’s how our high-performance WordPress Clusters work. Instead of putting the database, the WordPress application, the web server, and the file server on a single machine, they’re split across multiple machines. With horizontal scaling of this sort it’s easy to add extra resources: if the web servers become a performance bottleneck, we can add more web servers, for example.
To return to our original question: is WordPress the right choice for high-traffic websites? The answer is an unequivocal “yes!” With the right performance-optimized hosting, WordPress can support everything from a small blog to the largest publishing platforms.