July 22, 2026
Featured
1,200 Recompiles per Page View: The OPcache Failure No Hosting Dashboard Will Show You
Everyone tunes the page cache. Meanwhile, with an undersized OPcache buffer, a WooCommerce store with six popular plugins recompiles ~1,200 PHP files on every single page view - doubling worker RAM, saturating CPU, and cutting throughput by 29%. I measured all of it, request by request. No dashboard shows you any of this.
opcache woocommerce php
Read more
April 15, 2026
Featured
I Bought the Domain Before I Ran the Test. EmDash Still Lost to WordPress.
I read 150 EmDash hot takes in a week. Almost none came with data. So I built two identical sites, ran 4,732 cold-isolated curl measurements over ~3.5 days, and asked an SEO crawl-stats expert to grade the result blind. Here is what actually happened.
emdash wordpress astro
Read more
March 5, 2026
Featured
WooCommerce Checkout Slow? 4 Real Causes and How to Fix Them
WooCommerce checkout slow? Caching can't fix it. Find which of 4 layers — server, database, APIs, frontend — is yours, and fix that first.
woocommerce performance checkout
Read more
September 8, 2026
WooCommerce Add to Cart Slow? Anatomy of the Request No Cache Can Save
Add to cart slow while the rest of your WooCommerce site is fast? The click can't be cached — it shows your real server speed. Anatomy, diagnosis and fixes.
woocommerce performance cart
Read more
August 31, 2026
One Cloudflare Rule That Stops UTM Parameters From Ever Reaching Your Server
UTM and click-ID parameters fragment your cache and leak into your logs. One Cloudflare Transform Rule strips them at the edge in 10 minutes — without breaking attribution.
cloudflare caching performance
Read more
August 28, 2026
I Was Paying Backblaze for 497 GB of Backups That Didn't Exist
Duplicacy reported 109 GB of chunks in my GridPane server's Backblaze bucket. The invoice said 607 GB. The difference was 501,495 hidden file versions: fossils Duplicacy parked in B2 and never came back to delete. Invisible to the backup, invisible to the file browser, billed every month. How the two-phase delete leaves them behind, how to count yours with 30 lines of Python, and the one lifecycle rule that cleans it up without a maintenance window.
backblaze duplicacy gridpane
Read more
April 3, 2026
Your First Playwright Test for WooCommerce
Performance tests tell you how fast your store is. They don't tell you if your checkout actually works. Playwright does. Here's how to write your first test in under 10 minutes.
woocommerce playwright testing
Read more
March 21, 2026
Fast WooCommerce Search: An Experiment with RediSearch and SHORTINIT
The default WooCommerce search is slow by design. I'm building a custom plugin using RediSearch and SHORTINIT to see how fast autocomplete can get. Early results from a cheap VPS inside.
woocommerce performance search
Read more
March 4, 2026
The Staging Paradox: Why a Perfect Copy of Production Is a Ticking Time Bomb
A 1:1 database clone sends real emails, charges real cards, and corrupts your analytics. Here's how to build staging environments that are functionally identical but externally dead.
woocommerce staging devops
Read more
February 8, 2026
Why Hosting Should Be Step One in WordPress Optimization
Code optimization on a terrible host is a dead-end loop. I share real benchmarks - same code, two servers - and why the order of operations fundamentally changes the outcome.
wordpress optimization hosting
Read more
January 29, 2026
Shift64 - Built with Astro
A case study on building the Shift64 website using Astro, exploring the technology choices, architecture decisions, and lessons learned.
Astro Case Study Web Development
Read more
January 25, 2026
Automatic WordPress Theme Versioning with Semantic Release
Automate WordPress theme versioning end-to-end — from release pipeline setup to daily commits and PRs. One Claude Code skill sets up Semantic Release, three commands handle the rest.
wordpress devops git
Read more