We shipped the Fix Pack on ourselves. The score didn't move.
The first free audit our home page ever returned scored us 58/100. We shipped the Solarly Fix Pack on ourselves — six JSON-LD types, canonical, og:image, meta description, sitemap <lastmod>, llms.txt with every agent endpoint — all of it verifiable in the raw SSR HTML at solarly.ai via curl -sL. Re-audited on 2026-07-04: still 58/100. The scorer reports zero JSON-LD, no canonical, no og:image. Publishing the miss instead of hiding it is the whole point of the public methodology.
What we shipped vs. what the scorer sees
- Schema.org Coverage0 → 0
Shipped: 6 JSON-LD types now render in SSR HTML: Organization, WebSite, SoftwareApplication, FAQPage, BreadcrumbList, Service. Confirmed by `curl -sL https://solarly.ai/`.
Measured: Audit still reports jsonld_types: []. The scorer parses Firecrawl's rendered HTML and does not see the head <script type="application/ld+json"> tags our SSR ships. Discrepancy is in the crawler / audit pipeline — not the site.
- Crawler Accessibility100 → 100
Shipped: robots.txt allows every named AI bot; sitemap present; sitemap URL is declared.
Measured: Passing.
- Content Structure100 → 100
Shipped: One SSR <h1> plus ~360 words of prose across three <h2> sections.
Measured: Passing.
- Metadata Quality10 → 10
Shipped: SSR head carries meta description, canonical, og:title, og:description, og:image, twitter:card. All visible in raw HTML.
Measured: Audit reports has_meta_description: false, has_og_image: false, has_canonical: false. Same crawler blind spot as Schema.org — the rendered HTML Firecrawl returns to the scorer is missing our head tags.
- AI Directives (llms.txt)80 → 80
Shipped: llms.txt lists every agent endpoint (MCP, public JSON API, Sol-ID); sitemap entries carry <lastmod>.
Measured: Not yet at 100 because the +20 bonus for JSON-LD types depends on the same broken detection.
Why we're publishing this instead of fixing it quietly
- The scoring engine (
src/lib/case-study-audit.ts) parses HTML that Firecrawl returns from a headless render. Our own head tags are in the SSR shell but do not survive that pipeline. We know the failure mode; the fix is a scorer change, not a site change. - Tweaking the scorer to give ourselves a higher number is exactly the black-box move the public methodology promises never to do. So the score stays 58 until we fix the crawler and re-audit every case study fairly.
- Every fix-pack file we shipped is a real Fix Pack customer deliverable — and every one of them is visible to a real LLM crawler (curl, GPTBot, ClaudeBot). The failure is in our audit reader, not in the artefacts a customer would receive.
Want the Fix Pack anyway?
Real LLM crawlers ingest what our SSR ships. The Fix Pack is $99 and delivers the same six JSON-LD types, llms.txt, ai-agents.json, and sitemap patches on your site — regardless of what any single scorer reports.