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

Performance profile · Distilleries

Distilleries: your age gate is switching the cache off

The one component you are obliged to run is also the component most likely to mark every visitor as dynamic and take your entire site out of cache.

The short answer

On a distillery site the biggest single performance problem is usually the age gate, because it sets a cookie for every visitor and a cookie on every visitor is the classic reason a page cache reports a miss on every load.

You can keep both. Check first: load any page twice and look for 'x-litespeed-cache: hit' in the response headers, because a permanent miss alongside a healthy server is the signature. Then either run the gate in the browser rather than server-side, or tell the cache to ignore that specific cookie, and retest. A cached page here answers a nearby visitor comfortably below 200ms, on plans from $2.42/mo.

By the HostingFast team · Reviewed 15 August 2026

NVMe

NVMe on all plans

Free

Domain year one, free

99.9%

Uptime target, monitored

Flat

Renewal unchanged

Spirits carry obligations most retail does not. Age verification at entry and again at checkout, duty and destination rules inside the shipping logic, cask reservations that must not oversell. Every one of those is custom behaviour bolted onto a shop, and custom behaviour is where caching goes wrong.

The age gate is the worst offender, and not because it is badly written. Its job is to remember that this visitor confirmed their age, and the way it remembers is a cookie. To a page cache a cookie usually means the request is personal and a stored copy must not be served — which is precisely the wrong conclusion here.

The result is a site where every visitor gets a freshly built page while the owner believes caching is switched on. This page is about proving that, and fixing it without dropping the gate.

Prove the cache is not working

Load your homepage twice in a private window with dev tools open and read the response headers. On the second load you want 'x-litespeed-cache: hit'. A permanent miss means every visitor is triggering a full PHP and database build, and TTFB will show it — well above the sub-200ms a cached page reaches for a nearby visitor.

Then confirm the cause. Clear cookies, disable the age gate on a staging clone, and load twice again. If the hit appears, you have your answer in five minutes and you never had to guess at it.

Keep the gate, get the cache back

There are two clean fixes. Run the gate client-side, so the page is served from cache and the overlay is applied in the browser after delivery. Or keep it server-side and add its cookie to the cache's ignore list, so the stored copy is still used for visitors carrying it.

Do the confirmation step at checkout properly either way. The checkout is uncacheable regardless, so a recorded confirmation there costs you nothing in performance and is the point at which the obligation actually has to hold.

Cask reservations are a stock-locking problem

A single cask is a single-stock product, and two people trying to reserve it at once is the same class of problem a limited release creates. That decrement happens in the database, uncached, and it is exactly why a spreadsheet-and-inbox process oversells: two writes, no lock.

Let the shop own it. Time an add-to-basket and a checkout submission on a quiet afternoon so you know what each costs, keep the product simple rather than a matrix of options, and let a current PHP release with Redis object caching cut the query count per transaction.

Shipping rules run inside the checkout

Duty, strength and destination restrictions mean the shipping logic is doing real work on every basket, and if any of it calls out to an external service that is a network round trip inside your checkout at somebody else's response time. Filter the network panel to that request and read its timing alone.

Where you can, hold the rules locally so the arithmetic happens on your own server. Then retest — one change, one measurement, median of three lab runs — and record what you found, because the next person to touch the shipping table will need it.

A shopper moving through the checkout of a quick online store

The gate and the cache can both stay

Gin and whisky distillers, craft spirit producers and distillery tour operators are usually told to choose between compliance and speed. That is a false choice; it is a configuration question.

LiteSpeed caching in the server can be told which cookies to ignore, and Redis plus NVMe handle the checkout and reservation work that will never be cached.

  • Cache hits provable per URL in the response headers
  • Cookie handling configurable, so a gate does not disable caching
  • Redis object caching for uncacheable reservation writes
  • NVMe storage on every tier, including the entry plan

Why HostingFast

Standard on every plan

Caching you can diagnose

LiteSpeed lives in the web server and reports its state in the response headers, so a permanent miss becomes a fixable fact.

Compliance without the penalty

The gate's cookie can be excluded from cache keying, which keeps the overlay and returns the stored copy to every visitor.

Reservations on quick hardware

Single-cask stock writes run uncached. NVMe, a current PHP release and Redis object caching are standard where that lands.

A clone to test the gate on

Staging lets you disable and reconfigure the age gate, measure both versions, and push only the configuration that worked.

Free SSL across the account

Certificates issue and reissue themselves, the shop included, so the checkout's padlock never needs remembering.

Renewal at the ordering rate

The figure you sign up at is the figure you renew at, with no setup fee at either end.

Quick Start

From order to online

  1. 1

    Read the cache header twice

    Private window, dev tools, two loads. A permanent miss on a page that should be static is the whole diagnosis.

  2. 2

    Disable the gate on a clone and retest

    If the hit appears, the gate was the cause. Five minutes of testing beats a month of assuming.

  3. 3

    Reconfigure rather than remove

    Client-side overlay, or the gate's cookie added to the cache's ignore list. Retest and confirm the hit persists.

  4. 4

    Time the reservation and shipping paths

    Add-to-basket, checkout submission, shipping rate lookup. Uncacheable by nature, so measured individually.

Built In

Loaded onto every plan

  • LiteSpeed caching in the web server, with configurable cookie handling
  • Cache state reported in the response headers on every request
  • Redis object caching for uncacheable checkout and stock writes
  • NVMe SSD storage on every tier
  • Per-site PHP version switching from the control panel
  • Staging environments for testing an age gate safely
  • Daily backups with a restore you run yourself
  • Free SSL on every plan, reissued automatically
  • Money-back cover: 30 days on hosting plans, 7 on reseller
  • 99.9% uptime as the target, monitored around the clock

Frequently Asked

What people ask us most often

Why does my whole site report a cache miss on every load?

Because something is setting a cookie for every visitor, and on a spirits site that is nearly always the age gate. The cache reads a cookie as a signal that the request is personal and steps aside. Load a page twice in a private window and read the headers: a permanent miss alongside a healthy server is that signature almost every time.

Can I keep the age gate without losing caching?

Yes, in two ways. Run the overlay client-side so the page itself is served from cache and the gate is applied in the browser, or keep it server-side and add its cookie to the cache's ignore list. Either way the confirmation step at checkout still happens, and the checkout was never cacheable in the first place.

How do I stop a limited cask release overselling?

Let the shop hold the stock rather than a spreadsheet and an inbox. A single cask as a single-stock product means the decrement happens once, in the database, with the shop arbitrating. Time an add-to-basket and a checkout submission beforehand so you know what a simultaneous pair of buyers will cost.

Are the duty and destination shipping rules slowing my checkout?

They can be, particularly if the logic calls an external service on every basket — that is a network round trip inside your checkout, at somebody else's response time. Filter the network panel to that request and read its timing alone. Where the rules can be held locally, the arithmetic runs on your own server instead.

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.

Get the cache back on.

LiteSpeed with configurable cookie handling, Redis and NVMe from $2.42/mo.

View Web Hosting — Built for Distilleries plans