Most people switch hosting only when the site breaks completely. By then, they've usually been slowly bleeding performance for months. These are the warning signs to watch for before you hit the wall.
Red Flag #1: TTFB Consistently Over 600ms
Time to First Byte is the clearest indicator of server-side performance. Open Chrome DevTools (F12 → Network → reload → click the first HTML request → Timing tab). Look at "Waiting (TTFB)."
What the numbers mean:
- Under 200ms: excellent
- 200–400ms: good, most managed hosts land here
- 400–600ms: acceptable for shared hosting, poor for managed
- Over 600ms: your server is the bottleneck; no frontend optimization will reliably get you to LCP < 2.5s
I've debugged hundreds of "my WordPress is slow" tickets. When I see a TTFB over 600ms, I ask about hosting before I ask about plugins. 80% of the time, the hosting is the problem.
What to do: Run the test on 3 different days at different times. If you're consistently over 600ms, check what hosting tier you're on. Budget shared hosting routinely hits 600ms+ during peak hours. Moving to Cloudways typically cuts TTFB by 30–50%.
Red Flag #2: Your Host Told You to "Upgrade to VPS" Without Diagnosing the Problem
This is almost a word-for-word script that shared hosting support uses when they can't fix a performance issue:
"Your site has high resource usage. We recommend upgrading to our VPS plan for better performance."
Sometimes this is legitimate. But more often, it means:
- Your site is on an overcrowded shared server
- The support rep doesn't know what specifically is causing the problem
- The upsell is the easiest path for them
Before upgrading, ask: What specific resource is being exceeded — CPU, RAM, or disk I/O? What's the actual usage graph? What was the trigger event?
If they can't tell you, the "upgrade" might move you from one overcrowded shared server to a slightly less overcrowded one at a higher price. The solution might actually be on your current plan — a misconfigured plugin, missing caching, or a slow database query.
When the VPS recommendation is legitimate: If your site is growing past 10k monthly visitors with WooCommerce, and TTFB is spiking, the shared server ceiling is real. But the upgrade path should be to a provider with transparent VPS pricing (Cloudways), not necessarily your current host's VPS tier.
Red Flag #3: The Site Goes Down When a Post Goes Viral
This is the most expensive red flag. A post gets picked up by a major publication or social media — traffic spikes 10× over an hour — and your site returns 503 errors.
This is the defining failure mode of shared hosting. When your server's PHP worker pool is full (because hundreds of other sites on your server also have demand), new requests queue or fail. You can't configure your way out of this on shared hosting because you don't control the resource allocation.
What you need: A hosting plan where your compute resources are guaranteed and isolated. This means VPS (Cloudways, Hetzner) or managed hosting (Kinsta, WP Engine).
Quick estimate of risk: If your site has been referenced on social media, linked from a newsletter with > 10k subscribers, or has any chance of press coverage — shared hosting is a liability. The cost of a 2-hour outage during your 15 minutes of fame exceeds the annual cost difference between shared and managed hosting.
Red Flag #4: Google Search Console Shows Core Web Vitals Failures at Scale
Core Web Vitals field data (from real Chrome users) aggregates across all your visitors. If Google Search Console is showing large numbers of "Poor" LCP or TTFB URLs, it's often an infrastructure problem, not a code problem.
The distinction: if one page has poor LCP, it might be a large hero image or a render-blocking script. If your entire site has poor LCP at similar rates, the server is the common factor.
Check this: In Search Console → Core Web Vitals → click into "Poor" URLs → group by page type. If the problem is site-wide and consistent, run the TTFB check from Red Flag #1 on multiple pages. Consistent high TTFB across all page types = hosting problem.
Red Flag #5: You're Getting "Resource Limit" Emails
Budget shared hosts send these when your site exceeds their CPU, RAM, or bandwidth thresholds. The email usually says something like:
"Your account exceeded the allowable CPU usage limit. If this continues, your account may be suspended."
This is the throttling mechanism that most shared hosts use instead of actually isolating resources. When your site uses more than the "fair use" allocation, the host throttles your PHP execution.
What "unlimited" actually means: Unlimited storage and bandwidth on a $3/mo plan is limited by CPU time, PHP workers, and MySQL connections — the things that actually constrain performance. The "unlimited" label refers to disk allocation, not compute.
Once you're getting resource limit emails regularly, shared hosting has hit its ceiling for your site. This is the clear signal to move.
Red Flag #6: Support Tells You to "Disable Plugins" for Every Ticket
"Have you tried disabling all plugins and switching to the default theme?" is the shared hosting equivalent of "have you tried turning it off and on again." Sometimes it's legitimate troubleshooting. When it's the first response to every ticket, it indicates the support team can't actually debug WordPress issues.
Managed hosting support should be able to:
- Read your PHP error logs
- Identify slow database queries from the MySQL slow query log
- Tell you if the problem is server-side or WordPress-side
- Help you debug specific plugins without requiring you to break your live site
If your support's answer is always "try a clean install" or "disable everything," you're getting server support, not WordPress support. Kinsta's support has debugged specific WooCommerce payment gateway conflicts for us. That's the bar.
Red Flag #7: Your Renewal Price Is 5× Your Intro Price
This isn't directly a performance issue, but it determines whether you stay on subpar hosting longer than you should.
The pattern: sign up at $2.99/mo, renewal bill arrives 12 months later at $14.99/mo. Many people pay it because switching is friction, and the introductory price set an expectation that the real price shatters.
The math at renewal time:
- SiteGround GrowBig at $17.99/mo vs Cloudways DigitalOcean 2GB at $14/mo: Cloudways is cheaper AND faster
- Bluehost at $10.99/mo renewal vs Hostinger Business at $8.99/mo: Hostinger is cheaper AND faster
- Any budget shared plan over $15/mo renewal: almost certainly time to evaluate Cloudways
The renewal invoice is the natural moment to evaluate whether you're on the right host. If your renewal is higher than the entry price of a better option, the friction of switching is worth it.
What To Do If You're Seeing These Signs
- Run a TTFB test (Chrome DevTools → Network → Timing) — establish a baseline number
- Check which red flags apply — how many are you seeing?
- Calculate the cost of staying vs switching — use our ROI Calculator
- For most sites: Cloudways is the upgrade that makes financial sense from shared hosting
- For WooCommerce at scale: Kinsta or Nexcess
Switching hosts takes 2–4 hours for most WordPress sites. The performance improvement is immediate. The question is whether you're waiting for a complete failure or acting on the warning signs.