

/wp-json/wc/v1/products endpoint returns a 401 without keys, and the custom taxonomies aren't registered with REST at all. No credentials exist. So no API./all-products/page/N/ page lists 12 products with SKU, brand, category, type, pole count, amperage class, stock status, image, and URL right in the markup. The math: 5,519 archive pages instead of 66,248 product pages. That's a 12x reduction in requests for the same data.amp-342), not values. Useless to a human. The decode: crawl the term archive pages themselves, record which SKUs appear under each, and invert the map. One catch — some term pages 404 because their slugs are IDs the site doesn't route; the ones that work are value slugs (/amp/600/). After the full pass: 26,933 SKUs with decoded amps, 4,191 with poles— about 40% of the catalog. The rest simply isn't exposed anywhere on the public site, and I'd rather ship honest 40% than invented 100%.
@import for fonts is three sequential round-trips — stylesheet, then font CSS, then font files — all render-blocking. Fix: preconnect hints plus an asynchronous stylesheet (media="print" onloadswap with a noscript fallback) on all 20 pages, hero image preloaded, below-fold images lazy. FCP dropped to 0.9s, LCP to 1.7s, score to 100. Total Blocking Time and Cumulative Layout Shift were already 0 and stayed there.

object-position anchoring so the equipment — not the empty half of the frame — stays in view at any window size.

Posted Sep 19, 2026
Rebuilt an electrical supplier's 66,216-SKU catalog into a working in-page search — no API, Lighthouse 71 to 100, shipped live in three days.
1
7