Writing

Practical tutorials on WordPress, React/Next.js, performance optimization, and technical SEO — from real-world projects.
Showing 1–9 of 186
GA4
Jun 16, 20266 min read

GA4 Scroll Events Not Firing in Next.js App Router

GA4 enhanced measurement scroll events stop firing after the first page load in Next.js App Router? Here is why client navigation kills them and the exact fix.

GA4Next.js
React
Jun 16, 20266 min read

React 19.2 useActionState Pending Stuck After Navigation

React 19.2 useActionState leaves isPending true after a Next.js redirect or router.push? Here is why the state never resets and the pattern that fixes it.

ReactNext.js
WooCommerce
Jun 16, 20266 min read

WooCommerce Cart Block Shows Wrong Shipping After Zone Overlap

WooCommerce 10.8 cart block returning the wrong shipping rate when two zones overlap on the same postcode? Here is why the picker grabs the wrong zone and the exact fix.

WooCommerceShipping
Jun 15, 20267 min read

FCP Regression After Enabling React Compiler in Next.js 16

First Contentful Paint regressed after turning on reactCompiler in Next.js 16? Here is why the runtime cache pushes paint and the boundary fix that recovers it.

PerformanceCore Web Vitals
Jun 15, 20266 min read

Next.js 16 typedRoutes Breaks Dynamic Link href TypeScript

Next.js 16 typedRoutes throwing 'href is not assignable to Route' on dynamic Link components? Here is why the type tightened and the cast that compiles cleanly.

Next.jsTypeScript
Jun 15, 20266 min read

WooCommerce Checkout Block Creating Duplicate Orders

WooCommerce checkout block placing the same order twice and charging cards twice? Here is why the second submit fires and the idempotency fix that holds.

WooCommerceCheckout
Performance
Jun 14, 20266 min read

INP Regression After Adding Cloudflare Turnstile Widget Fix

INP score tanked on mobile after adding the Cloudflare Turnstile widget? Here is why the embed script blocks interaction and the lazy-load fix that works.

PerformanceCore Web Vitals
Next.js
Jun 14, 20266 min read

Next.js 16 Link Prefetch Hammering Your RSC Endpoint

Next.js 16 Link prefetch flooding your RSC endpoint on hover? Here is why the new heuristic fires too eagerly and the prefetch={false} fix that holds.

Next.jsReact
WooCommerce
Jun 14, 20266 min read

WooCommerce Analytics Empty After HPOS Migration: The Fix

WooCommerce Analytics dashboard showing zero orders after enabling HPOS? Here is why the lookup tables never rebuilt and the WP-CLI fix that restores it.

WooCommerceHPOS