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

Two-audience brief · Dental Sites

Web hosting for dentists — The emergency visit and the research visit need different numbers

Somebody comparing implant prices over a week will forgive three seconds; somebody in acute pain at midnight will not, and the same homepage is serving both of them.

The short answer

A dental practice site has two visitors with incompatible tolerances, and you should give them two performance budgets rather than one average. The research visit — treatments, prices, before-and-afters, read across several sessions — tolerates a rich page and is well served by the published thresholds: LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1 at the 75th percentile. The emergency visit needs a phone number painted on screen almost immediately, on a bad connection, from a cold cache.

Those are different engineering problems. The first is about payload discipline on heavy pages; the second is about what renders in the first paint before anything else has finished loading. Both sit on the same platform: NVMe storage on every tier, LiteSpeed caching decided by the server, free SSL, a free migration our engineers perform, and mailboxes on your own domain — at a rate that reads exactly the same when renewal arrives.

By the HostingFast team · Reviewed 24 August 2026

NVMe

Storage class, all tiers

Free

First-year domain, annual plans

99.9%

Uptime target, monitored

Flat

Renewal rate versus first term

Split your traffic before you measure it. Treatment and price pages are researched slowly, often on desktop, often returning visits with a warm cache. Emergency searches are single-visit, phone-only, frequently on a weak mobile connection, and the visitor abandons in seconds rather than tens of seconds.

One consequence is immediate: the emergency information cannot sit below a hero image, behind a slider, or inside a component that loads late. If the number a person in pain needs is rendered by JavaScript after a 400 KB script has parsed, the page is functionally broken for the visit that mattered most, whatever the overall score says.

The other consequence is that a single site-wide average hides both problems. Measure by page type, hold each type to its own budget, and the work to do becomes specific instead of vague.

Two page types, two budgets, written down

Give the treatment and price pages the standard field targets and a byte budget you can defend: load the page throttled to a mobile profile, note the total transfer, and pick a maximum that keeps LCP at or under 2.5 seconds on that connection. Written into the repository, that ceiling settles arguments at review time; carried around in somebody's head, it settles nothing.

For the emergency route, the budget is different in kind. What you care about is what is painted in the first render: is the out-of-hours number in the initial HTML, is it above the fold on a 375-pixel-wide screen, and does it survive with JavaScript disabled. Test that last one deliberately — it is the closest cheap approximation of a bad mobile connection there is.

First byte, isolated from everything else

Get the server's own contribution on its own before you argue about anything else. `curl -s -o /dev/null -w '%{time_starttransfer}' https://yourdomain.example`, five runs, keep the median. Google treats 800 ms as the good boundary for the first byte; a cached page coming off LiteSpeed on NVMe, from a UK connection to a London origin with a 5–15 ms round trip, should land a long way inside that.

If it does not, find out whether the page is cached before assuming anything about hardware. Practice sites frequently run a plugin — a review feed, a live chat, an appointment banner — that disables caching sitewide as a side effect. That single header turns every visit into a full PHP render, and it is invisible until somebody reads the response headers.

The worst case is the one to design for

Model the 2am visit explicitly: cold cache, no service worker, throttled connection, phone-sized viewport. Put the emergency number and the out-of-hours instruction in server-rendered HTML near the top of the document, not in a component that mounts after hydration. If it is in a sticky bar, make sure the bar's styles are inlined rather than waiting on a stylesheet.

Then check what happens when something fails. A page that depends on a third-party script to render its most important line is a page that goes blank when that third party has a bad night. Uptime monitoring should point at an uncacheable URL for the same reason — an outage that hides behind a warm cache is an outage you find out about from a patient.

Keeping the evidence

Record each measurement with a date and the conditions it was taken under: which page, which tool, throttled or not, cold or warm. Three runs, median kept, anything unreproducible discarded. Without that discipline every future conversation about the site becomes an argument about impressions.

Then let the field data settle the question. Search Console's Core Web Vitals report reads a rolling 28-day window of real visits, grading LCP at or under 2.5 seconds and INP at or under 200 ms for the 75th percentile. A change that improves your laptop and never appears there did not improve anything a patient experienced.

A support engineer picking up at whatever hour the question lands

The hosting half of the number

Hosting owns the floor: nothing on the page can render before the first byte arrives, so NVMe storage and a server-level LiteSpeed cache on every tier are the parts we are accountable for.

Everything above the floor is the page's own — image discipline, script weight and space reserved so nothing jumps while it loads. Staging copies and SSH with Git and Composer are there so you can work on that half properly.

  • First byte handled by cache, not by PHP
  • NVMe storage on all tiers, entry plan included
  • Uptime monitored against a 99.9% target
  • Daily backups, restorable from the panel

Why HostingFast

Standard on every plan

A floor you can rely on

TTFB sits underneath LCP, so a cached response off NVMe removes the variable that no page-level optimisation can compensate for.

Budgets you can test

Throttled runs on staging let you set a byte budget for treatment pages and prove a new before-and-after gallery has not blown it.

Monitoring pointed at the truth

Watch an uncacheable URL so an outage cannot hide behind a warm cache. A 99.9% target is only meaningful if the check can actually see a failure.

A restore point for the experiment

Daily backups recover files, a database or both from the panel — the reason an experiment on a live practice site is a reasonable risk.

Certificates that never lapse

Free SSL issues and renews itself on every plan. An expired certificate in front of somebody in pain is the most avoidable failure on this list.

Flat renewals

The rate you order at is the rate you renew at, so the plan you sized against your measurements stays the plan you are paying for.

Quick Start

From order to online

  1. 1

    Write two budgets down

    One for research pages — total transfer and LCP on a throttled mobile profile. One for the emergency route — what is painted in the first render. Two budgets, because you have two visitors.

  2. 2

    Isolate the server number

    Five curl runs, median TTFB, taken from a connection near your audience. If the cached page is well inside 800 ms, stop blaming hosting and start reading the page.

  3. 3

    Retest the worst case, not the best

    Cold cache, throttled connection, phone viewport, JavaScript off for one run. If the out-of-hours number still appears, the page works when it matters.

Built In

Loaded onto every plan

  • Separate budgets written for research pages and the emergency route
  • Out-of-hours number present in server-rendered HTML, not injected by script
  • Emergency information visible above the fold at a 375-pixel viewport
  • Median TTFB taken from five curl runs against the 800 ms good boundary
  • Cache status header checked on a logged-out request to a treatment page
  • Total transfer recorded on a cold, throttled mobile load of the price page
  • Uptime monitor pointed at an uncacheable URL, not a cached homepage
  • Uptime watched against the 99.9% target stated in the terms
  • Free SSL renewing itself well before expiry on every plan
  • Daily backups proven by an actual restore, not assumed

Frequently Asked

What people ask us most often

How fast does the emergency page need to be?

Fast enough that the number is on screen before the visitor gives up, which in practice means it must be in the initial HTML rather than rendered later. Treat it as a first-paint requirement rather than an LCP one: if the out-of-hours line survives a run with JavaScript disabled and a throttled connection, you have built it correctly. Everything else on that page can load at its leisure.

Our before-and-after galleries are enormous. What is the actual limit?

Set your own and defend it. Load the gallery throttled to a mobile profile, read the total transfer, and choose a ceiling that keeps LCP at or under 2.5 seconds on that connection. WebP conversion is built into the platform, so the work left to you is serving each image at the dimensions it is displayed at and lazy-loading everything except the first one.

Does a slow site actually affect where we rank?

The relationship is asymmetric, and it is worth stating plainly. No amount of server tuning will lift a thin treatment page above a thorough one, but a site that fails Core Web Vitals or drops connections mid-crawl does hold back pages that would otherwise do well. Treat speed as removing a handicap rather than as a ranking tactic, and spend the remaining effort on the pages themselves.

Why does the site feel slower to staff than to patients?

Because staff are logged in and the page cache does not apply to logged-in requests. Every admin page load runs PHP and hits the database with no cushioning, which is exactly why the dashboard feels heavier than the public site. That is normal — but if it is severe, it is a good early signal that the plugin stack is doing more work per request than you think.

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.

Two visitors, two budgets, one platform.

NVMe and server-level LiteSpeed under every tier, uptime monitored against a 99.9% target, and daily restores you can actually rehearse.

View Charity Hosting — Built for Dentists plans