=== FastestWoo ===
Contributors: arnelap
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: e-commerce, custom-menu, custom-logo, featured-images, translation-ready, block-styles, wide-blocks, threaded-comments, full-width-template

A WooCommerce storefront theme designed so catalog pages can be served from a CDN's cache without ever setting a cookie.

== Description ==

Most WooCommerce themes cannot be cached at the edge, and it is usually not
the theme's fault: WooCommerce sets a session or cart cookie on nearly
every front-end request, and a single `Set-Cookie` header is enough for a
CDN to skip its cache entirely. FastestWoo is built around removing that
one obstacle.

Every catalog page — the front page, the shop, category archives, product
pages — renders identically for every anonymous visitor. No nonces in the
markup, no per-visitor personalisation, nothing that would vary the
response. That makes the whole page cacheable. Cart contents, the mini-cart
count, and whether someone is logged in are then loaded client-side, after
the cached HTML has already painted, from a cookie-free API.

The pieces that would normally feel slow are handled by painting the last
known value immediately from local storage, before any script has run, and
reconciling with the server a moment later. Adding to cart updates the
count before the request is even sent. In practice a visitor rarely sees a
loading state at all.

**Performance**

* Above-the-fold CSS is inlined per template; the rest loads without
  blocking rendering.
* The largest contentful paint image is preloaded and never lazy-loaded;
  everything below the fold is lazy with async decoding and responsive
  `srcset`.
* Product links are speculatively prefetched on hover, focus, or touch,
  and that is disabled automatically on slow connections or when the
  visitor has asked to save data.
* Page transitions use the native cross-document View Transitions API — no
  JavaScript, and ignored gracefully where unsupported.
* WooCommerce's own cart-fragments and add-to-cart scripts are dequeued, as
  is core's block library CSS where it is not used.

**Storefront features**

* Product cards with inline variation and grouped-product pickers, so
  choosing options never costs a page load.
* A mega menu built from your product category tree.
* Instant search with a grouped dropdown, where suggested terms and
  categories are filtered locally with no network round trip.
* Shop filtering and sorting by price, attribute, stock, sale, and rating,
  with a card/list view toggle. Every filter combination is its own
  cacheable URL, and the whole sidebar works with JavaScript disabled.
* A mini-cart drawer, a full cart page, and a checkout that share the same
  rendered fragments rather than duplicating markup.

**Customizing**

Appearance → Customize offers colour schemes with per-colour overrides,
typography using a curated set of Google Fonts that are downloaded and
self-hosted on save (so no third-party request on page load), and controls
for which shop filters and sort options appear. There are nine widget areas
across the header and footer.

== Installation ==

1. Upload the theme to `wp-content/themes/fastestwoo` and activate it.
2. Install and activate WooCommerce.
3. Configure your CDN to cache HTML for anonymous visitors. On Cloudflare,
   FastestWoo can create the required cache rule for you from
   Settings → FastestWoo.

== Frequently Asked Questions ==

= Does the theme work without WooCommerce? =

No — cart, account, search, and filtering all depend on WooCommerce being
active. Without it the header shows a plain link to the cart page instead
of a live count and drawer, and the shop archive falls back to a static
default. Nothing fatals, but the storefront features need WooCommerce.

= Do I need a CDN? =

No. The theme is faster than a cookie-setting theme regardless, because of
the critical CSS, image handling, and dequeued scripts. Edge caching is
where the largest gain is, but it is not a requirement.

= Why is there no product image zoom or lightbox? =

WooCommerce's zoom, lightbox, and slider each load their own JavaScript
library on every product page. That is real weight against the goal the
theme exists for, so it opts out and renders a plain gallery instead.

= Can I use it as a parent theme? =

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

== Copyright ==

FastestWoo WordPress Theme, Copyright 2025 Arne.
FastestWoo is distributed under the terms of the GNU General Public
License v2 or later.

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, either version 2 of the License, or (at your option)
any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.

== Changelog ==

= 0.1.0 =
* Initial release.
