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

Template audit · Physio Clinic Sites

Web hosting for physiotherapists — Forty condition pages, one template, one measurement

You have written a page for every injury you treat, which means any performance problem you have is copied forty times over and none of it shows up on the homepage.

The short answer

On a physiotherapy site the unit of measurement is the condition-page template, not the site. People search their symptom, land directly on the page about that symptom, and never see your homepage at all — so a template that carries a heavy hero image or an extra database query is carrying it on every entry point you have. Profile one representative condition page and you have profiled forty.

The numbers to hold it against are the published ones: LCP under 2.5 seconds, INP under 200 milliseconds and CLS under 0.1, all read at the 75th percentile of real visits. Underneath, this platform gives that template NVMe storage and a server-level LiteSpeed cache on every tier, with free SSL, free migration and humans on support at any hour.

By the HostingFast team · Reviewed 24 August 2026

24/7

Cover, any hour of the night

1-click

WordPress deployment

Free

TLS certificates

Daily

Restore point frequency

Clinic sites are structurally simple and frequently slow, which surprises people. The reason is that the slowness lives in a repeated component rather than in a page: a booking widget in the sidebar, a review carousel in the footer, a font loaded twice by the theme. One template, forty instances, one problem multiplied.

The second reason is that the traffic arrives sideways. Somebody with knee pain searches the symptom and lands on your knee page from a phone, on mobile data, halfway through a working day. That is the visit worth optimising for, and it is not the visit you experience when you check the site on the practice laptop.

So the method is narrow and repeatable: pick the template, measure it properly, find what the template is doing that it does not need to do, fix it once, and watch the improvement appear across every page that uses it.

Pick the representative page and profile it

Choose the condition page with the most traffic, not the most recent one. Run it through PageSpeed Insights and read the field block first; if there is not enough field data yet, run a Lighthouse audit in Chrome DevTools with the network throttled to a slow mobile profile, which approximates the visit you actually get.

Write down three things: the LCP element and what it is, the INP figure, and the total bytes transferred on a cold load. Nine times out of ten the LCP element on a clinic page is the hero photograph of the treatment room, and nine times out of ten it is being served at three times the dimensions it is displayed at.

Split the server number from the page number

TTFB is a hosting number. LCP is a visitor number. They are related — nothing can render before the first byte arrives — but they fail for different reasons and confusing them wastes weeks. Get TTFB on its own with `curl -s -o /dev/null -w '%{time_starttransfer}' https://yourdomain.example`, five runs, median kept.

A cached condition page should return well under 200 ms for a UK visitor against Google's 800 ms good boundary. If it does, the server has done its job and everything left is payload and rendering. If it does not, check whether the page is being cached at all before you blame the hardware — clinic themes that inject a "nearby practitioners" block often disable caching sitewide without saying so.

The booking widget is where INP goes to die

Interaction to Next Paint measures how long the page takes to respond visibly when somebody taps something. On clinic sites the thing they tap is the appointment picker, and embedded booking widgets are frequently the heaviest JavaScript on the page — loaded on all forty condition pages, whether or not anyone books from them.

Two fixes, in order of return. Load the widget only on the pages where booking actually happens, and load it on interaction rather than on page load: a button that swaps itself for the embed keeps the widget's cost off every visit that never books. Measure INP before and after on a real mid-range handset, because a desktop INP reading tells you almost nothing about a thumb on a phone.

Fix the template once, verify across the set

Because the problem is in the template, the fix propagates. Serve the hero at display dimensions, let the platform's WebP conversion handle the format, keep it eager rather than lazy, and every condition page improves at once. Query Monitor will show you whether the sidebar block is adding an uncached query per page while you are in there.

Then verify across the set rather than on the one page you tuned. Sample three or four other condition pages and confirm the same improvement appears; if one lags, that page has something the others do not, and you have just found it cheaply. The field report will confirm it in a few weeks — it reads a 28-day rolling window, so patience is part of the method.

A support engineer picking up at whatever hour the question lands

Which half of the number is ours

The parts of this that hosting owns are already done: NVMe storage on every tier so an uncached query is not waiting on a disk, LiteSpeed caching in the server rather than in a plugin, and automatic WebP conversion so image format is not your job.

The parts that stay yours — image dimensions, script weight, which widget loads where — are the parts a host cannot do for you, and we would rather say so than sell you a plan for a problem a plan will not fix.

  • NVMe storage under the entry tier as well as the top
  • LiteSpeed caching decided by the server, not by a plugin
  • Automatic WebP conversion, with no setting to find
  • SSH with Git and Composer, so WP-CLI runs

Why HostingFast

Standard on every plan

One fix, forty pages

Template-level tuning is the highest-leverage work available on a clinic site. Change the hero handling once and every condition page inherits it.

Cache decided at server level

LiteSpeed sits in the web server, so a cache hit never boots PHP. That is a mechanism, not a plugin setting that another plugin can undo.

WebP without a settings page

Image format is handled for you. What is left is serving at display dimensions, which is a content decision no host can make on your behalf.

A clone to measure against

Staging lets you compare two numbers rather than two opinions before a change reaches a patient mid-search.

SSL that stays out of the way

Certificates issue and renew themselves on every plan, so an expired certificate never becomes the reason somebody with back pain went elsewhere.

Support that will read the trace

Humans at any hour who will look at a slow response with you. Nitro adds PHP X-Ray on CloudLinux Pro when the answer needs a function name.

Quick Start

From order to online

  1. 1

    Choose the template that carries the traffic

    Your busiest condition page, not your newest. Everything measured from here forward is measured on that page so the readings stay comparable.

  2. 2

    Take both numbers, separately

    Median TTFB from curl for the server, field vitals from PageSpeed Insights for the visitor. Two numbers, two causes, two different pieces of work.

  3. 3

    Fix in the template, verify across the set

    One change, one retest, then sample three sibling pages to confirm the improvement propagated. Anything that did not propagate is a page-specific problem worth naming.

Built In

Loaded onto every plan

  • The busiest condition page identified and used as the fixed reference
  • LCP element named — usually the treatment-room hero, usually oversized
  • Hero image served at display dimensions and loading eagerly, not lazily
  • Booking widget restricted to the pages where booking actually happens
  • INP measured on a mid-range handset rather than on a desktop
  • Median TTFB recorded from five curl runs, not a single reading
  • Cache status header confirmed on a logged-out request
  • Automatic WebP conversion left on and doing the format work
  • Free SSL renewing itself before expiry on every plan
  • Free engineer-run migration, with a re-baseline taken afterwards

Frequently Asked

What people ask us most often

Why is my homepage fast and my condition pages slow?

Because they are different templates doing different work. Homepages are usually hand-built and light; condition pages typically carry a sidebar booking widget, a practitioner block and a related-conditions query that the homepage never loads. Profile the condition template on its own and the difference usually resolves into two or three components you can move or defer.

Should the appointment widget load on every page?

No. It is normally the heaviest script on the page and it is only used on a small share of visits. Put it on the booking page and the pages that convert, and elsewhere replace it with a button that loads the embed on click. That single change often produces a larger INP improvement than every other optimisation on the site combined.

How do I tell whether it is the host or my site?

Split the measurement. Median TTFB from curl is the server's contribution; if a cached page returns well under 200 ms for a UK visitor, the host is not what is slow. LCP and INP are then payload and rendering, which live in your images, fonts and JavaScript. Sites with a good first number and a poor second one are extremely common, and moving host will not change them.

Do I need managed WordPress to get an object cache?

The managed WordPress tiers ship Redis object caching and AccelerateWP already tuned, which helps most on the uncached routes — search, admin work, anything logged in. On a mostly-cacheable clinic site the page cache is doing the heavy lifting already, so the honest answer is to measure your uncached routes first and only pay for object caching if they are where your time is going.

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.

Profile the template, not the site.

NVMe on every tier, LiteSpeed in the server and WebP conversion built in — the parts of your number that hosting is genuinely responsible for.

View Reseller Hosting — Built for Physiotherapists plans