Research Best Hosting WordPress Hosting VPS Hosting Reviews Guides Methodology About See #1 Pick →
Full Transparency

How We Test: Every Number on This Site, and Where It Came From

Most hosting review sites never buy a single plan. I buy every account with my own money, measure it, and publish the raw numbers. Here is exactly how every test, score and ranking on ThatMy.com is produced, step by step, with the figures pulled live from the records they came from.

Real Accounts Only 100 Plans Measured No Vendor Perks
Mangesh Supe
Hosting Expert & Benchmarker

I've personally paid for, tested, and been burned by dozens of hosts over 10+ years. I currently run my own sites on ScalaHosting. I earn commissions when you use my links, but I call out bad hosts I could profit from because data beats commissions every time.

100
Plans Measured
12
Test Locations
0-250
Load Ramp
12
Host CPUs Identified
$0
Vendor Sponsorships
Why This Page Exists

Most Hosting Reviews Are Based on Nothing. Ours Are Based on This.

I'm going to be blunt: the majority of hosting review websites on the internet have never purchased a single hosting plan. They rewrite the host's marketing page, add an affiliate link, and call it a "review." No tests. No data. No accountability.

I know this because I've read hundreds of competitor reviews while building ThatMy.com. I can tell in seconds which reviewers have never logged into a cPanel dashboard, never SSH'd into a server, never run a TTFB test. Their reviews say things like "blazing fast servers" and "excellent uptime" without a single number to back it up.

This page exists to show you, in uncomfortable detail, exactly what I do differently. Not because I think you'll enjoy reading about my testing methodology (you probably won't). But because I want you to understand why my recommendations look different from every other site.

When my #1 pick is different from what 50 other blogs recommend, you should know why. The answer is always data. This page shows you that data, the tools that produced it, and the process that keeps it honest.

Here's a quick example of why methodology matters:

What Most Review Sites Do

Read the host's marketing page. Copy the feature list. Add affiliate link. Say "great for beginners!" Collect $150 commission. Never buy the plan. Never test the server. Never read the TOS.

What ThatMy.com Does

Buy the plan at retail price. Install WordPress. Measure response time from twelve locations with no CDN. Run a full load ramp to 250 clients. Identify the CPU model. Look up its PassMark ranking. Read the full TOS. Search TrustPilot for complaints. Publish the raw numbers.

The result? My rankings often disagree with the "consensus." Bluehost is #1 on most review sites. On ThatMy.com, it's on the avoid list. Because when you actually test it, the Starter plan answers in 287ms, drops 3,534 of 8,250 requests under a full load ramp, and renews from $3.99/mo to $9.99/mo. The data tells a very different story than the marketing.

Below is every step of my process, in order, with real examples from actual tests I've run.

Step 1 of 8

We Buy Real Hosting Plans (With Our Own Money)

Every host reviewed on ThatMy.com is purchased with my own credit card at retail pricing. I don't use vendor-provided "press accounts," free review accounts, or demo environments that could have boosted performance. The plan I test is the exact same plan you'd buy if you clicked "Sign Up" right now.

This matters more than you think. Multiple hosts have offered me free accounts for review purposes. I've turned down every single one. Here's why:

The free account problem: When a hosting company gives a reviewer a free account, they know it's being reviewed. They can provision it on their fastest server, assign dedicated resources, or give it priority in the load balancer. The reviewer sees 50ms TTFB and writes a glowing review. You sign up and get 300ms TTFB because you're on a crowded shared server with 200 other accounts. The review was technically accurate, for the server they cherry-picked.

By purchasing at retail price through the normal checkout flow, I get the same experience you get. Same server assignment. Same resource allocation. Same support queue. If the checkout process has confusing upsells, I experience them. If the onboarding is slow, I experience that too.

✓Purchased at retail price, no free or sponsored accounts, ever
✓Standard plans (not enterprise, agency, or "reviewer" tiers)
✓Default server location, no cherry-picked data centers
✓WordPress 6.5+ installed with default theme and demo content
✓No special requests to support (no "please put me on a fast server")
200+
Hosting Plans Tested
100+
Hosting Companies Evaluated
ISP-Level
Infrastructure Background

What about the cost? Maintaining active hosting test accounts isn't cheap. I currently have active accounts on ScalaHosting, Cloudways, Kinsta, Hostinger, Contabo, ChemiCloud, and several others, costing roughly $200/month in hosting bills alone. These accounts exist solely for testing. I fund this through the affiliate commissions I earn when readers sign up through my links. It's a self-sustaining cycle: honest reviews → reader trust → affiliate revenue → more test accounts → more honest reviews.

Some hosts I've tested and subsequently closed the account (GoDaddy, Bluehost, HostGator). For these, I note the test date in my reviews and flag when data might be outdated. I'll reopen accounts and re-test if I have reason to believe the host has significantly changed their infrastructure, which happens more often than you'd think.

Step 2 of 8

Standardized WordPress Setup (Same Config, Every Host)

The single biggest flaw in most hosting benchmarks is uncontrolled variables. If you test Host A with a lightweight theme and Host B with a bloated page builder, the difference you measure is the theme, not the server. Your benchmark is useless.

Every host I test gets the exact same WordPress installation:

✓WordPress version: Latest stable release (currently 6.5.x)
✓Theme: Twenty Twenty-Four (default WordPress theme, no customization)
✓Content: WordPress Theme Unit Test Data (standardized demo content with posts, pages, images, menus, and comments)
✓Plugins: None. Zero. Not even a security or caching plugin
✓CDN: Disabled. No Cloudflare, no host-provided CDN, no external caching
✓Server-side caching: Host default only (LiteSpeed Cache, Varnish, or whatever the host pre-installs)

Why no CDN or caching plugins? Because I'm testing the server, not the caching layer. A CDN can mask a slow server by serving cached static files from edge nodes. That's great for production websites, but it tells you nothing about the underlying server performance. When you run WooCommerce, process forms, or access your admin dashboard, those requests bypass the CDN and hit the actual server. That's the speed that matters, and that's what I measure.

The caching trap: I've seen hosts advertise "50ms response time" that's actually measuring Cloudflare's edge cache, not their server. Remove Cloudflare and the same host clocks in at 400ms. My tests always measure the server without CDN masking. When you see "28ms TTFB" in a ThatMy.com review, that's the raw server speed.

I do note what server-side caching the host provides by default (LiteSpeed Cache on LiteSpeed hosts, Varnish on some VPS platforms, OPcache settings) because this is part of the hosting product. But I never add external caching that you'd have to install yourself, because then I'd be testing the plugin, not the host.

Example: Why Standardization Caught Hostinger Off-Guard

In early 2025, I tested Hostinger's Premium plan with this standardized setup. Their TTFB came in at 182ms, decent, but far from their advertised "fastest hosting." Hostinger's marketing page shows speed test results taken with LiteSpeed Cache fully tuned, Cloudflare CDN active, and an optimized theme. My test strips all of that away. The 182ms is what your server actually does before any optimization.

Is 182ms bad? No. It's acceptable for shared hosting. But it's not the "30ms" their marketing implies, and it's significantly slower than ScalaHosting's 38ms VPS or ChemiCloud's 95ms shared hosting. Context matters. Raw numbers don't lie.

Step 3 of 8

TTFB & Speed Testing (The Most Important Number)

Time To First Byte (TTFB) is the single most important hosting speed metric. It measures how quickly the server responds to a request, the time from your browser sending a request to receiving the first byte of the response. This includes DNS resolution, TCP connection, TLS handshake, and server processing time.

TTFB tells you how fast the server is, independent of your website's code, theme, or content. A 50ms TTFB means the server is fast. A 500ms TTFB means the server is slow. No amount of image optimization, minification, or lazy loading can fix a slow server, because TTFB happens before any content is even delivered.

How I test TTFB:

✓Locations: twelve, and every plan is measured from all of them: New York, Dallas, Toronto, London, Amsterdam, Frankfurt, Paris, Madrid, Sao Paulo, Singapore, Tokyo and Mumbai. The figure I lead with is the United States one, and the global average is published beside it.
✓Scope, and this is the one that matters: every reading is recorded as origin or edge, and the two are never mixed. Of the 100 plans on file, 94 are origin measurements and 6 are edge. A host that answers in 32ms at a CDN edge is not a host with a 32ms server, and this site will not print one as the other.
✓CDN: disabled wherever it can be. Where a host serves everything from its own edge and there is no way to reach the origin, the row says CDN edge instead of inventing an origin number.
✓Caching: first-byte timing, not full page load, so it measures PHP and MySQL execution rather than asset delivery.
✓Window: the readings on this site were taken between 4 and 21 June 2026, over HTTPS on HTTP/2 with TLS 1.3.
✓Per plan, never per host: a figure belongs to the plan it was measured on. A multi-plan host legitimately shows different numbers per tier, and flattening them into one "host speed" is how most comparison tables go wrong.

Why median instead of average? Because one slow response out of 50 can spike the average by 100ms. The median gives you the "typical" experience, what you'd feel when loading the site on a normal visit. I report both median and P95 (the 95th percentile, the speed at which 95% of requests are faster) so you can see both the normal case and the worst case.

Origin TTFB, United States, no CDN · measured June 2026
ScalaHosting (Managed VPS, Start)23ms
Cloudways (Vultr High Frequency)48ms
Kinsta (Single 20GB)64ms
ChemiCloud (Starter, shared)84ms
Hosting.com (StartUp, the brand A2 became)172ms
WP Engine (Startup)242ms
Hostinger (Premium, shared)276ms
Bluehost (Starter, shared)287ms
SiteGround (StartUp, shared)312ms
HostGator (Hatchling, shared)332ms
GoDaddy (Economy, shared)369ms

Every number in that list is read from its record when this page is built, not typed into it. If a measurement changes, this page changes with it, and if a figure is ever removed from the records, this page fails to build rather than publishing a stale one. That is the point of the whole exercise, and it is the one thing on this page you can check without trusting me: the same figures appear on that host's own review, because both read the same file.

Look at that list. ScalaHosting at 23ms. GoDaddy at 369ms. Across all 94 origin measurements on file the spread runs from 21ms to 369ms, a 17.6x difference in server response time. Both are hosting the same WordPress install. Both are sold as "fast hosting."

This is why TTFB testing matters. Without it, you're relying on the host's marketing claim of "fast servers", which every host claims, including GoDaddy.

A note on TTFB variability: TTFB is not constant. It varies by time of day, by server load, and by which physical machine in a data centre you land on. That is why every plan is measured from twelve locations rather than one, and why the global average is published beside the United States figure rather than instead of it. A single reading is a snapshot; the spread across locations is the useful part.
21ms
Fastest origin measured (ScalaHosting VPS)
69ms
Fastest shared plan (ChemiCloud Turbo)
369ms
Slowest origin measured (GoDaddy Economy)
Step 4 of 8

Load Testing, What Happens When Real Traffic Hits

A server can look fast with one visitor. The real test is what happens under load, when hundreds of people request pages at the same time. This is where shared hosting plans fall apart and VPS plans prove their value.

I use Loader.io to drive the traffic. Each plan gets one run that ramps from zero to 250 clients over 60 seconds, and what the run reports is a distribution across the whole ramp: an average, a minimum and maximum, the 95th and 99th percentiles, the total request count and the number that failed. Four of the 100 plans ran a shorter 0-100 ramp and are labelled as such wherever they appear, because a shorter ramp is not comparable with a longer one.

✓Average across the ramp: the mean response time over the whole run. Set against the idle figure from step 3, this is how much slower the server gets once it is busy.
✓Failed requests: the count, and the total it is out of. A response that never arrives is worse than a slow one, and this is the number most comparisons leave out.
✓P95 and P99: the slowest 5% and 1% of requests. The spread between the average and the 99th tells you more than either alone.
✓Minimum and maximum: the best and worst single responses in the run, which bound everything else.
What I do not publish, and why. You will not find a "response time at 25 users" or "at 100 users" column on this site, and you will not find a concurrency at which a host is said to have crashed. The load runs on file report one distribution across the whole ramp, not a reading per step, so a per-concurrency figure is something I would have to derive rather than measure. Where such figures exist elsewhere on the site they are being removed. If a number is interpolated, it is labelled an estimate or it does not appear. This costs the site a table that looks impressive and buys back the one thing the table was supposed to prove.

Why this matters for you: If you're building a business website, you will eventually have traffic spikes. A blog post goes viral on Reddit. A product launch drives 500 visitors in an hour. A Black Friday sale. Your host needs to handle these spikes without crashing, throttling, or throwing errors. Load testing tells you whether it will.

Average across a full 0-250 ramp, and what failed · measured June 2026
ScalaHosting (Managed VPS, Start)11ms · 0 failed
Cloudways (Vultr High Frequency)32ms · 0 failed
Kinsta (Single 20GB)44ms · 0 failed
ChemiCloud (Starter, shared)55ms · 0 failed
Hostinger (Premium, shared)145ms · 66 failed
HostGator (Hatchling, shared)2778ms · 2,952 failed (35.78%)
GoDaddy (Economy, shared)2941ms · 3,252 failed (39.42%)
Bluehost (Starter, shared)3125ms · 3,534 failed (42.84%)

Look at the right-hand column rather than the left. Bluehost, GoDaddy and HostGator did not merely slow down: between them they failed 3,534, 3,252 and 2,952 of the 8,250 requests each was sent. Better than a third of the traffic got an error rather than a page. These are the same hosts millions of people run business websites on.

ScalaHosting's VPS averaged 11ms across the same ramp with 0 failures, and its 99th percentile still came back in 44.02ms. That is what dedicated CPU cores buy: nobody else's traffic is competing for them. On shared hosting your site shares a processor with hundreds of other accounts, and when one of them spikes, everyone behind it waits.

The shared hosting lie: "Unlimited bandwidth" means nothing when better than a third of your requests come back as errors under load. Bandwidth is a data transfer limit. Concurrency is a server processing limit. Every cheap shared host has the bandwidth. On the evidence above, several cannot handle the concurrency. That is the gap between what they sell and what they deliver.
11ms
Best average under load (ScalaHosting Start)
42.84%
Worst failure rate (Bluehost Starter)
8,250
Requests per run
Step 5 of 8

CPU PassMark Verification, Exposing the Hardware Gap

Hosting companies love to say "powerful servers" and "high-performance infrastructure" without telling you what CPU you're actually running on. I find out. Here's how:

Where I have shell access (VPS and cloud): I run lscpu to get the exact model, then look it up on PassMark's CPU Benchmark database and record the score and the rank from that processor's own page. The rank is out of 5,999 CPUs, which is the size of PassMark's list. An older denominator is still printed on some pages of this site and is being corrected; where the two disagree, the figure above is the current one.

Where shell access is limited (most shared hosting): I take it from the control panel where one exposes it, then the host's own trust page, hardware spec page or server inventory, then a support ticket. Every row on this site records which of those it came from, because "verified over SSH" and "the vendor told me" are not the same standard and should not look the same. Some hosts will not answer at all, which is itself an answer.

What a PassMark score actually measures is worth two minutes if you have not met the metric before: it is a multi-threaded throughput figure, so it describes the chip rather than the slice of it you were sold.

Why CPU model matters: The difference between a 2016 Intel Xeon E5-2650 and a 2024 AMD EPYC 9474F is massive, 10x+ in single-thread performance. Hosting companies that use older CPUs can offer lower prices because the hardware is depreciated. But your WordPress site executes PHP on a single thread, so single-thread CPU performance directly determines your page generation speed.

The hardware I actually found · PassMark, checked 2 September 2026
ScalaHostingAMD EPYC 9474F, #42 of 5,999 (102,255 pts)
Cloudways (Vultr HF)Intel Xeon, 3GHz+, SKU not published, so no PassMark rank
KinstaAMD EPYC 7502, #248 of 5,999 (51,871 pts)
HostingerAMD EPYC 7352, #375 of 5,999 (39,906 pts)
SiteGroundIntel Xeon Gold 6248R, #432 of 5,999 (36,067 pts)
HostGatorIntel Xeon E5-2690 v4, #1,069 of 5,999 (19,155 pts)
ChemiCloudAMD EPYC 9354, #110 of 5,999 (73,240 pts)
BluehostIntel Xeon E5-2680 v3, #1,343 of 5,999 (14,783 pts)
GoDaddyIntel Xeon Silver 4114, #1,468 of 5,999 (13,167 pts)
Rocket.netIntel Xeon E5-2667 v2, #1,543 of 5,999 (12,150 pts)

ScalaHosting's AMD EPYC 9474F scores 102,255 and sits at #42. Rocket.net's Intel Xeon E5-2667 v2, a 2013 part, scores 12,150. That is an 8.4x gap between the best and worst processors I found, spanning a decade of hardware from 2013 to 2023. Both are sold as "hosting."

Rocket.net is the interesting one, and the reason a CPU rank is never the whole story: it sits at the bottom of that list and is still one of the fastest hosts on this site, because every request is answered from a Cloudflare Enterprise edge rather than from that processor. Hardware explains a lot. It does not explain everything, and a methodology that ranked purely on silicon would get that host badly wrong.

This is why I identify the CPU in every review, and why the number is published with the rank denominator and the date attached. You cannot compare hosting plans without knowing what hardware is underneath, and a $3/mo plan on a 2023 EPYC will beat a $10/mo plan on a recycled 2014 Xeon. The full table is on the CPU rankings page.

The "CPU cores" trick: Some VPS hosts advertise "8 CPU cores" without telling you what CPU model those cores come from. 8 cores of an AMD EPYC 9474F is a beast. 8 cores of an Intel Xeon E5-2640 from 2012 is barely faster than a modern dual-core. Always check the specific model, not just the core count.
#42
Best rank found, of 5,999
102,255
Top PassMark score (AMD EPYC 9474F)
8.4x
Gap between the best and worst I found
Step 6 of 8

Uptime Monitoring, and the Window I Actually Publish

Speed doesn't matter if your site is down. I watch every host with external uptime monitors that check from more than one location, and every outage is logged with its start time, end time, duration and response code.

The number on this site covers 54 days, not a year. Monitoring runs continuously, but the uptime percentages published beside every plan are computed from real incident minutes over one window, 1 May to 24 June 2026, and that window is printed in the cell rather than rounded up. Some pages of this site still carry a label naming a longer period; where they do, the figure underneath it is this window, and the label is being corrected. A percentage is meaningless without the period it covers, and quoting a year's worth of confidence from eight weeks of data is the sort of thing this page exists to argue against.

Why a longer record still matters: any host can have a good week. The patterns worth knowing, recurring outages, maintenance-window problems, degradation at peak hours, only emerge over months. That is the argument for monitoring continuously. It is not an argument for labelling eight weeks as twelve months, so the site now says which it has.

How I monitor:

✓Source: external uptime monitors, which every uptime figure on this site is computed from
✓Locations: checks come from more than one location, so one bad network path does not count as an outage
✓Monitoring type: HTTP response check (not just ping, verifies actual page delivery)
✓Alert threshold: Any response code other than 200, or response time exceeding 10 seconds
✓Logging: Every incident logged with start time, end time, duration, and response code
✓Verification: When a downtime alert fires, I manually verify to eliminate false positives
The 99.9% uptime myth: Every host "guarantees" 99.9% uptime. Let's do the math. 99.9% uptime allows 1.3 hours of downtime over our 54-day window, and 8.76 hours across a full year. That is a working day offline annually, and the guarantee is usually a service credit rather than a refund. If your ecommerce store loses $1,000/hour during an outage, and the host gives you a $2.00 credit, are you satisfied? The SLA exists to protect the host, not you.
99.999%
Best measured (Liquid Web VPS 4GB)
99.709%
Worst measured (iPage Go, now retired)
54 days
Window every published figure covers

What I've learned from uptime monitoring: Most reputable hosts deliver 99.95%+ uptime consistently. The real differences emerge in how they handle incidents, scheduled maintenance communication, incident response time, and transparency about root causes. ScalaHosting has been the most transparent: they publish incident reports and proactively notify clients. Some hosts (I won't name names... actually, yes I will, GoDaddy and Bluehost) don't acknowledge outages at all unless you open a support ticket first.

Step 7 of 8

Renewal Price & TOS Deep-Dive (Where the Scams Live)

This is the step that most reviewers skip entirely, and it's the one that saves you the most money. The intro price is marketing. The renewal price is what you actually pay. And the Terms of Service is where the fine print hides the real resource limits, suspension policies, and billing traps.

For every host, I document:

✓Intro price vs. renewal price for every plan tier. Across the 222 plans I hold verified prices for, the increase runs from 0% to +1,300%, and 96 of them never raise the rate at all
✓Contract lock-in: What's the minimum billing period? Monthly? 12 months? 36 months? Most intro prices require 36-month prepayment
✓CPU/RAM limits from TOS/AUP: The real resource caps hidden in the "Fair Use" or "Acceptable Use" section
✓Inode limits: The file count limit that effectively caps your "unlimited" storage
✓Money-back guarantee conditions: What's excluded? Domain fees? Setup fees? Add-on services?
✓Cancellation process: How easy (or hard) is it to actually cancel and get your refund?
✓Hidden upsells: What's auto-checked during checkout? Domain privacy? Codeguard? SiteLock?
The renewal trap, read from each vendor's own pricing page
Rocket.net Starter$25.00/mo → $25.00/mo (+0%)
Kinsta Single 20GB$29.17/mo → $29.17/mo (+0%)
Bluehost Starter$3.99/mo → $9.99/mo (+150%)
HostGator Hatchling$3.75/mo → $10.99/mo (+193%)
ChemiCloud Starter$3.49/mo → $11.95/mo (+242%)
Hostinger Premium$2.99/mo → $10.99/mo (+268%)
ScalaHosting Mini$2.95/mo → $11.95/mo (+305%)
SiteGround StartUp$3.99/mo → $17.99/mo (+351%)
FastComet Starter$1.99/mo → $9.95/mo (+400%)
IONOS Plus$1.00/mo → $14.00/mo (+1300%)

Two things in that list are worth sitting with. The first is that ScalaHosting Mini is in the bad half. It goes $2.95/mo to $11.95/mo, +305%, on a 36 months term. This site recommends ScalaHosting and used to publish a renewal less than half that figure, which would have made it a 68% rise. It is not 68%. The vendor's own pricing page says otherwise, and a methodology page that hid its favourite host's renewal would be worth nothing.

The second is what separates the top of the list from the bottom, and it is not price tier. Rocket.net and Kinsta cost far more than the shared plans and charge the same on renewal as on day one, because neither ran an introductory rate to expire. SiteGround StartUp goes from $3.99/mo to $17.99/mo. The intro rate holds for 12 months, and year two then costs $215.88 against $47.88 for the whole of the first term. That is not a price increase, it is a different product at several times the cost, and the number was on the page you bought it from.

The TOS story that made me angry: In 2023, I was reviewing a popular shared host (I've since published the full review). Their marketing said "unlimited storage." Their TOS, Section 11.2, said: "Customer storage shall not exceed 250,000 inodes." An inode is roughly one file. A typical WordPress install with plugins and a few hundred posts uses 50,000-100,000 inodes. So "unlimited storage" actually means "you can't have more than a moderately complex WordPress site." I showed this exact clause in the review. The host's affiliate manager emailed me asking me to remove it. I didn't.

Why I read the full TOS: Because the marketing page says "unlimited" and the TOS page says "25% CPU, 200,000 inodes, 1GB RAM, 20 entry processes." The TOS is the legal document. The marketing page is an advertisement. I quote the TOS.

96
Plans that never raise the rate
+1300%
Worst markup found (IONOS Plus)
222
Plans with a verified renewal price
Step 8 of 8

TrustPilot, Reddit & Complaint Ecosystem Research

Speed tests and pricing analysis tell you what the product does. Complaint research tells you what happens when things go wrong, which they will, eventually, with every host. I want to know: When customers have problems, does the host fix them or fight them?

TrustPilot research method:

✓Total review count and overall star rating
✓1-star and 2-star review count (the actual complaint volume)
✓Keyword-filtered searches for specific complaint types: "suspend" · "slow" · "billing" · "refund" · "cancel" · "downtime" · "scam" · "phishing" · "cpu" · "migration"
✓Pattern detection: if 50+ reviews mention the same issue (e.g., "account suspended for CPU"), it's systemic
✓Response rate: does the host respond to complaints, and are the responses helpful or copy-paste?

Reddit research method:

✓r/webhosting, the main web hosting discussion subreddit
✓Provider-specific subreddits (r/Cloudways, r/SiteGround, etc.)
✓r/WordPress for hosting-related threads
✓Pattern analysis: if 15+ threads report the same issue, it's not bad luck, it's a product problem
✓Extreme anecdotes: data loss, billing disputes over $500+, multi-day outages
Example, Bluehost complaint pattern: On TrustPilot, Bluehost has 4,200+ 1-star reviews as of early 2026. Filtering by "suspend" returns 300+ results. Filtering by "refund" returns 400+ results. The pattern: customer signs up, site gets suspended for "resource usage," customer tries to cancel, host makes it difficult to get a refund. This isn't anecdotal, it's hundreds of independent people reporting the same experience. That data goes directly into my Bluehost review.

Why complaint research matters: A host with 100ms TTFB and great benchmarks can still ruin your business if their support is terrible, their billing is predatory, or they suspend accounts without warning. I've seen hosts with excellent technical performance but abysmal customer treatment. My reviews include both dimensions, because you deserve to know what happens when something breaks.

Ownership research: I also check who owns the hosting company. Private equity acquisitions are a reliable predictor of quality decline. When Newfold Digital acquired Bluehost and HostGator, support quality dropped and prices rose. When DigitalOcean acquired Cloudways, the same pattern began. I track ownership changes via Crunchbase, Wikipedia, and SEC filings because they affect your experience 12-24 months after the acquisition, long after the "everything stays the same" press release.

The Full Picture

How All 8 Steps Come Together Into a Ranking

After completing all 8 steps for a host, I have a comprehensive profile: raw server speed, load resilience, CPU power, uptime reliability, true pricing, TOS fine print, and real user complaints. Now I rank.

My ranking factors, weighted by importance:

30%
Server Performance
TTFB, load test results, CPU PassMark ranking. The core technical capability.
25%
True Value (Price/Performance)
Renewal price, not intro price. What you actually pay per ms of TTFB performance.
15%
Uptime & Reliability
Measured uptime over a stated window, incident transparency, recovery speed.
15%
TOS Honesty & Limits
Marketing vs. reality gap. Renewal markup. Hidden fees. Resource limit transparency.
10%
Customer Treatment
TrustPilot/Reddit complaint patterns, support quality, cancellation difficulty.
5%
Features & Ecosystem
Control panel, free SSL, backups, migration, staging, email, CDN inclusion.

Why performance is weighted highest (30%): Because it's the one thing you can't fix yourself. You can add a CDN. You can optimize your images. You can install a caching plugin. But you can't make a slow server fast. Server performance is the foundation, everything else is built on top of it.

Why features are weighted lowest (5%): Because features are commoditized. Every host offers free SSL, one-click WordPress, and automated backups. These are table stakes in 2026, not differentiators. I won't rank a host higher because they include "free domain" when their server is 3x slower than the competition.

Important transparency note: These weights are my editorial judgment, not an algorithm. I don't plug numbers into a formula and publish whatever score comes out. I use the data to inform my ranking, then apply judgment based on 10+ years of experience, including managing real network infrastructure at the ISP level, where I dealt with traffic shaping, load balancing, and server capacity firsthand. If two hosts have similar benchmarks but one has a terrible TrustPilot record, I'll rank the cleaner host higher even if the math says they're equal. Data informs the ranking. Experience finalizes it.

How I score a host: the plan I tested, not the company. One company sells very different machines under one name. In the same test round, hosting.com's Startup shared plan answered in 172ms and slowed to 640ms with 100 visitors at once; its Cloud VPS 8 GB answered in 79ms and needed only 155ms with the same 100 visitors. A single score for "hosting.com" would be wrong for one of them. So a score box names the plan it is for, and a review that tests several plans gives each one its own score. Reviews updated from September 2026 follow this; older ones are being brought in line.

The five parts of a score, each out of 10: speed (TTFB and the load test), value (what you pay for that speed on the term you would really buy), support (my own tickets and chats), ease of use (signup to a working WordPress site, timed) and renewal fairness (the renewal price against the first price). The overall score is the plain average of the five, so you can check the sum yourself.

What We Don't Do

Things You'll Never See on ThatMy.com

Transparency isn't just about what I do, it's about what I refuse to do. Here are the practices you'll never find on this site:

✗Paid reviews. No hosting company has ever paid me to write a review, or been given editorial control over any page. If they offered, I'd decline. And then probably write a critical review out of spite.
✗Vendor-provided test accounts. I buy every plan at retail price. No free accounts, no "press" access, no demo environments with boosted performance.
✗Rankings based on commission rates. Bluehost pays $150+ per signup. I don't recommend them. ScalaHosting pays less. I recommend them anyway. Commission rates don't affect rankings. Period.
✗Fake testimonials or fabricated data. Every benchmark number on ThatMy.com comes from a real test I ran on a real server I paid for. If I haven't tested something, I'll say "I haven't tested this yet" rather than make up numbers.
✗Removing negative information at a host's request. I've received emails from affiliate managers asking me to soften negative reviews or remove TOS analysis. I haven't complied. Not once.
✗Ranking every host as "#1 Best For [Something]." If a host is bad, it gets a low ranking. If it's terrible, it goes on the avoid list. I'd rather have 5 good recommendations than 20 inflated ones.

I'd rather lose affiliate revenue by being honest than gain revenue by misleading the people who trust me. That's not just ethics, it's good business. Readers who trust you come back. Readers you've deceived don't.

, Mangesh Supe, Founder of ThatMy.com
Ongoing Process

Testing Never Stops, Our Ongoing Monitoring Process

My testing isn't a one-time event. Hosting companies change, they upgrade servers, raise prices, get acquired, change TOS policies, switch data centers. A review from 2023 can be dangerously outdated in 2026. Here's how I keep everything current:

Three test rounds a year, every four months: each round re-runs the TTFB and load tests, checks for CPU upgrades and downgrades, and re-reads current pricing. Three rounds a year leaves each round long enough to watch uptime over a real window instead of a few days. If a host changes significantly between rounds, I update the review within two weeks.

Uptime in every round: each round watches uptime over one fixed window, and every uptime figure on the site prints the window it covers.

Pricing surveillance: Hosting companies change prices without announcing it. I manually check pricing pages monthly and compare against my records. When I find a change, I update every page that references that host's pricing.

Ownership & industry tracking: I monitor hosting industry news for acquisitions, leadership changes, and infrastructure updates. When DigitalOcean acquired Cloudways, I re-evaluated and updated my Cloudways recommendation within a month, including projections about likely price increases that turned out to be accurate.

TrustPilot & Reddit monitoring: I check complaint ecosystems monthly for each major host. A sudden spike in 1-star reviews about a specific issue (e.g., "account suspended," "billing dispute") triggers an immediate review update.

The freshness commitment: Every review page on ThatMy.com shows a "Last Updated" date. If that date is more than 6 months old, the data might be stale and I'll note that explicitly. My goal is to re-check every review in each four-month round, and to fix a price or a claim between rounds as soon as I see it change.
Our Toolbox

The Exact Tools I Use (No Secret Sauce)

I'm not hiding my methodology behind proprietary tools. Here's every tool I use, most are free. You could replicate my tests yourself if you wanted to.

WebPageTest
TTFB Measurement
Every plan measured from twelve locations, New York through Mumbai, on a stock WordPress install with the CDN off. Each reading is filed as an origin or an edge measurement and the two are never mixed. Free, and you can re-run any of it.
Loader.io
Load Testing
One run per plan, ramping from zero to 250 clients over 60 seconds. It reports a distribution across the whole ramp: average, minimum, maximum, P95, P99, total requests and failures. It does not report a reading per concurrency, which is why this site does not publish one.
PassMark CPU Benchmark Database
Score and rank taken from each processor's own page on cpubenchmark.net, not from a summary table. The rank is out of 5,999 CPUs, checked on 2 September 2026, and the date travels with the figure.
External uptime monitors
Uptime Tracking
HTTP checks from more than one location, with an incident log per host. The percentages published on this site are computed from real incident minutes over a stated 54 days window, which is printed beside every figure rather than rounded up to a year.
lscpu over SSH
CPU Model Identification
Where there is shell access, lscpu gives the exact model. Where there is not, the control panel, the host's own hardware or trust page, or a support ticket, and every row records which of those it came from. "Verified over SSH" and "the vendor told me" are different standards and are labelled differently.
Manual TOS/AUP Review
Fine Print Analysis
No tool for this one, just me, a cup of chai, and 40 pages of legalese. I extract CPU limits, inode caps, bandwidth policies, suspension conditions, and refund exclusions from every host's Terms of Service.

None of these tools are proprietary or expensive. The "secret" to ThatMy.com's methodology isn't special software, it's the willingness to actually spend the time and money to do the testing. Most review sites don't test because testing takes months and costs thousands of dollars. Writing a fake review from the marketing page takes 30 minutes and costs nothing.

Common Questions

Questions About Our Testing (Answered Honestly)

"Do you earn affiliate commissions?"

Yes. When you click an affiliate link on ThatMy.com and sign up for hosting, I earn a commission. This is disclosed on every page. Affiliate commissions are how I fund the $200+/month in test hosting accounts and the thousands of hours of research. But, and this is the critical difference, I recommend hosts based on test data, not commission rates. Bluehost pays me more per signup than ScalaHosting. I recommend ScalaHosting anyway. The data decides.

"How do I know your benchmarks are real?"

You don't, and you shouldn't trust anyone blindly. What I can tell you is how the numbers get onto the page. Every measurement lives in one record per plan, and every figure you read is pulled from that record when the page is built rather than typed into the sentence. That has three consequences you can check. A figure on a host's review and the same figure on a comparison page cannot disagree, because they are the same value read twice. A claim the records cannot support does not render as a guess, it stops the build. And a measurement that was never taken, such as a response time at one specific concurrency, cannot be published at all, which is why you will not find that column here. If you think a number is wrong, tell me and I will re-test and correct it publicly.

"Why don't you test more hosts?"

Money and time. Each host costs $50 to $200 to test, between the plan purchase and the monitoring that follows it. I currently hold measurements for 100 plans across 29 providers, and verified prices for 222 plans across 66. I prioritise hosts readers actually consider: the major shared hosts, the popular managed WordPress platforms, and the VPS providers that serve the most customers. If you want a specific host tested, tell me and I will add it to the list.

"Doesn't your recommendation of ScalaHosting make you biased?"

Fair question. Yes, I use ScalaHosting for ThatMy.com. Yes, I recommend them. Could I be subconsciously biased? Maybe. Here's my counter: I've switched my #1 recommendation three times in 10 years (SiteGround → Cloudways → ScalaHosting). Each time, I switched because the data told me to, not because of any financial relationship. I recommended SiteGround when they deserved it. I stopped when they didn't. I'll do the same with ScalaHosting if they ever stop earning the #1 spot. My track record shows I follow the data, even when it costs me affiliate revenue.

"Why do your rankings disagree with other review sites?"

Because other review sites don't test. They rank on commission rates, brand recognition and recycled opinions. When you actually buy the plans and run the benchmarks, the results look very different from the marketing. Bluehost ranks #1 on sites that earn $150 a signup without testing. On ThatMy.com, where I measured 287ms at the origin, 3,534 failed requests out of 8,250 under load, and a renewal from $3.99/mo to $9.99/mo, it is on the avoid list. The data decides.

"How often do you update your reviews?"

Every review is re-checked in each test round, three rounds a year, every four months. If a host changes pricing, upgrades hardware, or has a major incident, I update the relevant pages within two weeks. Every page shows its "Last Updated" date.

"Can hosting companies pay to improve their ranking?"

No. Not for any amount of money. I've been asked. I've declined. If that ever changes, ThatMy.com will be shut down the same day, because the site's entire value is built on honest rankings.

See the Data in Action

Now that you know how the numbers are produced, here is where they live. The first two are the datasets this methodology writes into, and every figure on them is the same value this page reads.

The Benchmark Dataset CPU Rankings Every Host Reviewed Best Hosting 2026 About the Author