10 SEO articles published and rewritten to brand standards. 1 Google indexing crisis identified and fixed — root cause: await headers() in root layout cascading dynamic rendering to every page. Cache-Control went from private no-store to public for 100+ pages.
April was a content and infrastructure month. Here is what shipped.
Published 10 articles in the automation, operations, and systems clusters. Mid-month content audit found AI-fabrication patterns across four of them — unsourced percentages, wrong venture count, invented dollar figures. We rewrote all 14 published articles to brand standards using only verified proof points: 73% ops reduction from real system audits, 60+ automation nodes from actual n8n workflows, 8 venture lines from the cms_ventures table. Final editorial gate: 14/14 PASS across 6 dimensions.
The pattern that triggered the audit: round-number statistics appearing every paragraph. When every metric is a round number, it is a signal that the numbers were invented for readability, not sourced from measurement.
Mid-April: Google Search Console showed 100+ pages crawlable, 1 URL indexed. Root cause: await headers() in src/app/layout.tsx, used for per-request CSP nonce generation. Dynamic rendering means Next.js sets Cache-Control: private, no-cache, no-store. Google reads private as personalized content and does not index it.
Fix: removed await headers() from layout, replaced per-request nonce CSP with static CSP, moved all inline scripts to /public/ static files. Pages reclassified from dynamic to static. Cache-Control became public, max-age=0, must-revalidate.