audits

Audit state — 2026-05-09

Updated 2026-07-19audits/STATE-2026-05-09.md

Audit state — 2026-05-09

Reconciliation pass against the May 2 audits in this folder. Newest audit info first; older reports remain in place for the historical record. Read this file for "what is true today," then dive into the dated reports for the original findings.


Headline

Two of the May 2 critical issues are now closed and one is partially closed. The site is in materially better shape than the 53.8 / 100 SEO score from FULL-AUDIT-REPORT.md would suggest — that score was dragged down hard by:

  1. Every blog post detail page returning HTTP 500. Closed. Static export now builds every blog post page; npm run build produces them under out/blog/<slug>.html. Verified against the sitemap.
  2. Five primary pages sharing the same <title> and meta description. Closed. Each App Router route now has its own server-component shell with route-specific Metadata exports. The "use client" page-as-default-export problem from May 2 is gone — interactivity is in Client.tsx siblings, metadata stays on the server side.
  3. Hosting platform mismatch (audit said Hostinger / Netlify mix, CLAUDE.md said something else). Resolved differently. The deploy surface is now Cloudflare Workers Static Assets (wrangler.toml + .github/workflows/deploy.ymlwrangler deploy). Hostinger holds the domain registration only. DNS sits at Cloudflare. See docs/deployments/cloudflare-deploy.md. The Netlify config has been pruned.

Re-running the audit today would land somewhere in the 75–85 range against the same rubric. The remaining gap is content cadence (one cornerstone piece per month, not yet two months in) and the third-party trust signals (Shopify Partner directory, Clutch, GBP, real LinkedIn page — all on the §10 ask list in CLAUDE.md).


Per-category delta (May 2 → today)

Category May 2 score Estimated today Why it moved
Technical SEO 45 80 Blog 500s fixed; per-route metadata fixed; security headers added (HSTS preload, CSP-ish via _headers, COOP, X-Frame-Options DENY); sitemap dates current.
Content Quality 55 70 Long-form blog covers the GTA / Calgary / Vancouver triad; /foundation rewritten as the credo + ten rules; about page tightened. Cornerstone cadence not yet paying compounding interest.
On-Page SEO 40 80 Per-route titles and descriptions; Article JSON-LD per post; FAQ JSON-LD on services + foundation + several posts.
Schema / Structured Data 85 90 Added OfferCatalog on services and LocalBusiness graph on each location page.
Performance (CWV) 55 70 Edge delivery via Cloudflare; immutable cache headers on /_next/static/*; static export means no SSR latency. INP and LCP not yet field-measured at scale; lab-tested clean.
AI Search Readiness 60 88 llms.txt extended (this commit); x9elysium.json manifest added (this commit); docs/ai-access/ published (this commit); thoughts integration plan documented in docs/chat/thoughts-deep-integration.md. PIN-gated /chat is the most differentiated AI surface on the site.
Images 65 70 Founder portraits at public/images/about/team/{darshan,adhvait}.jpg are placeholders pending §10. Otherwise alt text + responsive sizing is in shape.

Composite: ~78 / 100 (rubric-equivalent). Up from 53.8.


What the May 2 audits got right and what's now stale

Read the originals:

The PDF (MARKETING-REPORT-x9elysium-com.pdf) is a snapshot of the May 2 marketing audit. Don't regenerate; it's a historical artifact.


Items still open from the May 2 audits

These bubble up to CLAUDE.md §10 as live asks:

  • Third-party trust signals — Shopify Partner directory listing, Clutch profile, Google Business Profile, real LinkedIn company page. Playbook in docs/marketing/third-party-listings.md. Each one is a 30-minute setup but requires Darsh to own the account creation.
  • Real founder photospublic/images/about/team/{darshan,adhvait}.jpg are still placeholders. Not blocking trust at the OG card level (we use the credo sigil) but worth replacing once available.
  • Cornerstone content cadence — one canonical piece per month, May–Nov 2026. Plan in docs/marketing/6-month-organic-growth-plan.md.
  • Cal.com linkNEXT_PUBLIC_CALCOM_URL as a GH repo secret. Needed for the book_call tool in Phase 2 of the chat integration.
  • Field-measured CWV — set up CrUX / RUM collection so we have field data, not just lab data, before next audit.

What the next audit should test (over and above the May 2 rubric)

The site has grown in ways the original SEO audit didn't model. Future audits should also score:

  • AI agent discoverability: can a fresh GPT/Claude/Perplexity instance find the manifest at x9elysium.com/x9elysium.json, parse it, and answer a "what does X9 do" question accurately and with citations? (Self-test recipe: WebFetch https://x9elysium.com/x9elysium.json and ask "summarize the engagement model.")
  • Chat answer quality: ten benchmark questions against /chat, scored for accuracy + citation quality + voice match (CLAUDE.md §6). Bench in docs/chat/smoke-tests/ once Phase 1 lands.
  • Thoughts share velocity: after the Phase 3 share surface ships, count of shared transcripts per week. Leading indicator for "chat as the canvas."
  • Comment-thread health: spam ratio, recurring-question density, conversion from comment → lead.

How to refresh this doc

When a new audit runs, append a new STATE-<date>.md rather than overwriting. Keep prior states in place — they tell the compounding story. If the next audit is a clean re-run of the May 2 rubric, also bump the figures in the per-category delta table and link the comparison.

— X9Elysium

Notes from readers

Open thread. Anyone can reply — no signup. Be real, be specific. Anything with a link goes through review.

0/1000

Loading…