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

Build pipeline · Carpenters & Joiners

Carpenters and joiners: a site you can deploy, not just edit

If the only way to change your site is to edit it live on a Tuesday afternoon, every change is a gamble you cannot measure.

The short answer

Give a joinery site a deploy path before you give it a performance target, because you cannot safely tune what you can only edit live. Full SSH access with Git and Composer comes on every plan, and staging clones through WordPress Toolkit give you somewhere to break things.

With that in place the measurement discipline is simple: clone, change one thing, time it on the clone, promote it, then re-time the live URL and compare. Under 800 milliseconds to first byte and under 2.5 seconds to Largest Contentful Paint on a throttled mobile profile is the target worth holding.

Every plan runs NVMe behind a LiteSpeed cache with free SSL, engineer-run migration and 24/7 support, and there is no setup fee on any of them.

By the HostingFast team · Reviewed 15 August 2026

Free

Migration in, at our cost

24/7

Support, every hour

Daily

Backup, once a day

$0

Due at signup

Bespoke joinery sells on detail: grain, joints, a fitted alcove photographed in the room it was made for. That means large photographs, and often a made-to-measure enquiry form with dimensions, timber choices and finish options attached.

It also means a site that changes constantly, because every finished commission is new content. A site that changes constantly is a site that regresses constantly, and the only defence is a workflow where a change can be tried, measured and reverted.

This guide is written for that workflow. It assumes you are comfortable with a terminal, or willing to become so, because the twenty minutes that takes buys back a great deal of guessing later.

Set up a deploy you can repeat

SSH, Git and Composer are available on every plan, which means the theme can live in a repository rather than in the file manager. Clone it locally, commit changes, push, and pull on the server. The value is not elegance, it is that every change has a commit and every commit can be undone in seconds.

Pair that with a staging clone from WordPress Toolkit. The clone is where a new gallery plugin gets tried, where a PHP version bump gets tested and where the timing run happens. Nothing reaches the live site until it has a number attached to it.

Time the bespoke-quote page separately

A made-to-measure enquiry form is the one page on a joinery site that cannot be fully cached, because it usually generates a fresh token per visitor. That makes it the page where server-side work shows up undiluted, and the page worth timing on its own.

Fetch it from a terminal with curl and the write-out option, reading time_starttransfer, and take a median of five runs rather than trusting one. If that figure is well above 800 milliseconds while your cached gallery pages come back in a fraction of it, the difference is PHP and database work, not the network.

Where a joinery gallery loses its seconds

Timber photographed well is detail-heavy, which means it compresses badly and tempts you into uploading originals. Resize to about 1800 pixels on the long edge, let the built-in WebP conversion take it further, and set width and height on every image so nothing shifts as the page fills in.

Then check what your theme is actually requesting. A page loading four web fonts and a full icon set before it draws anything is spending its budget on furniture rather than content. Filter the Network panel to Font and CSS and ask, of each entry, what it earns.

Keep a record so regressions are obvious

Commit a plain text file to the repository alongside the theme with the date, the URL, the median TTFB and the LCP for each measurement run. It takes a minute and it turns a vague sense that the site got slower into a diff you can point at.

Re-run it after every plugin addition and every theme update. Because your changes are commits, the run that broke the number and the change that caused it are the same lookup, and reverting is a command rather than a project.

A developer working against a hosted server over SSH

A stack that behaves like a development environment

Full SSH with Git and Composer, staging clones, per-site PHP version switching and a LiteSpeed cache in front of it all, on the same plans everyone else buys.

Free SSL renews itself, engineers migrate your existing site at no charge, and accounts go live minutes after checkout rather than after a queue.

  • Full SSH, with Git and Composer already on the box
  • WordPress Toolkit staging, cloned in a click
  • Per-domain PHP, changed without raising a ticket
  • NVMe underneath a LiteSpeed cache

Why HostingFast

Standard on every plan

Git on the server

Full SSH with Git and Composer, so the theme lives in a repository and every change is revertible in seconds.

A clone to break

Staging through WordPress Toolkit means the timing run and the risky plugin both happen somewhere customers never see.

PHP under your control

Switch version per site from the control panel and measure what it does to first byte yourself.

Cache in front of PHP

LiteSpeed answers cached gallery pages without starting the interpreter, leaving PHP for the pages that genuinely need it.

NVMe for the uncacheable

The bespoke-quote page cannot be cached, so it is the one that benefits most from fast storage underneath.

Engineer-run migration

We move the existing site and its media library across free, and you approve the switch before it happens.

Quick Start

From order to online

  1. 1

    Put the theme in Git

    Connect over SSH, initialise a repository in the theme directory and commit what is there. From this point every change has an author, a date and an undo.

  2. 2

    Clone and measure

    Create a staging clone, run five curl timings against the quote page and note the median. That is your baseline, recorded before you touch anything.

  3. 3

    Promote only what moved the number

    Make one change on the clone, re-time it, and promote it if the median improved. If it did not, revert the commit and try the next idea.

Built In

Loaded onto every plan

  • Full SSH, with Git and Composer already sitting on the box
  • Staging clones so nothing untested reaches the live site
  • PHP version changed per domain without raising a ticket
  • NVMe SSD storage underneath a LiteSpeed cache
  • Built-in WebP conversion for close-grain timber photography
  • Free SSL, issued and reissued with no reminder needed
  • A backup every day, restored with one click
  • Softaculous one-click installs across 240+ applications
  • Nothing charged to set the account up
  • Refunds run 30 days on hosting and 7 on reseller

Frequently Asked

What people ask us most often

Can I deploy a joinery site from Git rather than an editor?

Yes. Full SSH access with Git and Composer is included on every plan, so the theme can be a repository you push to and pull on the server. It is the single change that most improves how safely a small site can be tuned, because every experiment becomes revertible.

Why time the quote page separately from the gallery?

Because the gallery is cacheable and the quote page usually is not. A cached page tells you about the cache; an uncacheable one tells you about PHP, the database and your plugin load. Those are different problems with different fixes, and averaging them hides both.

How many curl runs do I need before the number means anything?

Five, and take the median rather than the mean. Single runs are noisy: a cold cache, a background backup or a slow DNS lookup can double one figure. A median of five is stable enough to detect a real improvement of a hundred milliseconds or more.

Does a staging clone count against my site allowance?

Plan limits are stated in sites, so check what you are using before creating clones freely. Sprint covers one site and Turbo covers twenty-five, which gives a joinery business plenty of room for a live site, a staging copy and a landing page or two.

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.

Deploy it, then measure it.

SSH, Git, Composer and staging clones are on every plan, from $2.42/mo with no setup fee.

View Dedicated Cloud — Built for Carpenters & Joiners plans