<$25/Month WordPress Hosting Performance Benchmarks 2023
Please read the Methodology to fully understand the scope of these tests.
Note: Please check company profiles for summary of performances across multiple tiers. Some companies also offer promotions or coupon codes for a discount as well.
Due to the increase in participation fees this year, I started a Sponsorship program for new/small/first time participants who wanted to participate in the two lowest price tiers. I asked participating companies if any would be willing to sponsor the participation of other hosting companies that fit this criteria. Only 1 company took advantage of this program, WP Buzz.
I want to personally thank and recognize the four amazingly generous companies stepped forward and provided financial support to allow more companies to participate: 20i, Krystal Hosting, Nexcess and Pressable. Thank you.
Cloudways competed with a Digital Ocean Premium 1GB droplet.
ShortPixel Hosting is no longer being offered after the benchmarks finished but before publishing. The results are published for posterity.
Stromonic was sold during the tests and the new owner was not prepared to participate in the benchmark. No load tests were run. Some of the other tests were run, and the results are recorded for posterity.
The Companies and Products
Company | Plan Monthly Price | Plan Visitors Allowed | Plan Memory | Plan Disk Space | Plan Bandwidth | Plan Sites Allowed |
---|---|---|---|---|---|---|
20i | $7.99 / £5.99 | Unlimited | N/A | 10 GB | 50 GB | 1 |
34SP.com | 9.95 GBP | Unlimited | 1.25 GB | 25 GB | Unlimited | 1 |
A2 Hosting | $22.99 | Unlimited | 2 GB | Unlimited | Unlimited | Unlimited |
Bluehost | $18.95 | Unlimited | - | 100 GB | Unlimited | Unlimited |
Cloudways | $12 | Unlimited | 1 GB RAM, 1vCPU | 25 GB NVMe | 1 TB | Unlimited |
EasyWP by Namecheap | $19.88 | Unlimited | 1152 Mb | 100 Gb | Not limited | 1 |
GreenGeeks | $4.95 | Unlimited | 2.0 GB | Unlimited | Unmetered | Unlimited |
Hostgator | $18.99 | Unlimited | - | Unlimited | Unlimited | Unlimited |
ICDSoft | $10 | Unlimited | Unlimited | 100 GB | 5000 GB | 1 |
Krystal Hosting | £9.99 | Unlimited | 2 GB | Unlimited | Unlimited | Unlimited |
Lightning Base | $9.95 | 10000 | 3 GB for PHP, with some processes, including MySQL, running outside of this. | 1 GB | 10 GB | 1 |
ManagedWPHosting | $12 | Unlimited | 3 GB - variable bursts | 6 GB | 100 GB | 1 |
Nexcess | $19 | Unlimited | N/A | 15 GB | 2 TB | 1 |
Pressable | $19 | 5000 | 512 MB/PHP process | 10 GB | Unlimited | 1 |
ROMARG | 19.95€ | ~50,000/day | 8 GB | 50 GB | Unmetered | 3 |
ShortPixel Hosting | $5 | Unlimited | 1GB | 10 GB | 50 GB | Unlimited |
SiteGround | $24.99 | 100,000 Recommendation | no hard limits | 20 GB | unlimited traffic | unlimited |
Stoute Web Solutions | $24.99 | Unlimited | Burst to 16GB | 20 GB | Unlimited | 1 |
Stromonic | $14.95 | Unlimited | 2 GB | 10 GB NVMe SSD | 50 GB | 5 |
WP Buzz | $14 | Unlimited | Unlimited | Unlimited | Unlimited | 1 |
WPX | $24.99 | Unlimited | 384 MB/PHP process, 3 processes/site | 15 GB | 200 GB | 5 |
LoadStorm Testing Results
The Load Storm test (in k6) is designed to simulate real users visiting the site, logging in and browsing. It tests uncached performance.
The key metrics are:
- Total Requests - Number of requests k6 made
- Total Errors - Number of error requests
- p95 - The 95th percentile response time
- Page Cum Avg - Cumulative average response time for Pages (html)
- Asset Cum Avg - Cumulative average response time for Assets (css, js, images)
- Login Cum Avg - Cumulative average response time for Login (wp-profile.php)
- WP-Login Avg Response Time - Average response time for login (301 redirect which validates credentials)
Results Table
Company | Total Requests | Total Errors | Peak Rps | Average Rps | P95 | Wp-login Average Response Time | Page Cum Avg | Asset Cum Avg | Login Cum Avg |
---|---|---|---|---|---|---|---|---|---|
20i | 339752 | 211 | 295.08 | 184 | 1207 | 380 | 715 | 305 | 385 |
34SP.com | 357822 | 0 | 303.42 | 194 | 563 | 158 | 169 | 232 | 159 |
A2 Hosting | 483909 | 36632 | 541.58 | 263 | 663 | 1539 | 597 | 25 | 1600 |
Bluehost | 354184 | 16 | 316.58 | 192 | 627 | 244 | 268 | 198 | 278 |
Cloudways | 154667 | 2032 | 182.17 | 84 | 24447 | 15417 | 13283 | 5922 | 12847 |
EasyWP by Namecheap | 358139 | 0 | 309.58 | 195 | 355 | 185 | 199 | 177 | 192 |
GreenGeeks | 368765 | 0 | 323.42 | 200 | 583 | 163 | 245 | 213 | 168 |
Hostgator | 1024982 | 256617 | 1061.83 | 556 | 1751 | 3166 | 617 | 153 | 2249 |
ICDSoft | 372384 | 0 | 325.5 | 202 | 321 | 140 | 147 | 146 | 144 |
Krystal Hosting | 294572 | 1 | 248.42 | 160 | 7839 | 4146 | 3832 | 472 | 4167 |
Lightning Base | 370147 | 0 | 322.92 | 201 | 487 | 162 | 178 | 209 | 263 |
ManagedWPHosting | 409752 | 2669 | 1213.5 | 223 | 835 | 2012 | 613 | 296 | 1633 |
Nexcess | 409544 | 2 | 367.42 | 223 | 433 | 373 | 332 | 31 | 394 |
Pressable | 453142 | 0 | 390.58 | 246 | 252 | 183 | 181 | 20 | 190 |
ROMARG | 370403 | 0 | 322.17 | 201 | 337 | 332 | 193 | 178 | 190 |
ShortPixel Hosting | 371194 | 0 | 318.67 | 202 | 603 | 167 | 173 | 243 | 170 |
SiteGround | 308196 | 0 | 261.67 | 167 | 441 | 261 | 175 | 74 | 234 |
Stoute Web Solutions | 356718 | 6 | 306.5 | 194 | 543 | 195 | 288 | 110 | 295 |
Stromonic | |||||||||
WP Buzz | 423862 | 20358 | 646.17 | 230 | 1839 | 1845 | 1702 | 191 | 1957 |
WPX | 390093 | 79 | 371.08 | 212 | 265 | 206 | 181 | 13 | 191 |
Discussion
34SP.com, Bluehost, GreenGeeks, ICDSoft, Lightning Base, Namecheap, Nexcess, Pressable, ROMARG, ShortPixel Hosting, Stoute Web Solutions, and WPX all didn't have issues with the Load Storm test.
20i and SiteGround had very good performances with a minor spike or two, but the issues didn't seem to impact the ability of the server to handle the load. Sometimes things happen on the networks out of the control of the server itself and I decided to err in favor of not penalizing the spikes and keep both results as good.
A2Hosting had issues starting around 300 VUsers slowing down and then erroring.
Cloudways started to slow down around 80 VUsers and started erroring towards the end.
Hostgator started to slow down around 425 users and then errored out.
Krystal Hosting started to slow down around 700 VUsers.
ManagedWPHosting spiked at 1000 VUsers and then recovered, but the spike caused slow response times and some errors.
WP Buzz started having issues around 250 VUsers and eventually errored out. This was due to security measures which couldn't be disabled.
K6 Static Testing Results
K6 Static test is designed to test cached performance by repeatedly requesting the homepage.
Results Table
Company | Requests | Errors | Peak Rps | Average Response Time | Average Rps | P95 |
---|---|---|---|---|---|---|
20i | 429848 | 0 | 955 | 48 | 472 | 129 |
34SP.com | 396852 | 0 | 873.5 | 134 | 436 | 277 |
A2 Hosting | 447961 | 0 | 990.83 | 5.4 | 492 | 12 |
Bluehost | 442526 | 0 | 973.83 | 18 | 486 | 25 |
Cloudways | 395870 | 0 | 877.33 | 137 | 435 | 289 |
EasyWP by Namecheap | 389087 | 0 | 856.83 | 157 | 425 | 263 |
GreenGeeks | 401240 | 0 | 881.67 | 122 | 440 | 231 |
Hostgator | 443164 | 4 | 978.83 | 16 | 486 | 24 |
ICDSoft | 397094 | 0 | 882 | 131 | 436 | 267 |
Krystal Hosting | 400231 | 0 | 880.5 | 125 | 440 | 267 |
Lightning Base | 400591 | 0 | 887.83 | 124 | 440 | 242 |
ManagedWPHosting | 387214 | 0 | 843.67 | 162 | 425 | 423 |
Nexcess | 444721 | 1 | 979.5 | 13 | 488 | 20 |
Pressable | 448071 | 0 | 985.83 | 5.2 | 492 | 12 |
ROMARG | 387993 | 0 | 854.5 | 160 | 425 | 305 |
ShortPixel Hosting | 394798 | 0 | 869.33 | 140 | 434 | 297 |
SiteGround | 440765 | 0 | 972 | 22 | 484 | 75 |
Stoute Web Solutions | 434905 | 4 | 972.17 | 21 | 477 | 30 |
Stromonic | ||||||
WP Buzz | 429834 | 0 | 951 | 48 | 472 | 130 |
WPX | 445478 | 0 | 983.83 | 11 | 489 | 52 |
Discussion
Cloudways had some spikes due to max CPU towards the end of the test.
The remaining companies handled the Static test without much issue.
Last year 3 companies were sub 50ms average response times. This year that number is 10. Those numbers for the p95 metric jumped from 3 to 8 this year as well.
Pressable kept their fastest average response time but A2 Hosting was 0.2ms behind and tied them for fastest p95 this year.
Even at the other end, last year's slowest was 267/575 (avg/p95) while this year was 162/423 (avg/p95). ManagedWPHosting improved roughly 100ms faster average and 140ms faster p95. It's great to see such improvements at both ends.
It does seem like there is a pretty clear line between companies with and without CDNs installed by default.
Uptime Testing Results
Uptime is monitored by two companies: HetrixTools and Uptime Robot. A self hosted monitor was also run in case there was a major discrepancy between the two third party monitors.
Results Table
Company | Uptime Robot | Hetrix |
---|---|---|
20i | 100 | 100 |
34SP.com | 100 | 99.9954 |
A2 Hosting | 99.975 | 100 |
Bluehost | 100 | 100 |
Cloudways | 100 | 99.9755 |
EasyWP by Namecheap | 100 | 99.9954 |
GreenGeeks | 99.894 | 99.9783 |
Hostgator | 100 | 100 |
ICDSoft | 100 | 99.9924 |
Krystal Hosting | 100 | 99.9991 |
Lightning Base | 100 | 100 |
ManagedWPHosting | 100 | 99.9991 |
Nexcess | 99.999 | 99.9873 |
Pressable | 100 | 100 |
ROMARG | 99.962 | 99.9372 |
ShortPixel Hosting | 100 | 99.9964 |
SiteGround | 100 | 99.9982 |
Stoute Web Solutions | 100 | 99.9868 |
Stromonic | 99.947 | 99.99 |
WP Buzz | 100 | 99.9991 |
WPX | 100 | 99.9995 |
Discussion
Only one company was below the 99.9% threshold on a single monitor: GreenGeeks on the Uptime Robot was a borderline 99.894%. Meanwhile HetrixTools showed it having 99.9783%. The error was from the very start of the uptime monitoring and it said SSL-Host Mismatch. Hetrix Tools had no issues recorded during the same time frame. I am erring on an uptime monitoring tool problem versus a GreenGeeks problem since it automatically resolved itself and the other service didn't have any issue.
All the other companies maintained 99.9%+ uptime on both monitors.
WebPageTest Testing Results
WebPageTest fully loads the homepage and records how long it takes from 12 different locations around the world. Result are measured in seconds.
Results Table
Company | Virginia | California | Salt Lake City | London | Frankfurt | Cape Town | Singapore | Mumbai | Tokyo | Sydney | Brazil | Dubai | Average |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
20i | 287 | 223 | 923 | 280 | 223 | 920 | 854 | 1066 | 193 | 948 | 724 | 876 | 626 |
34SP.com | 547 | 884 | 883 | 211 | 280 | 894 | 1108 | 942 | 1252 | 1596 | 1071 | 702 | 864 |
A2 Hosting | 209 | 224 | 748 | 237 | 663 | 204 | 215 | 371 | 213 | 276 | 661 | 195 | 351 |
Bluehost | 445 | 309 | 851 | 364 | 629 | 293 | 1022 | 2042 | 1006 | 636 | 573 | 319 | 707 |
Cloudways | 207 | 523 | 397 | 517 | 560 | 1198 | 1225 | 1206 | 916 | 1346 | 708 | 1007 | 818 |
EasyWP by Namecheap | 499 | 223 | 399 | 862 | 872 | 1524 | 1148 | 1467 | 773 | 1190 | 1011 | 1374 | 945 |
GreenGeeks | 202 | 333 | 334 | 492 | 837 | 1130 | 1231 | 978 | 662 | 919 | 1458 | 934 | 793 |
Hostgator | 299 | 267 | 546 | 916 | 428 | 242 | 1835 | 2140 | 380 | 932 | 884 | 286 | 763 |
ICDSoft | 242 | 502 | 406 | 531 | 596 | 1188 | 1541 | 1319 | 1239 | 1188 | 852 | 1068 | 889 |
Krystal Hosting | 321 | 655 | 516 | 533 | 602 | 1228 | 1377 | 1210 | 1419 | 1184 | 859 | 1102 | 917 |
Lightning Base | 284 | 271 | 259 | 493 | 524 | 1147 | 960 | 1029 | 852 | 870 | 859 | 1033 | 715 |
ManagedWPHosting | 719 | 1212 | 1009 | 218 | 244 | 1042 | 1502 | 909 | 1536 | 1825 | 1245 | 827 | 1024 |
Nexcess | 273 | 488 | 436 | 482 | 663 | 1026 | 1001 | 970 | 747 | 1005 | 625 | 909 | 719 |
Pressable | 280 | 267 | 472 | 432 | 575 | 1532 | 1010 | 279 | 270 | 315 | 416 | 382 | 519 |
ROMARG | 854 | 1300 | 964 | 367 | 359 | 1056 | 1252 | 881 | 1497 | 1651 | 1288 | 869 | 1028 |
ShortPixel Hosting | 846 | 1329 | 923 | 333 | 216 | 920 | 1264 | 807 | 1697 | 2257 | 1152 | 734 | 1040 |
SiteGround | 383 | 232 | 322 | 208 | 223 | 1138 | 193 | 506 | 577 | 230 | 197 | 750 | 413 |
Stoute Web Solutions | 566 | 454 | 599 | 537 | 535 | 237 | 1164 | 220 | 239 | 991 | 260 | 238 | 503 |
Stromonic | 6183 | 1557 | 942 | 2109 | 8616 | 2298 | 7277 | 4641 | 2334 | 1984 | 2134 | 2155 | 3519 |
WP Buzz | 208 | 218 | 806 | 213 | 222 | 897 | 672 | 949 | 220 | 931 | 897 | 865 | 592 |
WPX | 232 | 222 | 298 | 218 | 230 | 225 | 214 | 236 | 505 | 219 | 2320 | 130 | 421 |
Discussion
The chart can be adjusted by clicking on a company. Stromonic stands out here for being the slowest by a wide margin at every location. Once you remove them from the graph, it's a lot easier to see how the field who were actively participating performed.
A2 Hosting had the fastest average speed and was the fastest in 1/12 locations
SiteGround had the second fastest average speed and was the fastest in 3/12 locations
WPX had the third fastest average speed and was the fastest in 2/12 locations
GreenGeeks, WPBuzz, LightningBase, ShortPixel, Stoute Web Solutions, and 20i each picked up the fastest speed in a single location.
WPPerformanceTester Testing Results
WPPerformanceTester performs two benchmarks. One is a WordPress (WP Bench) and the other is a PHP Bench. WP Bench measures how many WP queries per second and higher tends to be better (varies considerably by architecture). PHP Bench performs a lot of computational and some database operations which are measured in seconds to complete. Lower PHP Bench is better.
Results Table
Company | PHP Bench | WP Bench |
---|---|---|
20i | 9.26 | 388.9537145 |
34SP.com | 15.623 | 885.7395926 |
A2 Hosting | 8.922 | 1295.336788 |
Bluehost | 11.698 | 920.8103131 |
Cloudways | 15.064 | 488.997555 |
EasyWP by Namecheap | 9.637 | 885.7395926 |
GreenGeeks | 10.104 | 1418.439716 |
Hostgator | 9.982 | 632.5110689 |
ICDSoft | 13.191 | 1406.469761 |
Krystal Hosting | 9.089 | 1672.240803 |
Lightning Base | 9.143 | 481.9277108 |
ManagedWPHosting | 6.895 | 1067.235859 |
Nexcess | 6.11 | 2304.147465 |
Pressable | 9.704 | 1700.680272 |
ROMARG | 7.918 | 1937.984496 |
ShortPixel Hosting | 8.006 | 2092.050209 |
SiteGround | 9.877 | 993.0486594 |
Stoute Web Solutions | 7.279 | 1926.782274 |
Stromonic | 19.169 | 105.1524711 |
WP Buzz | 10.724 | 409.5004095 |
WPX | 7.658 | 1869.158879 |
Discussion
Nexcess had the fastest PHP Bench and WP Bench. ShortPixel had the second fastest WP Bench and ROMARG was third. ManagedWPHosting and Stoute Web Solutions were second and third respectively on the PHP Bench.
SSL Testing Results
The tool is available at https://www.ssllabs.com/ssltest/
Results Table
Company | Qualsys SSL Grade |
---|---|
20i | A+ |
34SP.com | A |
A2 Hosting | A+ |
Bluehost | A |
Cloudways | A |
EasyWP by Namecheap | A+ |
GreenGeeks | A+ |
Hostgator | A |
ICDSoft | A |
Krystal Hosting | A |
Lightning Base | A |
ManagedWPHosting | A+ |
Nexcess | A |
Pressable | A |
ROMARG | A |
ShortPixel Hosting | A |
SiteGround | A |
Stoute Web Solutions | B |
Stromonic | B |
WP Buzz | A |
WPX | A |
Discussion
Stromonic and Stoute Web Solutions had B's.
20i, A2 Hosting, GreenGeeks, ManagedWPHosting, and Namecheap had A+.
Everyone else earned an A.
Conclusion
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 such as reviews, support, and features. It is simply testing performance as described in the methodology.
Top Tier
This year's Top Tier WordPress Hosting Performance Award goes to the following companies who showed virtually no signs of struggle during the testing.
20i
34SP.com
Bluehost
EasyWP by Namecheap
GreenGeeks
ICDSoft
Lightning Base
Nexcess
Pressable
ROMARG
ShortPixel Hosting
SiteGround
Stoute Web Solutions
WPX
Honorable Mention
The following companies earned Honorable Mention status because they did very well and had a minor issue or two holding them back from earning Top Tier status.
No company achieved this status.