FastestWoo Download

WooCommerce storefront theme

Your pages are
already made.

WooCommerce rebuilds a category page from scratch every single time somebody opens it. FastestWoo lets a CDN keep the finished page and hand it straight over, so the shop feels instant and your server barely notices the traffic.

Download 0.1.0 See how it works

Free, GPLv2. Needs WordPress 6.4, PHP 8.0 and WooCommerce 8.0. No licence key and no paid tier.

What happens when someone opens a category page
  1. 1The browser asks the nearest CDN server
  2. 2The response carries a cookie, so the CDN will not cache it
  3. 3The request travels on to your own server
  4. 4 WordPress and WooCommerce build the page measured at ~260 ms
  5. 5The finished page travels all the way back

Five steps, repeated for every visitor, every time.

  • 0cookies on catalog pages
  • 3–4SQL queries per render
  • 20.1kBCSS and JS, gzipped
  • 9assetsWooCommerce drops per page

Speed

Where the speed comes from

WC_Cart hooks maybe_set_cart_cookies() to the wp action unconditionally, whether or not anything on the page actually touched the cart. Browse a category archive as an anonymous visitor and WooCommerce still hands you a session. Your CDN sees that cookie and steps aside, which is the honest reason a stock shop serves its catalog from PHP.

FastestWoo renders catalog pages identically for every anonymous visitor. No nonces in the markup, no per-visitor personalisation, nothing that varies the response. The cart moves into a server-side store addressed by a 128-bit token the browser keeps in localStorage, so the page can be byte-for-byte the same for everyone and cached at the edge.

Per-visitor state then loads after the cached HTML has painted. The mini-cart count is painted immediately from the last known value in local storage, before any script runs, and reconciled with the server a moment later. Adding to cart updates the count before the request is even sent.

Your shop

What this means if you run the shop

The short version, with no HTTP headers in it.

Pages open straight away

A cached page is already built and stored close to your shopper. It arrives without your hosting having to put it together first, and that assembly is most of the wait people notice on a slow shop.

Busy days stop being frightening

A sale, a newsletter, a post that does well. Most of that traffic is answered by the CDN and never reaches your server, so the shop behaves the same at ten visitors and at ten thousand.

You keep the WooCommerce you have

Same products, same orders, same checkout, same admin screens. This is a theme, so switching to it does not rebuild your shop or move your data anywhere.

One theme instead of a pile of plugins

Critical CSS, image handling, script trimming, cart, account and cache headers are all already part of the theme. Less to install, less to configure, and less that can quietly break after an update.

None of it needs setting up. Activate the theme and the caching behaviour is already on. If you run Cloudflare, the theme can add the cache rule for you from its own settings page.

Payload

What the browser downloads

Built files at 0.1.0, measured with gzip -9.

Theme asset sizes
FileRawGzipLoading
style-main.css50.2 kB8.8 kBNon-blocking
main.js39.2 kB11.3 kBDeferred

Above-the-fold CSS is inlined per template and never costs a request. It travels inside the HTML, so it is compressed along with it.

Inlined critical CSS

  • Front page12.8 kB
  • Shop archive12.0 kB
  • Product8.1 kB
  • Default4.6 kB
  • Checkout2.4 kB

Left out of every front-end request

  • wc-cart-fragmentspolls admin-ajax, starts a session
  • wc-add-to-cartthe theme handles this itself
  • wc-blocks-styleno block storefront here
  • woocommerce wc-single-productzoom, lightbox, slider
  • sourcebuster-js wc-order-attributionmoved server-side
  • wc-js-cookie wc-jquery-blockuidependencies of the above

WooCommerce's zoom, lightbox and slider each load their own library on every product page. The theme opts out and renders a plain gallery, which is a deliberate trade.

Measured

What we measured

Origin render time, with the CDN bypassed.

Profiling the live box found no slow query to fix. Every page ran 3 to 4 SQL statements, with Redis absorbing the rest. The remaining time was PHP spread over roughly 33,000 hook fires, including two subsystems this storefront renders nothing from: WooCommerce Blocks registering 165 block types, and wp_print_font_faces spending 12.2 ms to emit zero bytes. Both are now skipped on plain front-end requests.

  • /shop/−17%50 ms saved
  • Product−16%51 ms saved
  • Front page−18%42 ms saved
  • Category−18%42 ms saved

Method. Interleaved A/B on the deployed site, median of 20 requests per side, origin-local curl with the cache busted. HTML verified byte-identical on 10 of 11 page types; the 11th differs only where WooCommerce orders related products at random.

Not published yet

Lighthouse scores, field Core Web Vitals, and a like-for-like comparison against a stock theme on identical hardware. Those numbers are missing because they have not been collected honestly yet, and a benchmark you cannot reproduce is worth nothing.

Design

Make it look like your shop

Appearance › Customize. No page builder needed.

Colour presets

  • Default
  • Dark
  • Warm
  • Mono
  • Vibrant

Pick one, then override any of eight colours on their own: text, background, accent, border, header background, card surface, muted text and the sale badge. Leave an override empty and it is worked out from the ones you did set, so a dark scheme still gets readable cards and hints.

Everything else in the Customizer

Typography
24 Google Fonts, or the system font. Whichever you choose is downloaded to your own server when you publish, so a visitor never requests anything from Google.
Homepage
Four ready-made layouts: Minimal, Showcase, Classic and Editorial.
Header
Logo always visible, hidden, or scaled in once the header goes sticky. A category mega menu built from your own product tree, with an optional "By Brand" entry. Instant search on or off.
Shop pages
Grid or list as the default view, products per page, which filters appear, and which sort options are offered.
Layout
Content width and logo width in pixels, plus your own footer credit line.
Widgets
Nine areas: Top Bar, Sticky Header, Non-Sticky Header, Footer Top, three footer columns and two footer bottom slots.
Social
Seven optional footer links: X, Instagram, Facebook, YouTube, TikTok, Pinterest and LinkedIn.

Screenshots coming

Real storefront captures of each homepage layout and colour preset will live here once the demo shop is stocked.

Scope

What it deliberately does not do

It is not a full-page cache plugin, and does not want one
You do not need to add a caching plugin alongside it. The caching is handed to your CDN, and the theme already does its own half of the job: no cookies on catalog pages, correct cache headers, critical CSS inlined and the unused scripts left out. Your site stays server-rendered classic WordPress and WooCommerce, and the only thing removed is the cookie that was stopping a CDN from helping.
It does not decouple your front end
No headless build step and no separate deployment. Classic PHP templates, so child themes and normal template overrides work the way you expect.
No product image zoom, lightbox or slider
Each one loads its own JavaScript library on every product page. That is real weight against the reason the theme exists.
No third-party font requests
The Customizer offers a curated set of Google Fonts and downloads them to your server on save, so nothing is fetched from Google when a page loads.
Nothing to install beyond the theme itself
Cart, account, search and filtering ship inside the theme, behind a cookie-free REST API. One thing to activate, one thing to update.

FAQ

Questions people actually ask

Will my prices go stale in the cache?

No. Changing a product's price, stock or status purges that product's URL along with the shop and category archives it appears on. Pages also carry a one-hour shared-cache lifetime as a backstop.

Is the cart token safe if it is not a cookie?

The token is 128 bits of random_bytes() entropy and is the only thing addressing a cart, so guessing one is not practical. It is never written into the cached HTML: the browser mints it and stores it locally, which is what keeps the cached page identical for every visitor.

Can I use FastestWoo as a parent theme?

Yes. It is a classic PHP template theme, so child themes and standard template overrides work as expected.

What if I do not want to use Cloudflare?

The theme sets standard Cache-Control headers, which Varnish, Fastly, nginx proxy_cache and browser caches all honour without any vendor-specific setup. The Cloudflare integration is a convenience for the one thing headers cannot do on that platform: Cloudflare will not cache HTML on headers alone, it needs a cache rule.

Install

Three steps, and the third is optional

  1. Upload the theme to wp-content/themes/fastestwoo and activate it.

  2. Install and activate WooCommerce, 8.0 or newer.

  3. Point a CDN at it. Cloudflare will not cache HTML on headers alone, so it needs a cache rule, and the theme can create that for you. Varnish, Fastly and nginx proxy_cache honour the standard Cache-Control headers with no vendor setup.

GPLv2 or later, with source on GitHub. Version 0.1.0 is an early release and is labelled as one.