Writing
Practical tutorials on WordPress, React/Next.js, performance optimization, and technical SEO — from real-world projects.
GA4 Conversions Missing After Server-Side Tagging Migration
Moved GA4 to server-side GTM and your conversions dropped to zero? Here is why the client_id is being dropped and the header forwarding fix that brings them back.

Next.js 16 unstable_cache Migration: Build Errors and the Fix
Next.js 16 build failing after replacing unstable_cache with 'use cache'? Here is why the closure error fires and the exact migration pattern that compiles.

WooCommerce HPOS Bulk Order Status Update Failing Silently
WooCommerce HPOS bulk action shows 'Updated' but order status never changes? Here is why the legacy hook fires on the wrong table and the action fix that holds.
Next.js 16 next start 500 Error After Turbopack Build
Next.js 16 next build passes but next start returns a 500 with Cannot find module? Turbopack quietly ignored your custom webpack config. Here is the real fix.
Page With Redirect in Search Console: The Next.js Fix
Page with redirect in Search Console keeping your Next.js pages out of the index? Here is why your canonical URL redirects and how to fix it for good.
WordPress 7.0 Custom Block Breaks the Editor Iframe
WordPress 7.0 forces the iframed block editor, so an old apiVersion block loses its styles and scripts for everyone. Here is the apiVersion 3 fix that holds.

Next.js 16 Image Qualities Not Configured Error Fix
Next.js 16 throwing an unconfigured qualities error or blurry images after upgrade? Here is why images.qualities now defaults to 75 and the config fix.

Next.js _rsc URLs Indexed by Google: The Crawl Fix
Next.js _rsc URLs showing up in Search Console as duplicates or alternate canonicals? Here is why App Router prefetch leaks them and how to stop the crawl.

WooCommerce Invalid Nonce Error With Full Page Cache
WooCommerce throwing an invalid nonce error on add to cart after your page cache expires? Here is why cached nonces break and the ESI fix that actually holds.