On the tenth anniversary of WPBeginner, I shared that WPBeginner hosting infrastructure got a huge ascent thanks to our network host partner, HostGator.
soon after, I started getting emails from readers asking me to share the details on how we made WPBeginner’s burden blazing debauched.
Yes, WPBeginner load faster than most static website generators and in some cases faster than Google AMP sites excessively.
In this article, I will give you a scene look at how we made WordPress faster than static site generators and headless CMS platforms.
Note: This article is a spot more technical than what we typically publish on WPBeginner. For non-techy users, I recommend following our ultimate template on how to speed up WordPress.
Update: We’re no longer using the apparatus shared in this article. rather we have switched wholly to Google Cloud chopine managed by SiteGround. We have the same speed results and have unlocked even faster back-end performance. read why we switched to SiteGround.
recently WordPress has been getting a distribution of bad reps from “modern” developers who say WordPress is dull.
The argument is normally followed up with, you should switch to a JAMstack static site generator like GatsbyJS. Others in the enterprise world will say that you should switch to a brainless CMS like Contentful.
respective of my identical successful entrepreneur friends started asking me whether this was dependable.
Some even started the summons of migrating to a brainless CMS because they read character studies of how others unlocked huge travel rapidly improvements by switching from WordPress to static site generators.
This was very frustrating for me because I knew they were wasting tens of thousands of dollars in migration costs. not to mention, the endless customization costs that will rack up in the future.
so I took it as a challenge to prove that a boastful WordPress content site like WPBeginner can load just as fast if not faster than most modern static site generators.
You can call me old school, but at the end of the day, a static locate is just a page loading from the hoard.
Before I jump to the claim WordPress host infrastructure, server configurations, and plugins, I think it’s helpful to plowshare the results.
here‘s how the debauched WPBeginner home page loads on Pingdom from their Washington, DC waiter:
Depending on the time of day and location you check from, this result will vary anywhere from 400ms – 700ms crop which is pretty fast for a home page.
here‘s a test that I ran for an unmarried post page since it has bigger images and more content:
We besides got a perfect grade of “100” on the Google page speed test for background. Although we do have some board for improvement on the mobile score.
The results above are for cached pages which is what our readers and research engine bots get when they view our website. The perceived cargo time of WPBeginner is approach instantaneous (more on this late).
For the sake of comparison, here‘s an amphetamine screen leave for Gatsby’s home page. This is a popular static site generator that a set of developers are raving about:
here‘s the accelerated test result of Netlify‘s home page, a popular inactive site host, that a bunch of developers recommend. Notice that they have half the sum of requests, and their foliate size is 30 % of WPBeginner, even though it still loads slower than our home page.
The home page travels rapidly of Contentful, the headless CMS which is “how enterprises deliver better digital experiences” is good not optimized at all. This was the slowest website we tested.
I am sharing these stats not to discredit the other frameworks, but rather to give a perspective that not all modern things are equally glazed as they may seem.
WordPress with a proper host infrastructure and optimizations can be merely as fast as any static website generator. Furthermore, no other chopine will even come near to the tied of flexibility that WordPress offers to occupation owners through its large ecosystem of plugins and themes.
WPBeginner Hosting Infrastructure
When it comes to website acceleration, nothing plays a more authoritative function than your web host infrastructure.
As many of you already know, I have been a HostGator customer since 2007. I started the WPBeginner weblog in 2009 on a small HostGator shared hosting explanation.
As our website grew, we upgraded to their VPS host and then dedicated servers.
Over the death decade, I have gotten the luck to work closely with many of their team members, and they have become a carry separate from the WPBeginner syndicate.
therefore when I took on the challenge to make WPBeginner faster than static site generators, I turned to them for aid.
I shared my vision with their leadership team, and they offered to help me build one of a kind enterprise host apparatus for WPBeginner.
They put the best engineers from both Bluehost and HostGator team to work closely with me to make WPBeginner blazing debauched.
here‘s an overview of what the WPBeginner hosting setup looks like:
As you can see, this is a multi-server apparatus spread across two geographic regions ( Texas and Utah ). There are a total of 9 servers not including the load halter cloud. Each server is a Xeon-D CPU with 8 cores ( 16 threads ) with 32GB RAM and 2 x 1TB SSD ( RAID frame-up ).
We are using Google‘s Cloud Load Balancing platform, so we can have seamless autoscaling and load balance, globally.
once the hardware was set up with proper data syncing in the station, the Bluehost and HostGator team worked together to optimize the waiter configurations for WordPress. My hope is that some of these optimizations will soon make it into future WordPress host plans
Server Configuration Summary
Summarizing the server configurations of this building complex apparatus in just a few paragraphs is very street fighter, but I will try my best.
We are using Apache for our web server software because the team is more familiar with it. I won ‘thymine go into the NGINX five Apache argument.
We are using PHP 7.2 along with PHP-FPM pools, so we can handle high loads of processes and requests. If your hosting company is not using PHP 7+, then you’re missing out on serious rush optimization.
We ’ rhenium using Opcode caching with an advance hoard warm to ensure that no veridical user should experience an uncached pageview.
We’re besides using Object cache with Memcache, so we can improve the response fourth dimension for uncached page hits and other API response times in the WordPress admin area for logged-in users ( our writers ). here‘s a net load pill of our “ All Posts ” blind in the WordPress admin:
To put in position, our admin area experience is now 2X faster than what we had previously.
For our database server, we switched from MySQL to MariaDB which is a clone of MySQL but faster and better. Besides switched from HyperDB to LudicrousDB because it helps us improve our database replication, failover, and load balance.
There ‘second beside a lot of other configurations that help us with performance and scalability such as HTTP/2 and HSTS for faster connection + encoding, the ability to spin up extra servers in new regions in case of data center outage, etc.
I feel like I’m megabyte not doing department of justice to the amazing setup that the team has built, but please know that my core strength is marketing. Yes, I am a blogger who writes about WordPress, but a lot of the technical foul optimizations here are way above my pay grade.
They were done by extremely bright engineers in the Endurance team including David Collins ( chief architect of Endurance / CTO of HostGator ), Mike Hansen ( congress of racial equality WordPress developer ), and others whom I’ll thank in the credits section below.
CDN, WAF, and DNS
aside from web host, the other areas that play a significant function in your website accelerate are your DNS provider, your content manner of speaking net ( aka CDN ), and your world wide web application firewall ( WAF ).
While I have it listed as three disjoined things, a batch of companies are now offering these solutions in a bundle plan such as Sucuri, Cloudflare, MaxCDN ( StackPath ), etc.
Since I want to have maximal master and spread the risk, I am using three discriminate companies to handle each separately efficiently.
WPBeginner DNS is powered by DNS Made Easy (like the company as Constellix). They are systematically ranked as the fastest DNS providers in the global. The advantage of DNS Made Easy is that I can do global dealings focus when a specific data center on my CDN or WAF isn‘t thyroxine working by rights to ensure maximum uptime.
We’re using Sucuri as our web application firewall. digression from blocking attacks, they besides act as another level of CDN, and their overall operation is just amazing. I believe they have the best WordPress firewall solution in the commercial.
When working on website travel rapidly optimizations, shaving off every millisecond matters. That is second why using these solution providers combined with our new web host infrastructure makes a huge dispute.
To illustrate, hera ‘s the waterfall dislocation of WPBeginner.com vs GatsbyJS.org vs CloudFlare.com:
Notice that WPBeginner‘s DNS clock time, SSL time, Connect time, and Wait the fourth dimension are all top-notch when compared to these other popular websites. Each of these improvement compounds delivers the best results.
Instant.page, Optimized Images, and Other Best Practices
One of the things you might have noticed is the near-instant load time when you browse WPBeginner posts and pages.
aside from all the things I mentioned above, we’re besides cheating rotational latency by using handwriting called instant.page which uses just-in-time preloading.
basically before an exploiter clicks on a link, they have to hover their sneak over that link. When an exploiter has hovered for 65ms (a very shortstop period of time ), one out of two will actually click on the connection.
Instant.page script starts preloading that page at this consequence, therefore when the user actually clicks the connect a fortune off the heavy rise is already done. This makes the homo brain perceives the website warhead clock as about clamant.
To enable Instant.page on your location, you can just install and activate the Instant Page WordPress plugin.
This handwriting is reasonably bang-up. I highly recommend checking out their website and clicking on the “ test your clicking speed ” release to see how it cheats the brain.
Update: I have a disabled instant.page for now, and I’m meter going to be testing FlyingPages plugin in the approximate future. Gijo Varghese shared his newfangled plugin with me in the WPBeginner Engage Facebook group, and it seems to combine the best of instant.page and quick link script.
Optimizing Images for Web
While there are new double formats being developed such as the web, we’re not using them yet. alternatively, we ask all of our writers to optimize each effigy using the TinyPNG cock.
You can besides automate the prototype compaction using plugins like Optimole or EWWW Image Optimizer.
however, I personally prefer to have the team do this manually, so we ’ rhenium not uploading large files on the waiter.
presently, we’re not doing any lazy load for images, but I do plan to add it in the near future nowadays that Google has a lazy loading hold built-in to Chrome 76.
There’s a second beside a slate in WordPress core to add this sport on all sites ( in truth hoping that this happens soon ), so I don‘t have to write a custom plugin.
Update: Few hours after I published the blog post, Google released the Native Lazy Load plugin for WordPress.
Limiting HTTP Queries + Best Practices
For more details, see how WordPress plugins can affect your locate load time.
nowadays before you jump to the wrong decision that besides many WordPress plugins are bad, I want to let you know that there are 62 active plugins running on the WPBeginner website.
You can besides follow the instructions in this article to do it manually which is what our team at WPBeginner has done.
digression from HTTP requests that plugins and themes add, you besides want to be mindful of other third-party scripts that you add tore your website because each handwriting will impact your website speed.
For example, if you are running a fortune of ad scripts or retargeting scripts, then they will slow down your site. You may want to use a joyride like Google Tag Manager to conditionally load scripts only when they’re needed.
If you’re an ad-supported website like TechCrunch or TheNextWeb, then there‘s very little you can do about this since removing ads on international relations and security network ‘triiodothyronine is an option.
fortunately, WPBeginner doesn’t deoxythymidine monophosphate trust third-party ad scripts to make money. Want to see how WPBeginner makes money? See my weblog post on WPBeginner income.
Lessons Learned (so far) + My Final Thoughts
This is a sword new hosting infrastructure, and I’m a megabyte certain there are tons of lessons I will be taught over time.
then far I love the speed improvements because it has helped us boost our SEO rankings, and our admin area is a lot faster.
With the new multi-server setup, we introduced a new deployment workflow to bring WPBeginner up to par with the remainder of Awesome Motive intersection sites.
What this means is that we now have proper translation control built-in, and there are measures put in place to stop me from being heedless ( i.e adding plugins without proper examination, updating plugins from the dashboard without testing, etc ).
These changes besides set the path for me to ultimately step out of development and bridge player over the reigns of the WPBeginner site to our dev team.
I have been resisting this for years, but I think the time is coming, and I precisely need to accept it.
The modern frame-up does not have cPanel or WHM, so this makes me practically useless anyway since I’m meter not very eloquent with dominant line anymore.
thus far we have learned two boastful lessons:
first, updating WordPress international relations and security network ‘triiodothyronine is straightaway forward due to server synchronization/replication. When we upgraded my personal weblog ( SyedBalkhi.com ) to WordPress 5.2, the update files didn’t sync properly on one of the web nodes and debugging took much longer than anticipated. We’re working on building a better human body/testing process for this.
second, we need to have better communication across teams because we had a minor crisis with load balancer misconfigurations which resulted in some downtime. To make it worst, I was on a transatlantic flight on Turkish Airlines, and the WiFi wasn‘t triiodothyronine working.
fortunately, everything got grouped thanks to the quick reaction meter by the host team, but this helped us create several newly Standard manoeuver Procedures ( SOPs ) to better handle the incidental in the future.
overall I’m molarity very happy with the apparatus, and I know that some of the hoard configurations/optimizations that were made for WPBeginner will become a standard function of HostGator Cloud and Bluehost WordPress hosting plans.
I think this should go without saying that if you’re just starting a website, blog, or online store, then you DO not need this advanced enterprise apparatus.
I always recommend that you start modest with HostGator shared or Bluehost shared plans as I did, and then upgrade your hosting infrastructure as your business grows.
You can apply a distribution of the optimizations that I shared above on your current WordPress host plans.
For exercise, Bluehost’s standard design already comes with a built-in hoard plugin that you can use, and they offer PHP 7 by default adenine well.
You can combine that with a CDN + WAF like Sucuri to importantly speed up your website.
now if you are a mid-market / enterprise company that wants a similar host frame-up, then please reach out to me via our contact form. I can help point you to the right management.
Special Thanks + Credits
While in the article above, I have given tons of shouts out to HostGator and Bluehost brands, I want to take a moment to recognize and appreciate the individual people that worked behind the scenes to make it happen.
beginning, I want to say thank you to the Endurance leadership team Suhaib, Mitch, John Orlando, Mike Lillie, and Brady Nord for agreeing to help me with the challenge.
I besides want to thank Mike Hansen, David Collins, Rick Radinger, Chris Miles, David Ryan, Jesse Cook, David Foster, Micah Wood, William Earnhardt, Robin Mendieta, Rod Johnson, Alfred Najem, and others in the data center team for actually doing the hard work and making it happen.
I want to give a particular abuse out to Steven Job ( founder of DNSMadeEasy ) for cursorily answering my questions and helping me better understand some settings. besides, want to give an exclaim out to Tony Perez and Daniel Cid at Sucuri for always having my back.
last but not least, I want to give special recognition to Chris Christoff. He‘s the co-founder of MonsterInsights, and he was kind adequate to help me with a batch of the test and deployment.
I truly hope that you found this behind-the-scenes case study about WPBeginner hosting infrastructure to be helpful. You may besides want to see our ultimate guide on how to speed up WordPress which is way more founder-friendly.
Bonus: hera are the best WordPress plugins and tools that I recommend for all WordPress sites.
If you liked this article, then please sign to our YouTube Channel for WordPress video tutorials. You can besides find us on Twitter and Facebook.