Skip to main content
.com domains from $2.99 — free WHOIS privacy on every name

Speed profile · Plumbers

Plumbers: the request that matters is the uncached one

Your emergency callout page gets four visits a night, so it is never in cache when the one that counts arrives.

The short answer

For a plumber, the request to optimise is the first one after a quiet spell. Emergency pages get low, spiky traffic, which means the cache has usually expired by the time somebody with a burst pipe arrives. They get the slow uncached version of the page while everyone testing it during the day gets the fast cached one.

That gap is measurable. Fetch the page twice with curl and compare the time to first byte: the cached hit should sit well under 200 milliseconds and the cold hit should still clear 800. Anything worse on the cold path is PHP or database work, and it is the version of the page your best-paying visitor sees.

Every plan runs NVMe behind a LiteSpeed cache, with free SSL, free migration and 24/7 humans included, from $2.42/mo with no setup fee and no renewal jump.

By the HostingFast team · Reviewed 12 August 2026

Free

Migration in, handled for you

24/7

Desk staffed at 3am

Daily

Backup interval

$0

To open an account

Plumbing traffic is not smooth. A boiler service page ticks along; an emergency callout page sits idle for hours and then takes three visits in ninety seconds at half past two in the morning, from three different people on three different networks.

Every speed test you have ever run on that page was a warm one, because you loaded it once to get the URL and then again to test it. The second load was cached. The visitor's was not.

This guide is about the cold path: how to measure it honestly, what a good number looks like on it, and which of the usual optimisations actually help when nothing is sitting in cache waiting.

Measure the cold hit, not the warm one

From a terminal, run curl against your emergency page with the write-out option set to time_starttransfer, once with a random query string on the end and once without. The first figure is roughly what a first visitor gets; the second is what you get when you test casually. If the two are far apart, every optimisation you have judged by the warm number has been judged wrongly.

Do the same in a browser with DevTools open, Disable cache ticked and throttling set to Slow 4G. Watch where Largest Contentful Paint lands. Under 2.5 seconds is the threshold you want at the 75th percentile of real visits; on the cold path a lot of trade sites come in above four.

A budget for the callout page

Write the budget down before you optimise anything, because a budget is what makes the next decision easy. A workable one for an emergency page: under 800 ms to first byte, under 2.5 seconds to largest paint on 4G, under 200 ms Interaction to Next Paint when somebody taps the call button, and under 600 KB transferred before the fold.

That budget usually rules out the things a designer wants and keeps the things a customer needs. A full-bleed video header does not fit. A map embed above the fold does not fit. A phone number rendered as text with a tel link, your service area in plain words, and one photograph of a van all fit comfortably.

Third-party scripts are almost always the culprit

Open the Network panel, filter to JS, and sort by transfer size. On most plumbing sites the top three entries are not your site at all: a chat widget, a review badge and a tag manager container that loads two more things once it arrives. Together they routinely add 400 to 900 KB and, worse, they occupy the main thread at exactly the moment somebody is trying to tap Call.

That main-thread contention is what Interaction to Next Paint measures, and it is the metric a chat widget wrecks. Load the widget after a user interaction rather than on page load, defer the tag container, and drop any badge that has to phone home before it can render. Then re-measure the tap, not the load.

Keep the cold path warm where you can

You cannot keep every page in cache, but you can stop the cache being thrown away for no reason. Check that the LiteSpeed cache is not being purged by a plugin on every comment or form submission, and that your booking form is not appended to the page in a way that marks the whole document uncacheable.

Uptime matters here more than on most trades: a site down at 2am is not an inconvenience, it is the job going to whoever answers next. The 99.9% commitment carries a pro-rated credit, daily backups mean a bad plugin update is a ten-minute restore, and support is staffed at every hour, with first replies targeted at two hours and one hour when a site is actually down.

A support engineer picking up at whatever hour the question lands

Built for traffic that arrives in bursts

LiteSpeed serves a cached page without starting PHP, and NVMe keeps the uncached path quick when the cache has gone cold overnight. Both halves of the burst are covered.

Support is staffed around the clock rather than during office hours, which is the point for a trade whose best enquiries arrive when offices are shut.

  • LiteSpeed answers the warm hit before PHP starts
  • NVMe carries the cold hit — the 6am one
  • A fresh backup daily, restored from cPanel in a click
  • 24/7 humans, first reply targeted at two hours

Why HostingFast

Standard on every plan

Fast when it is cold

NVMe keeps the uncached request quick, which is the one an emergency visitor actually gets after a quiet night.

Fast when it is warm

LiteSpeed answers a cached page before PHP starts, so a burst of three visits in a minute costs the server almost nothing.

Mail that arrives

MailChannels handles outbound delivery, so a form notification does not sit in a spam folder while the job goes elsewhere.

Restores without a ticket

A daily backup turns a broken plugin update at midnight into a ten-minute rewind you can run yourself.

Cover at unsociable hours

Support is on shift at any hour, with first replies targeted at two hours and one hour when a site is down.

No setup fee, no renewal jump

The rate you sign up at is the rate you renew at, and there is no joining charge on any plan.

Quick Start

From order to online

  1. 1

    Time the cold path

    Run curl with a random query string against your emergency page and note the time to first byte. That figure, not the warm one, is your real starting point.

  2. 2

    Write the budget down

    Under 800 ms to first byte, under 2.5 s to largest paint on 4G, under 200 ms to next paint on the call button. Anything a designer proposes gets checked against those four numbers.

  3. 3

    Cut third-party JavaScript first

    Defer the chat widget until interaction, remove badges that render late, and re-measure the tap. It is nearly always a bigger win than anything you can change server-side.

Built In

Loaded onto every plan

  • LiteSpeed sits in front of PHP, so the warm hit never wakes it
  • NVMe SSD carries the cold hit, which is the one that costs you
  • Free SSL that reissues itself well ahead of expiry
  • A fresh daily backup you can restore yourself from cPanel
  • MailChannels gets the callout notification out of the queue
  • 24/7 humans, not a ticket queue that opens at nine on Monday
  • Free migration from your current host, run by engineers
  • ImunifyAV+ sweeping every site on the account for malware
  • No setup fee on Sprint, Turbo or Nitro
  • Refunds: 30 days on hosting, 7 on reseller

Frequently Asked

What people ask us most often

Why does my emergency page test fast for me and slow for customers?

Because you tested it warm. You loaded the page to copy the URL, which put it in cache, then tested the cached copy. A visitor arriving after several quiet hours gets the uncached render. Add a random query string to force a cold hit and you will see the number they actually get.

What is a realistic Interaction to Next Paint for a call button?

Under 200 milliseconds is the good threshold, and above 500 is poor. A tap that feels laggy is almost always the main thread being occupied by a chat widget or tag manager script that loaded at the same moment. Defer those until after interaction and the figure usually halves.

Do I need a CDN for a plumbing site?

Rarely. If your customers are within an hour's drive, they are also within about 5 to 15 milliseconds of the London origin, and a CDN adds a layer without removing meaningful distance. Spend the effort on payload and third-party scripts instead, which is where the seconds actually are.

Which plan suits a single-van operation?

Sprint at $2.42/mo covers one site with 10 GB of NVMe and 500 GB of bandwidth, which is more than a trade site with a dozen pages will use. Move up to Turbo only if you want separate sites per town rather than pages on one.

Keep reading

Changing hosts? Run through our checklist first.

A straightforward sequence for a switch your visitors never feel: which files move first, how to shift email across without losing a single message, the right moment to repoint DNS, and the two mistakes behind almost all the downtime we get asked to rescue.

You'll get the checklist email, then occasional pointers on keeping a site running fast. Unsubscribe the moment you want out — the privacy policy covers the rest.

Test it cold, then decide.

NVMe behind LiteSpeed keeps both paths quick, and support is awake at the hour your best enquiries arrive.

View Secure Hosting — Built for Plumbers plans