Contents
Results
<$25/Month Tier$25-50/Month Tier$51-100/Month Tier$101-200/Month Tier$201-500/Month Tier$500+/Month (Enterprise) Tier
About
WordPress Hosting Performance Benchmarks is designed to create a consistent set of benchmarks showing which web hosting companies offer best in class performance. The focus of these tests is performance, not support, not features, not any other dimension. Review Signal's web hosting reviews has insights for some of the companies with regards to these other aspects. These benchmarks should be looked at in combination with other sources of information when making any hosting decision. That said, for the performance conscious, these benchmarks should be a good guide.
Previous years testing can be found at the following links: original, 2014, 2015, 2016 and 2018.
Companies Tested
1&1 IONOS [Reviews]
34SP.com
A2 Hosting [Reviews]
Cloudways [Reviews]
DreamHost [Reviews]
FastComet
Flywheel [Reviews]
GoDaddy [Reviews]
GreenGeeks
Incendia Web Works
Kickassd
Kinsta
KnownHost [Reviews]
Krystal Hosting
LightningBase
LiquidWeb [Reviews]
Pantheon [Reviews]
Pressable
Presslabs
Savvii
Servebolt
SiteGround [Reviews]
TVC.Net
VersionPress
WordPress.com Business
WordPress.com VIP
WPX Hosting
Companies that didn't participate this round but did on previous rounds: WebHostingBuzz, WPPronto, A Small Orange [Reviews], WebSynthesis [Reviews], Hosting Agency, Conetix, MediaTemple [Reviews], Pagely [Reviews], Pressidium, Pressjitsu, WP.land, AMIMOTO, BlueHost [Reviews], Hosting.io, IOZoom, Nestify, Nexcess, Pressed.net, WPOven.com, WP Engine [Reviews].
For a full visualization of companies that have participated in previous years and their performance please see this table.
Why are some companies missing? If they aren't listed, they didn't opt in to participate. Chances are if it's a well known company they declined to participate, if it's a smaller one, they may not have known about this test and I may not have been aware of them to reach out. You can ask any company to participate and hopefully consumer interest pushes them towards it. Web hosting companies can signup for our Web Hosting Company Mailing List to keep track.
Every plan was donated by the company for testing purposes with the strict stipulation that it would be the same as if any normal user signed up. There is a notes section at the bottom that details the minutiae of changes made to plans at the end of this post. Nearly every single company had security issues that I had to get around, so they worked to make sure my testing went through properly. Load testing often looks like an attack and it's the only way I can do these tests.
The Products
Below you will see the price brackets and which companies participated. Specific details will be included on each bracket's write up.
<25 | 25-50 | 51-100 | 101-200 | 201-500 | Enterprise |
1&1 IONOS (ManagedWP) | WordPress.com Business | A2 Hosting | Cloudways | Cloudways | Flywheel |
1&1 IONOS (Shared) | Cloudways | Cloudways | Kinsta | Kinsta | Kinsta |
34SP.com | Incendia Web Works | DreamHost | Liquid Web | Liquid Web | Liquid Web |
A2 Hosting | Kinsta | Incendia Web Works | Pressable | Pantheon | Pantheon |
DreamHost | Krystal Hosting | Kinsta | Savvii | Pressable | Pressable |
FastComet | Pantheon | Lightning Base | Servebolt.com | Servebolt.com | Presslabs |
Flywheel | Pressable | Liquid Web | SiteGround | Servebolt.com | |
GoDaddy | Savvii | Pressable | SiteGround | ||
GreenGeeks | SiteGround | Servebolt.com |
WordPress.com VIP
|
||
Incendia Web Works | WPX Hosting | WPX Hosting | |||
Kickassd | |||||
KnownHost | |||||
Krystal Hosting | |||||
Lightning Base
|
|||||
SiteGround | |||||
TVC.Net | |||||
VersionPress | |||||
WPX Hosting |
Methodology
The goal of this research is testing the performance of specialized WordPress hosting. The two measures to determine performance are peak performance and consistency. Peak performance is measured using load testing services which emulate large numbers of users visiting a website and watching how well the hosting responds under these stressful conditions. Consistency is measured using uptime monitoring to make sure that the servers remain available for a longer duration of time.
There are some non-impacting measurements taken as well that are recorded to help inform more advanced users and potentially be used to create a benchmark at a later time. Geographic response times from multiple (11) locations using WebPageTest. The WPPerformanceTester performs PHP Benchmarks and WP benchmarks to see how fast the underlying server performs for different kinds of operations. SSL test was added to all price tiers this year. These measures don’t impact the Top-Tier WordPress Hosting status we give, nor the Honorable Mention status.
Uptime monitoring lasted a minimum of three months this year.
The hosting packages are as close to default as possible. In some circumstances where turning on performance enhancements is very simple, e.g. clicking an option to turn on caching, this will be done. Otherwise everything is as-is for new customers upon sign up to avoid as much as possible the extra benefit of companies knowing they are being tested.
The exception to this rule is the Enterprise tier ($500/month+). This exception for the Enterprise tier is because at a certain level, a higher degree of service is expected. Customers spending large sums of money are generally on-boarded and optimized by hosting companies. As such, all companies competing in the Enterprise tier are allowed to optimize the package as much as possible to maximize the performance of the site.
This methodology isn’t perfect. One of the most common complaints companies participating have is that it doesn’t encapsulate their service well because they do ‘something special’ for every client. This may be true, but it’s hard to allow this behavior because the difference between ‘every’ client and ‘this specific test’ isn’t measurable. It also relies on good faith from the companies because load testing servers requires permission to do at a meaningful scale. These type of tests often trigger security measures and can impact existing clients. Working with the companies being tested is often a necessity to do these tests properly. Packages are compared to what was submitted and checking for cheating is done regularly. The comparison is designed to be as apples-to-apples as possible.
All testing was done on WordPress 5 with Classic Editor, which caused a delay in testing because it released during the middle of testing.
Full Dummy site (downloaded) with instructions is available at http://wordpresshostingbenchmarks.reviewsignal.com/.
Test Configurations
All tests were performed on an identical WordPress dummy website with the same plugins except in cases where hosts added extra plugins or code.
LoadStorm
The process for LoadStorm will be a scaling user test based on the pricing tier. The simulated users will hit the homepage, hit the login page, login, hit a few pages and posts. The test duration was 30 minutes and scaled from 500 to start to n,000 users over 20 minutes and sustained peak load for 10 minutes.
Price Tier | # Users |
<25 | 2000 |
25-50 | 2000 |
51-100 | 3000 |
101-200 | 4000 |
201-500 | 5000 |
Enterprise | 10000 |
LoadImpact
LoadImpact ran a simple Lua script that requested the frontpage of the test site. It scaled from 1 to n,000 users based on the price tier over a 15 minute duration. It was designed to emulate the old Blitz.io test of simply hammering the cache.
Price Tier | # Users |
<25 | 1000 |
25-50 | 1000 |
51-100 | 2000 |
101-200 | 3000 |
201-500 | 4000 |
Enterprise | 5000 |
Script:
http.page_start("Page 1 Blitz") responses = http.request_batch({ {"GET", "<url>", auto_decompress=true, response_body_bytes=1024} }) if responses[1].status_code == 200 then else log.debug("Status Code: " .. responses[1].status_code) end result.custom_metric("StatusCode", responses[1].status_code) result.custom_metric("TTFB-FirstRequest", responses[1].time_to_first_byte) http.page_end("Page 1 Blitz") client.sleep(1)
WebPageTest.org
Tests will be run from 11 locations. Dulles, Denver, LA, London, Frankfurt, Rose Hill (Mauritius), Singapore, Mumbai, Japan, Sydney, Brazil using EC2 instances where possible.
Uptime Monitoring
Uptime was monitored for at least three months for the homepage of the site. UptimeRobot and StatusCake were used to monitor uptime at 1 minute and 5 minute intervals respectively.
WPPerformanceTester
This plugin will run its performance test. Plugin is available at WordPress.org.
Qualsys SSL Report Grade
The tool is available at https://www.ssllabs.com/ssltest/.
Ratings
There are two levels of recognition awarded to companies that participate in the tests. There is no ‘best’ declared, it’s simply tiered, it’s hard to come up with an objective ranking system because of the complex nature of hosting. These tests also don’t take into account outside factors like reviews or support. It is simply testing performance as described in the methodology.
Top Tier WordPress Hosting
This is awarded to companies who maintain 99.9% uptime throughout the entire testing and show little to no performance degradation during load testing, primarily focused on error rate and response times.
Honorable Mention
Honorable mentions are given to companies that came close to Top Tier status but for one reason or another fell just slightly short. This could be struggling slightly on a load test or having some minor uptime issues.
Major Changes
- Adding SSL Test (https://www.ssllabs.com/ssltest/) as non-impacting measurement for all price tier.
Costs and Price Tiers
These tests are expensive to run and are no longer sponsored. There is a participation fee involved. Every company pays the same amount based on the price tier of the product.
There is a re-testing fee if the load tests require more than two attempts for whatever reason. Load testing is the primary cost involved with testing, and if a company fails twice for a legitimate reason (almost exclusively security related), then re-testing is allowed to accommodate dealing with security measures with the associated fee based on tier.
All fees paid will be documented publicly for posterity.
The table below lists all six price tiers, the testing fee associated with each tier and the re-testing fee associated with failed load tests. All plans are listed in their retail price range, no first-month/first-year/first-billing period/sale prices will be used in figuring out which tier a plan belongs in.
Pricing Tier | Price | Re-Testing Fee |
<$25/month | $100 | $50 |
$25-50/month | $100 | $50 |
$51-100/month | $150 | $75 |
$101-200/month | $200 | $100 |
$201-500/month | $250 | $125 |
Enterprise ($500/month) | $500 | $250 |
Testing Fee Disclosures
All companies paid the same fee based on the pricing tier they competed in. The following companies were re-tested and the number of tests and associated fees are documented below.
Company | Extra Tests | Total ($) |
A2 Hosting | 3(<25), 3(100) | 375 |
DreamHost | 1(25), 1(100) | 125 |
GreenGeeks | 3(25) | 150 |
Krystal | 2(25) | 100 |
Cloudways | 3(100), 1(500) | 350 |
LiquidWeb | 3(100), 2(200), 3(500), 3(Ent) | 1550 |
Servebolt | 1(100) | 75 |
Flywheel | 1(Ent) | 250 |
Kinsta | 1(Ent) | 250 |
Pantheon | 1(Ent) | 250 |
Notes - Changes made to Hosting Plans
Almost every company had to disable security measures of some sort.
GreenGeeks required support to enable LetsEncrypt free SSL certificates.
Many companies had caching turned on from either a click, welcome email instructions or other obvious way that was presented clearly to new users.
See The Results
<$25/Month Tier$25-50/Month Tier$51-100/Month Tier$101-200/Month Tier$201-500/Month Tier$500+/Month (Enterprise) Tier
Kevin Ohashi
Latest posts by Kevin Ohashi (see all)
- Analyzing Digital Ocean’s First Major Move with Cloudways - February 28, 2023
- Removing old companies - June 28, 2021
- WordPress & WooCommerce Hosting Performance Benchmarks 2021 - May 27, 2021
I have one comment regarding WPX’s uptime test here.
Since moving to wpx, i experienced several downtime with server error pages and my websites could not be accessed.
However, to my surprise, uptime robot never picks up on it when the sites are down, and that is because their CDN delivers a html page with a server error image on it instead of a page with an HTTP error like a normal server does.
The result is that uptime robot sees this as a ‘live’ page, when they are actually crawling the wpx cdn’s error page.
To me it means that the uptime figures are flawed and judging by my experience after moving to WPX from kinsta, it is a lot more often down than 0%.
Do you think that they purposely do that to make sure there uptime can’t be verified?
Did you save a screenshot/headers showing this? That would be interesting to discuss and get a comment on.
I have a Question if my website receive monthly 50,000 visitors and i have plan from WordPress for 25000 visitors how it will affact my website?
Probably depends on the host. I imagine most would tell you that you need to upgrade your plan. Depending on how the traffic looks (spikes versus fairly even distribution), there could be some performance issues if the traffic comes in large bursts. But that’s really a question for the specific host on how they deal with overages.