Performance brief · Dojo & Academy Sites
Web hosting for martial arts schools — A dojo site has three templates, and only one of them is slow
Your programme pages cache beautifully and your trial-booking form does not, so the number that decides whether a parent enquires is the one nobody ever tests.
The short answer
Measure three templates and you will know everything worth knowing about a martial arts school site: a programme page, the class timetable, and the trial-booking form. The first two are static enough to be served straight from the LiteSpeed cache and should return a first byte comfortably under 200 ms on a UK connection to our London origin. The booking form is a POST, it bypasses the cache by definition, and it is the one request where PHP, the database and your plugin stack are all exposed at once.
So the useful test is not "is my hosting fast" but "which of my three templates is not". Run each one, write the numbers down, and the answer usually turns out to be one plugin on one page rather than the server underneath all of them. Every plan here runs NVMe behind a server-level LiteSpeed cache, with free SSL, free migration and support at any hour, from $2.42/mo.
By the HostingFast team · Reviewed 24 August 2026
Free
Migration, engineer-run
24/7
Support cover, any hour
Daily
Restore points per day
$0
Setup charge
Traffic to an academy site is lumpy and predictable: a slow trickle of parents reading the junior programme page during the day, a spike after a grading or a demo, and a handful of people who found you at 21:00 and want to book a trial before they lose their nerve. Nearly all of that is cacheable. The small part that is not is the part that earns money.
That split matters because it decides where optimisation effort goes. A cached programme page is served without booting PHP at all, so its speed is essentially a network and payload question. The booking POST runs the full stack — PHP, MySQL, whatever the booking plugin does on submit — and no page cache will ever help it.
Get the split clear before you change anything. Otherwise you spend a weekend compressing images on a page that already renders in under a second, and the form that loses you enrolments is exactly as slow as it was on Friday.
Test the three templates, not the homepage
Pick one junior programme page, the timetable, and the trial-booking page. Run each through PageSpeed Insights and read the field block first — it reports what real Chrome users experienced on real handsets, which is the only data Search Console grades you on. The targets are LCP under 2.5 seconds, INP under 200 milliseconds and CLS under 0.1, all at the 75th percentile.
Then get the server number separately: `curl -s -o /dev/null -w '%{time_starttransfer}' https://yourdomain.example` five times and take the median. A cached page has no reason to be slow here. Google's good boundary for the first byte is 800 ms; on a cached LiteSpeed response from a UK connection to London, with a 5–15 ms round trip in the middle, you should be several times inside it. If the timetable reads 900 ms and the programme page reads 120 ms, you have learned something specific, and it is not "the host is slow".
The booking form is the request that costs you
A trial-class booking is a POST. It cannot be cached, it boots PHP, it writes to the database, and on many booking plugins it also sends two emails and checks an availability table before it returns anything. That is the request a parent is waiting on with a nine-year-old asking questions behind them, and it is the one nobody profiles.
Measure it the way it is actually used: submit a real test booking with DevTools open and read the timing on the POST, not the page load. If it sits above a second, the cause is almost always inside the plugin rather than under it — an availability query with no index, or a synchronous email send blocking the response. Nitro carries PHP X-Ray on CloudLinux Pro, which traces a slow request down to the function and turns an argument about hosting into a line number.
Technique video is a payload decision
Syllabus clips are where academy sites quietly get heavy. A self-hosted MP4 above the fold makes itself the LCP element and drags the whole measurement down, and it burns bandwidth on every visit rather than once. Push clips to a video host and embed a poster image; the page then loads a still and only fetches the video if somebody presses play.
For stills — grading photos, instructor portraits, the mat shots on the programme pages — the platform converts to WebP for you, so your remaining job is serving them at the dimensions you actually display and never marking the hero image lazy. Deferring the LCP element is the most common self-inflicted LCP failure there is, and it usually arrives as a well-meaning "lazy-load everything" setting.
Prove it moved, or you did not fix it
Change one thing, then retest the same three templates the same way. Lab runs wobble with test-server load and cache state, so take the median of three rather than the best of one, and treat anything you cannot reproduce twice as noise. Staging exists precisely so the change can be measured before a parent meets it.
The verdict, though, comes from the field. Search Console's Core Web Vitals report reads a rolling 28-day window of real visits, so a fix shipped on Monday will not show up by Friday — and a change that improves a lab score while the field data stays flat has improved a benchmark, not a visitor. Keep a dated note of each change and its numbers; after three months the note tells you which of your plugins is worth its weight.

The measurable part of the platform
Academies run here because the parts that decide the numbers are already switched on: NVMe storage, LiteSpeed caching at server level rather than bolted on as a plugin, and WebP conversion happening without a settings page.
SSH ships on every shared plan with Git and Composer, so WP-CLI works and a deploy is a command rather than an upload. Daily backups restore from the panel in minutes, which is what makes a risky performance experiment worth trying at all.
- LiteSpeed cache in the server, not in a plugin
- NVMe storage under every tier, entry included
- WebP conversion applied without configuration
- SSH, Git and Composer for WP-CLI work
Why HostingFast
Standard on every plan
Cache that answers before PHP wakes
LiteSpeed serves a cached programme page without booting PHP at all, which is why a cached hit and an uncached one are different orders of magnitude.
NVMe on the entry tier too
The cheapest plan is not a slower machine. Same storage class underneath, so an uncached query is not paying a disk penalty on top.
Staging before the mat gets busy
Clone the site, change one thing, measure the clone. A plugin swap stops being a gamble the moment you can compare two numbers instead of two opinions.
Restores measured in minutes
A daily backup restores from the panel: files, database or both. That is the safety net that makes aggressive tuning a reasonable idea.
SSL that never becomes the story
Certificates issue and renew themselves on every plan, so a handshake failure never lands in front of a parent halfway through a booking.
Support that reads a trace
Humans on shift at any hour who will look at a slow request with you rather than reply that the server is up and close the ticket.
Quick Start
From order to online
- 1
Baseline the three templates first
Programme page, timetable, booking form. Record median TTFB from curl and the field block from PageSpeed Insights. Ten minutes, and every later decision has something to argue against.
- 2
Move the site and re-baseline
Our engineers migrate the whole account free — files, databases, mailboxes — and you sign off before DNS moves. Take the same three readings afterwards so the move itself is measured rather than assumed.
- 3
Change one thing at a time
Cache setting, image handling, booking plugin. One change, one retest, one dated line in the note. Bundled changes tell you the total moved and never which part of it did.
Built In
Loaded onto every plan
- Median TTFB recorded for the programme, timetable and booking templates
- Booking POST timed with DevTools open, not inferred from page load
- Hero image on each programme page loading eagerly, never lazily
- Syllabus video embedded from a video host rather than self-hosted above the fold
- An x-litespeed-cache hit header confirmed on the programme and timetable responses
- Entry-tier account confirmed on NVMe, so an uncached booking write pays no disk penalty
- Free SSL issuing and renewing itself before it can lapse
- Daily backups restorable from the panel without a support ticket
- SSH with Git and Composer available for WP-CLI work
- Free engineer-run migration, with your sign-off before DNS moves
Frequently Asked
What people ask us most often
My timetable page is slower than every other page. Why?
Almost always because it is not being cached. Timetable plugins frequently set a no-cache header, or render from a shortcode that queries on every request. Check whether the response carries an x-litespeed-cache hit header; if it does not, you are paying full PHP and database cost for a page that changes twice a term. Caching it for an hour usually removes the problem entirely.
What TTFB should a cached programme page return?
Comfortably under 200 ms for a UK visitor. Google's published good boundary for the first byte is 800 ms, and a cached LiteSpeed response off NVMe, from a UK connection to our London origin with a 5–15 ms round trip, sits a long way inside that. A sustained reading above roughly 600 ms on a page that should be cached is a caching or application problem, and no amount of image work will move it.
Will a CDN speed up the trial-booking form?
No, and this is the most useful thing to know before you buy one. A CDN handles images, CSS, fonts and cached HTML from an edge node near the visitor. A booking submission is an uncacheable POST that has to reach the origin, run PHP and touch the database, so it takes the full distance every time. Fix that request in the application; use the CDN for the assets around it.
Can I test a plugin change without risking enrolment week?
Yes — clone to staging, make the single change there, and take the same measurements on the clone. When the numbers are better, push it live. When they are not, you have learned that for free. Restoring from the daily backup is the fallback if something reaches production anyway, and it runs from the panel in minutes rather than through a ticket queue.
Keep reading
Jewellers — Hosting Guide
Heavy product photography, measured properly: the LCP element and what it costs.
Hotels — Hosting Guide
Booking engines, uncached requests and the numbers that decide a direct reservation.
How to Test Your Website Speed
The tools, the commands and the thresholds — the reference version of this method.
Domain Names — Built for Martial Arts Schools
Register or transfer a name, then watch the DNS and TLS cost of pointing it here.
AI Website Builder
Draft a site from a description and land it on hosting you can profile.
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.
Get a baseline before you change anything.
NVMe, server-level LiteSpeed and free SSL on every plan — plus SSH and staging, so a performance claim can be tested rather than believed.
View Domain Names — Built for Martial Arts Schools plans