Notes
What I built, written down
Real problems from real projects. Every post has concrete numbers, reproducible commands and code you can use. No “boosted traffic by 300%” claims.
Three ways to make Stripe webhooks idempotent (and four traps I hit)
Stripe delivers webhooks at least once, not exactly once. Duplicate deliveries mean duplicate fulfilment, duplicate emails, duplicate charges. Three approaches, from rough to robust, with working code.
21 pages stuck in “Crawled – currently not indexed”. Here’s what actually fixed it
Every guide says add more content and internal links. I did that twice and nothing changed. The real cause was in the first HTML payload: 46 characters of it.
Your homepage is empty as far as Google is concerned
React and Next.js sites often ship a first HTML payload that contains one empty div. Google can execute JavaScript, but rendering is budgeted. This is verifiable with a single curl.
Check your own site for these problems
Every issue written up here can be detected in 30 seconds with the free audit tool.
Run a free audit →