reboot. rethink. recoveryArea.
Twenty-three years online, four CMSes, one static-site flip. Why we moved off WordPress to Astro on Cloudflare Pages — and whether that's the right call for your own site too.
Tag
9 posts tagged with this.
javascript ·
Twenty-three years online, four CMSes, one static-site flip. Why we moved off WordPress to Astro on Cloudflare Pages — and whether that's the right call for your own site too.
javascript ·
Joomla in 2003, SilverStripe briefly, a long WordPress decade with Genesis on top — and why static-site tooling finally won me over for new builds in 2026.
javascript ·
An async, error-resilient globals detector: spins up an iframe baseline, categorises the diff by type, and lets you exclude known third-party noise.
javascript ·
A tiny IIFE that compares window against a fresh iframe to list every user-defined global, grouped by type — handy for auditing third-party noise.
javascript ·
Why HTMLElement.click() silently fails on SVG, and the modern MouseEvent-dispatch one-liner that actually triggers the click on any element.
javascript ·
A tiny config-driven helper that builds, attributes, and inserts DOM nodes in one call — the primitive that powers most of my A/B test variants.
javascript ·
Replacing my old rAF-based viewport tracker with IntersectionObserver — the simpler, lazier, dramatically less complicated way to fire A/B test events.
javascript ·
A pocket-sized click introspection helper that JSON-stringifies the source element, its index, text, and every attribute — useful as A/B test custom tracking.
javascript ·
A tiny defensive wrapper that picks console.dir for objects and arrays and console.info for primitives — back when Firebug and Chrome disagreed about logging.