[
  {
    "domain": "similarweb.com",
    "name": "Similarweb",
    "what": "web analytics + intelligence",
    "slug": "similarweb-com",
    "visibilityScore": 93,
    "pillars": {
      "ai": 85,
      "search": 100,
      "convert": 100
    },
    "overall": 85,
    "verdict": "PASS",
    "highestLeverageFix": "GEO Readiness: Add Person schema for the author with sameAs to ≥2 public profiles.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "chargebee.com",
    "name": "Chargebee",
    "what": "subscription billing",
    "slug": "chargebee-com",
    "visibilityScore": 92,
    "pillars": {
      "ai": 83,
      "search": 100,
      "convert": 100
    },
    "overall": 83,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong dual fit — the page answers a real query and opens with something quotable."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "beehiiv.com",
    "name": "beehiiv",
    "what": "newsletter platform",
    "slug": "beehiiv-com",
    "visibilityScore": 88,
    "pillars": {
      "ai": 85,
      "search": 100,
      "convert": 80
    },
    "overall": 85,
    "verdict": "PASS",
    "highestLeverageFix": "GEO Readiness: Add Person schema for the author with sameAs to ≥2 public profiles.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "nordvpn.com",
    "name": "NordVPN",
    "what": "VPN",
    "slug": "nordvpn-com",
    "visibilityScore": 87,
    "pillars": {
      "ai": 74,
      "search": 100,
      "convert": 100
    },
    "overall": 74,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "activecampaign.com",
    "name": "ActiveCampaign",
    "what": "marketing automation",
    "slug": "activecampaign-com",
    "visibilityScore": 85,
    "pillars": {
      "ai": 74,
      "search": 90,
      "convert": 100
    },
    "overall": 74,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 61942."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "simplified.com",
    "name": "Simplified",
    "what": "AI design + content",
    "slug": "simplified-com",
    "visibilityScore": 85,
    "pillars": {
      "ai": 79,
      "search": 100,
      "convert": 80
    },
    "overall": 79,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 150182."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "klaviyo.com",
    "name": "Klaviyo",
    "what": "e-commerce marketing automation",
    "slug": "klaviyo-com",
    "visibilityScore": 84,
    "pillars": {
      "ai": 72,
      "search": 90,
      "convert": 100
    },
    "overall": 72,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Defer or async the render-blocking <script> tags in <head> to improve LCP."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Confirm CF AI Crawl Control = \"Do not block\" and Manage robots.txt = \"Disable\"."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "moz.com",
    "name": "Moz",
    "what": "SEO software",
    "slug": "moz-com",
    "visibilityScore": 84,
    "pillars": {
      "ai": 68,
      "search": 100,
      "convert": 100
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sketch.com",
    "name": "Sketch",
    "what": "design tool",
    "slug": "sketch-com",
    "visibilityScore": 84,
    "pillars": {
      "ai": 72,
      "search": 90,
      "convert": 100
    },
    "overall": 72,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 6992.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 6992."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "pulumi.com",
    "name": "Pulumi",
    "what": "infrastructure as code",
    "slug": "pulumi-com",
    "visibilityScore": 84,
    "pillars": {
      "ai": 77,
      "search": 100,
      "convert": 80
    },
    "overall": 77,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 54006.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 54006."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "synthesia.io",
    "name": "Synthesia",
    "what": "AI video avatars",
    "slug": "synthesia-io",
    "visibilityScore": 83,
    "pillars": {
      "ai": 85,
      "search": 80,
      "convert": 80
    },
    "overall": 85,
    "verdict": "PASS",
    "highestLeverageFix": "SEO Foundation: Use exactly one <h1>. Currently 2.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 54139."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "buffer.com",
    "name": "Buffer",
    "what": "social media scheduling",
    "slug": "buffer-com",
    "visibilityScore": 83,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "make.com",
    "name": "Make",
    "what": "automation platform",
    "slug": "make-com",
    "visibilityScore": 83,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Confirm CF AI Crawl Control = \"Do not block\" and Manage robots.txt = \"Disable\"."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "brevo.com",
    "name": "Brevo",
    "what": "email + CRM",
    "slug": "brevo-com",
    "visibilityScore": 83,
    "pillars": {
      "ai": 80,
      "search": 90,
      "convert": 80
    },
    "overall": 80,
    "verdict": "PASS",
    "highestLeverageFix": "GEO Readiness: Add Person schema for the author with sameAs to ≥2 public profiles.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "gong.io",
    "name": "Gong",
    "what": "revenue intelligence",
    "slug": "gong-io",
    "visibilityScore": 83,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 20."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "coderabbit.ai",
    "name": "CodeRabbit",
    "what": "AI code review",
    "slug": "coderabbit-ai",
    "visibilityScore": 83,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "getresponse.com",
    "name": "GetResponse",
    "what": "email marketing",
    "slug": "getresponse-com",
    "visibilityScore": 83,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "postmarkapp.com",
    "name": "Postmark",
    "what": "transactional email",
    "slug": "postmarkapp-com",
    "visibilityScore": 83,
    "pillars": {
      "ai": 71,
      "search": 90,
      "convert": 100
    },
    "overall": 71,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sproutsocial.com",
    "name": "Sprout Social",
    "what": "social media management",
    "slug": "sproutsocial-com",
    "visibilityScore": 83,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "posthog.com",
    "name": "PostHog",
    "what": "product analytics",
    "slug": "posthog-com",
    "visibilityScore": 82,
    "pillars": {
      "ai": 79,
      "search": 90,
      "convert": 80
    },
    "overall": 79,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 416917."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "storyblok.com",
    "name": "Storyblok",
    "what": "headless CMS",
    "slug": "storyblok-com",
    "visibilityScore": 82,
    "pillars": {
      "ai": 79,
      "search": 90,
      "convert": 80
    },
    "overall": 79,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "hubspot.com",
    "name": "HubSpot",
    "what": "CRM + marketing",
    "slug": "hubspot-com",
    "visibilityScore": 81,
    "pillars": {
      "ai": 71,
      "search": 80,
      "convert": 100
    },
    "overall": 71,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 7."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 52484."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sentry.io",
    "name": "Sentry",
    "what": "error monitoring",
    "slug": "sentry-io",
    "visibilityScore": 81,
    "pillars": {
      "ai": 62,
      "search": 100,
      "convert": 100
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "cohere.com",
    "name": "Cohere",
    "what": "enterprise LLMs",
    "slug": "cohere-com",
    "visibilityScore": 81,
    "pillars": {
      "ai": 76,
      "search": 90,
      "convert": 80
    },
    "overall": 76,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "netlify.com",
    "name": "Netlify",
    "what": "web hosting + deploy",
    "slug": "netlify-com",
    "visibilityScore": 81,
    "pillars": {
      "ai": 62,
      "search": 100,
      "convert": 100
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "surferseo.com",
    "name": "Surfer",
    "what": "SEO content optimization",
    "slug": "surferseo-com",
    "visibilityScore": 81,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 100
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 14213.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add a `Sitemap:` line to robots.txt pointing at your sitemap.xml."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 14213."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "lovable.dev",
    "name": "Lovable",
    "what": "AI app builder",
    "slug": "lovable-dev",
    "visibilityScore": 81,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 100
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Confirm CF AI Crawl Control = \"Do not block\" and Manage robots.txt = \"Disable\"."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "mailerlite.com",
    "name": "MailerLite",
    "what": "email marketing",
    "slug": "mailerlite-com",
    "visibilityScore": 81,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 100
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "murf.ai",
    "name": "Murf",
    "what": "AI voice generation",
    "slug": "murf-ai",
    "visibilityScore": 81,
    "pillars": {
      "ai": 61,
      "search": 100,
      "convert": 100
    },
    "overall": 61,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "veed.io",
    "name": "VEED",
    "what": "online video editor",
    "slug": "veed-io",
    "visibilityScore": 81,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 100
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "intercom.com",
    "name": "Intercom",
    "what": "customer messaging",
    "slug": "intercom-com",
    "visibilityScore": 80,
    "pillars": {
      "ai": 70,
      "search": 100,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 18323.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 18323."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "squarespace.com",
    "name": "Squarespace",
    "what": "website builder",
    "slug": "squarespace-com",
    "visibilityScore": 80,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "fly.io",
    "name": "Fly.io",
    "what": "app hosting near users",
    "slug": "fly-io",
    "visibilityScore": 80,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 100
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 26."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "together.ai",
    "name": "Together AI",
    "what": "open-model inference cloud",
    "slug": "together-ai",
    "visibilityScore": 80,
    "pillars": {
      "ai": 74,
      "search": 90,
      "convert": 80
    },
    "overall": 74,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Phrase at least one H2 as a question a reader would actually type into an AI assistant."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "upstash.com",
    "name": "Upstash",
    "what": "serverless data (Redis/Kafka)",
    "slug": "upstash-com",
    "visibilityScore": 80,
    "pillars": {
      "ai": 75,
      "search": 90,
      "convert": 80
    },
    "overall": 75,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "frase.io",
    "name": "Frase",
    "what": "AI SEO content",
    "slug": "frase-io",
    "visibilityScore": 80,
    "pillars": {
      "ai": 75,
      "search": 90,
      "convert": 80
    },
    "overall": 75,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "outreach.io",
    "name": "Outreach",
    "what": "sales engagement",
    "slug": "outreach-io",
    "visibilityScore": 80,
    "pillars": {
      "ai": 70,
      "search": 100,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 3020.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 3020."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "canny.io",
    "name": "Canny",
    "what": "product feedback",
    "slug": "canny-io",
    "visibilityScore": 80,
    "pillars": {
      "ai": 70,
      "search": 100,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "userpilot.com",
    "name": "Userpilot",
    "what": "product onboarding",
    "slug": "userpilot-com",
    "visibilityScore": 80,
    "pillars": {
      "ai": 80,
      "search": 80,
      "convert": 80
    },
    "overall": 80,
    "verdict": "PASS",
    "highestLeverageFix": "SEO Foundation: Add WebPage or Article JSON-LD schema.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "coursera.org",
    "name": "Coursera",
    "what": "online courses",
    "slug": "coursera-org",
    "visibilityScore": 80,
    "pillars": {
      "ai": 74,
      "search": 90,
      "convert": 80
    },
    "overall": 74,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "supabase.com",
    "name": "Supabase",
    "what": "open-source Postgres backend",
    "slug": "supabase-com",
    "visibilityScore": 79,
    "pillars": {
      "ai": 63,
      "search": 90,
      "convert": 100
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "elevenlabs.io",
    "name": "ElevenLabs",
    "what": "AI voice generation",
    "slug": "elevenlabs-io",
    "visibilityScore": 79,
    "pillars": {
      "ai": 68,
      "search": 100,
      "convert": 80
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "jasper.ai",
    "name": "Jasper",
    "what": "AI marketing copy",
    "slug": "jasper-ai",
    "visibilityScore": 79,
    "pillars": {
      "ai": 63,
      "search": 90,
      "convert": 100
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 3182."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "lumalabs.ai",
    "name": "Luma AI",
    "what": "AI 3D + video",
    "slug": "lumalabs-ai",
    "visibilityScore": 79,
    "pillars": {
      "ai": 63,
      "search": 90,
      "convert": 100
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "matomo.org",
    "name": "Matomo",
    "what": "open-source web analytics",
    "slug": "matomo-org",
    "visibilityScore": 79,
    "pillars": {
      "ai": 58,
      "search": 100,
      "convert": 100
    },
    "overall": 58,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "vercel.com",
    "name": "Vercel",
    "what": "frontend cloud / Next.js",
    "slug": "vercel-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 75,
      "search": 80,
      "convert": 80
    },
    "overall": 75,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4478.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 45."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4478."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "zapier.com",
    "name": "Zapier",
    "what": "automation / integrations",
    "slug": "zapier-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Defer or async the render-blocking <script> tags in <head> to improve LCP."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "webflow.com",
    "name": "Webflow",
    "what": "visual website builder",
    "slug": "webflow-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "render.com",
    "name": "Render",
    "what": "cloud app hosting",
    "slug": "render-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "railway.app",
    "name": "Railway",
    "what": "deploy platform",
    "slug": "railway-app",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "resend.com",
    "name": "Resend",
    "what": "email API for developers",
    "slug": "resend-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 29."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "pipedrive.com",
    "name": "Pipedrive",
    "what": "sales CRM",
    "slug": "pipedrive-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add social proof — testimonials, reviews, ratings, or \"trusted by\" logos."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "bolt.new",
    "name": "Bolt",
    "what": "AI full-stack app builder",
    "slug": "bolt-new",
    "visibilityScore": 78,
    "pillars": {
      "ai": 71,
      "search": 90,
      "convert": 80
    },
    "overall": 71,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "prisma.io",
    "name": "Prisma",
    "what": "TypeScript ORM",
    "slug": "prisma-io",
    "visibilityScore": 78,
    "pillars": {
      "ai": 71,
      "search": 90,
      "convert": 80
    },
    "overall": 71,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "customer.io",
    "name": "Customer.io",
    "what": "messaging automation",
    "slug": "customer-io",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 1627.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 1627."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "front.com",
    "name": "Front",
    "what": "shared team inbox",
    "slug": "front-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "strapi.io",
    "name": "Strapi",
    "what": "open-source headless CMS",
    "slug": "strapi-io",
    "visibilityScore": 78,
    "pillars": {
      "ai": 66,
      "search": 100,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "weaviate.io",
    "name": "Weaviate",
    "what": "vector database",
    "slug": "weaviate-io",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "rudderstack.com",
    "name": "RudderStack",
    "what": "customer data platform",
    "slug": "rudderstack-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 8024.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 8024."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "launchdarkly.com",
    "name": "LaunchDarkly",
    "what": "feature flags",
    "slug": "launchdarkly-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 66,
      "search": 80,
      "convert": 100
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 85."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "pendo.io",
    "name": "Pendo",
    "what": "product experience",
    "slug": "pendo-io",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2785.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2785."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "anyscale.com",
    "name": "Anyscale",
    "what": "Ray compute platform",
    "slug": "anyscale-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "writer.com",
    "name": "Writer",
    "what": "enterprise AI writing",
    "slug": "writer-com",
    "visibilityScore": 78,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 99900.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 99900."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "framer.com",
    "name": "Framer",
    "what": "design + publish sites",
    "slug": "framer-com",
    "visibilityScore": 77,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 100
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 23."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 268643."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "auth0.com",
    "name": "Auth0",
    "what": "identity + authentication",
    "slug": "auth0-com",
    "visibilityScore": 77,
    "pillars": {
      "ai": 63,
      "search": 100,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "pinecone.io",
    "name": "Pinecone",
    "what": "vector database",
    "slug": "pinecone-io",
    "visibilityScore": 77,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 100
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2100."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "deepl.com",
    "name": "DeepL",
    "what": "AI translation",
    "slug": "deepl-com",
    "visibilityScore": 77,
    "pillars": {
      "ai": 74,
      "search": 80,
      "convert": 80
    },
    "overall": 74,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "fal.ai",
    "name": "Fal",
    "what": "generative media inference",
    "slug": "fal-ai",
    "visibilityScore": 77,
    "pillars": {
      "ai": 79,
      "search": 80,
      "convert": 70
    },
    "overall": 79,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 1581."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "tabnine.com",
    "name": "Tabnine",
    "what": "AI code completion",
    "slug": "tabnine-com",
    "visibilityScore": 77,
    "pillars": {
      "ai": 68,
      "search": 90,
      "convert": 80
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 79."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "timescale.com",
    "name": "Timescale",
    "what": "time-series Postgres",
    "slug": "timescale-com",
    "visibilityScore": 77,
    "pillars": {
      "ai": 68,
      "search": 90,
      "convert": 80
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "marketmuse.com",
    "name": "MarketMuse",
    "what": "content strategy AI",
    "slug": "marketmuse-com",
    "visibilityScore": 77,
    "pillars": {
      "ai": 64,
      "search": 100,
      "convert": 80
    },
    "overall": 64,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add sameAs URLs (LinkedIn, GitHub, Substack, Twitter/X — pick ≥2). Found 0."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "calendly.com",
    "name": "Calendly",
    "what": "scheduling",
    "slug": "calendly-com",
    "visibilityScore": 76,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "descript.com",
    "name": "Descript",
    "what": "AI audio + video editing",
    "slug": "descript-com",
    "visibilityScore": 76,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "contentful.com",
    "name": "Contentful",
    "what": "headless CMS",
    "slug": "contentful-com",
    "visibilityScore": 76,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "v0.dev",
    "name": "v0",
    "what": "AI UI generation",
    "slug": "v0-dev",
    "visibilityScore": 76,
    "pillars": {
      "ai": 56,
      "search": 90,
      "convert": 100
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "omnisend.com",
    "name": "Omnisend",
    "what": "e-commerce email",
    "slug": "omnisend-com",
    "visibilityScore": 76,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "flutterflow.io",
    "name": "FlutterFlow",
    "what": "no-code mobile apps",
    "slug": "flutterflow-io",
    "visibilityScore": 76,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "cloudflare.com",
    "name": "Cloudflare",
    "what": "web infrastructure + CDN",
    "slug": "cloudflare-com",
    "visibilityScore": 75,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 11883.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 68."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 11883."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "planetscale.com",
    "name": "PlanetScale",
    "what": "MySQL database platform",
    "slug": "planetscale-com",
    "visibilityScore": 75,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 89."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "suno.com",
    "name": "Suno",
    "what": "AI music generation",
    "slug": "suno-com",
    "visibilityScore": 75,
    "pillars": {
      "ai": 75,
      "search": 80,
      "convert": 70
    },
    "overall": 75,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4207.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 25."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4207."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "productboard.com",
    "name": "Productboard",
    "what": "product management",
    "slug": "productboard-com",
    "visibilityScore": 75,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 70
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "tally.so",
    "name": "Tally",
    "what": "forms + surveys",
    "slug": "tally-so",
    "visibilityScore": 75,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 80
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 71."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "aweber.com",
    "name": "AWeber",
    "what": "email marketing",
    "slug": "aweber-com",
    "visibilityScore": 75,
    "pillars": {
      "ai": 60,
      "search": 80,
      "convert": 100
    },
    "overall": 60,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings that reflect the page's sub-topics — currently 1."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings so the page can be quoted section by section — currently 1."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "quillbot.com",
    "name": "QuillBot",
    "what": "AI paraphrasing",
    "slug": "quillbot-com",
    "visibilityScore": 75,
    "pillars": {
      "ai": 70,
      "search": 90,
      "convert": 70
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Confirm CF AI Crawl Control = \"Do not block\" and Manage robots.txt = \"Disable\"."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "mistral.ai",
    "name": "Mistral",
    "what": "open-weight AI models",
    "slug": "mistral-ai",
    "visibilityScore": 74,
    "pillars": {
      "ai": 68,
      "search": 80,
      "convert": 80
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings that reflect the page's sub-topics — currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings so the page can be quoted section by section — currently 0."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "retool.com",
    "name": "Retool",
    "what": "internal-tools builder",
    "slug": "retool-com",
    "visibilityScore": 74,
    "pillars": {
      "ai": 62,
      "search": 90,
      "convert": 80
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "neon.tech",
    "name": "Neon",
    "what": "serverless Postgres",
    "slug": "neon-tech",
    "visibilityScore": 74,
    "pillars": {
      "ai": 62,
      "search": 90,
      "convert": 80
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "fullstory.com",
    "name": "FullStory",
    "what": "digital experience analytics",
    "slug": "fullstory-com",
    "visibilityScore": 74,
    "pillars": {
      "ai": 68,
      "search": 80,
      "convert": 80
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 1740.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 84."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 1740."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "screamingfrog.co.uk",
    "name": "Screaming Frog",
    "what": "SEO crawler",
    "slug": "screamingfrog-co-uk",
    "visibilityScore": 74,
    "pillars": {
      "ai": 58,
      "search": 80,
      "convert": 100
    },
    "overall": 58,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 27."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "lindy.ai",
    "name": "Lindy",
    "what": "AI agents for work",
    "slug": "lindy-ai",
    "visibilityScore": 74,
    "pillars": {
      "ai": 63,
      "search": 90,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 6127."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "warp.dev",
    "name": "Warp",
    "what": "AI terminal",
    "slug": "warp-dev",
    "visibilityScore": 74,
    "pillars": {
      "ai": 62,
      "search": 90,
      "convert": 80
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "gainsight.com",
    "name": "Gainsight",
    "what": "customer success",
    "slug": "gainsight-com",
    "visibilityScore": 74,
    "pillars": {
      "ai": 63,
      "search": 90,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Defer or async the render-blocking <script> tags in <head> to improve LCP."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "ahrefs.com",
    "name": "Ahrefs",
    "what": "SEO toolset",
    "slug": "ahrefs-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 66,
      "search": 80,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "typeform.com",
    "name": "Typeform",
    "what": "forms + surveys",
    "slug": "typeform-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 70
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "cursor.com",
    "name": "Cursor",
    "what": "AI code editor",
    "slug": "cursor-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 65,
      "search": 80,
      "convert": 80
    },
    "overall": 65,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4023."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "paddle.com",
    "name": "Paddle",
    "what": "SaaS payments + merchant of record",
    "slug": "paddle-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 66,
      "search": 80,
      "convert": 80
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 72."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "openrouter.ai",
    "name": "OpenRouter",
    "what": "unified LLM API router",
    "slug": "openrouter-ai",
    "visibilityScore": 73,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 70
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 5440.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 10."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 5440."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "nuxt.com",
    "name": "Nuxt",
    "what": "Vue framework",
    "slug": "nuxt-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 56,
      "search": 100,
      "convert": 80
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add About / Contact / privacy / terms links so visitors trust the business."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "airbyte.com",
    "name": "Airbyte",
    "what": "data integration",
    "slug": "airbyte-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 70,
      "search": 80,
      "convert": 70
    },
    "overall": 70,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 12340.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 72."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 12340."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "salesforce.com",
    "name": "Salesforce",
    "what": "CRM",
    "slug": "salesforce-com",
    "visibilityScore": 73,
    "pillars": {
      "ai": 65,
      "search": 80,
      "convert": 80
    },
    "overall": 65,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "captions.ai",
    "name": "Captions",
    "what": "AI video creation",
    "slug": "captions-ai",
    "visibilityScore": 73,
    "pillars": {
      "ai": 66,
      "search": 90,
      "convert": 70
    },
    "overall": 66,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "opus.pro",
    "name": "OpusClip",
    "what": "AI clip generation",
    "slug": "opus-pro",
    "visibilityScore": 73,
    "pillars": {
      "ai": 56,
      "search": 80,
      "convert": 100
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 14867."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "gitlab.com",
    "name": "GitLab",
    "what": "DevOps platform",
    "slug": "gitlab-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a `Sitemap:` line to robots.txt pointing at your sitemap.xml."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "zendesk.com",
    "name": "Zendesk",
    "what": "customer support",
    "slug": "zendesk-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 53,
      "search": 100,
      "convert": 80
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add social proof — testimonials, reviews, ratings, or \"trusted by\" logos."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "asana.com",
    "name": "Asana",
    "what": "work management",
    "slug": "asana-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 7041."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "twilio.com",
    "name": "Twilio",
    "what": "communications API",
    "slug": "twilio-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 16260."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "runwayml.com",
    "name": "Runway",
    "what": "AI video generation",
    "slug": "runwayml-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 68,
      "search": 80,
      "convert": 70
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2908.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings that reflect the page's sub-topics — currently 1."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings so the page can be quoted section by section — currently 1."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2908."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "mongodb.com",
    "name": "MongoDB",
    "what": "document database",
    "slug": "mongodb-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 56177."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "apollo.io",
    "name": "Apollo.io",
    "what": "sales intelligence",
    "slug": "apollo-io",
    "visibilityScore": 72,
    "pillars": {
      "ai": 68,
      "search": 80,
      "convert": 70
    },
    "overall": 68,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 4."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings so the page can be quoted section by section — currently 0."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "krea.ai",
    "name": "Krea",
    "what": "realtime AI image + video",
    "slug": "krea-ai",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 60."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "weweb.io",
    "name": "WeWeb",
    "what": "no-code web apps",
    "slug": "weweb-io",
    "visibilityScore": 72,
    "pillars": {
      "ai": 49,
      "search": 90,
      "convert": 100
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "okta.com",
    "name": "Okta",
    "what": "identity + access management",
    "slug": "okta-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "seranking.com",
    "name": "SE Ranking",
    "what": "SEO platform",
    "slug": "seranking-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 58,
      "search": 90,
      "convert": 80
    },
    "overall": 58,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "taplio.com",
    "name": "Taplio",
    "what": "LinkedIn growth AI",
    "slug": "taplio-com",
    "visibilityScore": 72,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 80
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "github.com",
    "name": "GitHub",
    "what": "code hosting + collaboration",
    "slug": "github-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 51,
      "search": 80,
      "convert": 100
    },
    "overall": 51,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 130529."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "monday.com",
    "name": "monday.com",
    "what": "work OS",
    "slug": "monday-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 62,
      "search": 80,
      "convert": 80
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "dropbox.com",
    "name": "Dropbox",
    "what": "file storage + sync",
    "slug": "dropbox-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 62,
      "search": 80,
      "convert": 80
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "glideapps.com",
    "name": "Glide",
    "what": "apps from spreadsheets",
    "slug": "glideapps-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 56,
      "search": 90,
      "convert": 80
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "usefathom.com",
    "name": "Fathom Analytics",
    "what": "privacy-first analytics",
    "slug": "usefathom-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 62,
      "search": 90,
      "convert": 70
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "bigcommerce.com",
    "name": "BigCommerce",
    "what": "e-commerce platform",
    "slug": "bigcommerce-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 51,
      "search": 100,
      "convert": 80
    },
    "overall": 51,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "cockroachlabs.com",
    "name": "CockroachDB",
    "what": "distributed SQL",
    "slug": "cockroachlabs-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 56,
      "search": 90,
      "convert": 80
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong dual fit — the page answers a real query and opens with something quotable."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "relevanceai.com",
    "name": "Relevance AI",
    "what": "AI agent platform",
    "slug": "relevanceai-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 56,
      "search": 90,
      "convert": 80
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "comet.com",
    "name": "Comet",
    "what": "ML experiment tracking",
    "slug": "comet-com",
    "visibilityScore": 71,
    "pillars": {
      "ai": 51,
      "search": 80,
      "convert": 100
    },
    "overall": 51,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "glean.com",
    "name": "Glean",
    "what": "enterprise AI search",
    "slug": "glean-com",
    "visibilityScore": 70,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 100
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 38775."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "clay.com",
    "name": "Clay",
    "what": "GTM data enrichment",
    "slug": "clay-com",
    "visibilityScore": 70,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 100
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 76."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "builder.io",
    "name": "Builder.io",
    "what": "visual headless CMS",
    "slug": "builder-io",
    "visibilityScore": 70,
    "pillars": {
      "ai": 44,
      "search": 90,
      "convert": 100
    },
    "overall": 44,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "langchain.com",
    "name": "LangChain",
    "what": "LLM app framework",
    "slug": "langchain-com",
    "visibilityScore": 69,
    "pillars": {
      "ai": 42,
      "search": 90,
      "convert": 100
    },
    "overall": 42,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~202)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 25702."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "n8n.io",
    "name": "n8n",
    "what": "workflow automation",
    "slug": "n8n-io",
    "visibilityScore": 69,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 70
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 19810."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "heap.io",
    "name": "Heap",
    "what": "product analytics",
    "slug": "heap-io",
    "visibilityScore": 69,
    "pillars": {
      "ai": 53,
      "search": 90,
      "convert": 80
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Phrase at least one H2 as a question a reader would actually type into an AI assistant."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "vapi.ai",
    "name": "Vapi",
    "what": "voice AI agents",
    "slug": "vapi-ai",
    "visibilityScore": 69,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 70
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "simpleanalytics.com",
    "name": "Simple Analytics",
    "what": "privacy-first analytics",
    "slug": "simpleanalytics-com",
    "visibilityScore": 69,
    "pillars": {
      "ai": 53,
      "search": 90,
      "convert": 80
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 16."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 84998."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "circleci.com",
    "name": "CircleCI",
    "what": "CI/CD",
    "slug": "circleci-com",
    "visibilityScore": 69,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 70
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "stripe.com",
    "name": "Stripe",
    "what": "payments infrastructure",
    "slug": "stripe-com",
    "visibilityScore": 68,
    "pillars": {
      "ai": 71,
      "search": 80,
      "convert": 50
    },
    "overall": 71,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2094."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "figma.com",
    "name": "Figma",
    "what": "collaborative design",
    "slug": "figma-com",
    "visibilityScore": 68,
    "pillars": {
      "ai": 50,
      "search": 90,
      "convert": 80
    },
    "overall": 50,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.4,
        "hardBlock": true,
        "fix": "robots.txt blocks AI search bots (OAI-SearchBot / PerplexityBot / Claude-SearchBot) site-wide — Disallow: / on those makes citation impossible. Allow them."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "atlassian.com",
    "name": "Atlassian",
    "what": "Jira + Confluence maker",
    "slug": "atlassian-com",
    "visibilityScore": 68,
    "pillars": {
      "ai": 56,
      "search": 90,
      "convert": 70
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 9."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "workos.com",
    "name": "WorkOS",
    "what": "enterprise SSO + auth for apps",
    "slug": "workos-com",
    "visibilityScore": 68,
    "pillars": {
      "ai": 51,
      "search": 90,
      "convert": 80
    },
    "overall": 51,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "zed.dev",
    "name": "Zed",
    "what": "AI code editor",
    "slug": "zed-dev",
    "visibilityScore": 68,
    "pillars": {
      "ai": 56,
      "search": 80,
      "convert": 80
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 27."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Phrase at least one H2 as a question a reader would actually type into an AI assistant."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "kapwing.com",
    "name": "Kapwing",
    "what": "online video editor",
    "slug": "kapwing-com",
    "visibilityScore": 68,
    "pillars": {
      "ai": 51,
      "search": 90,
      "convert": 80
    },
    "overall": 51,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "gamma.app",
    "name": "Gamma",
    "what": "AI presentations",
    "slug": "gamma-app",
    "visibilityScore": 67,
    "pillars": {
      "ai": 58,
      "search": 80,
      "convert": 70
    },
    "overall": 58,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-18"
  },
  {
    "domain": "plausible.io",
    "name": "Plausible",
    "what": "privacy-first web analytics",
    "slug": "plausible-io",
    "visibilityScore": 67,
    "pillars": {
      "ai": 53,
      "search": 80,
      "convert": 80
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 75."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "convex.dev",
    "name": "Convex",
    "what": "reactive backend",
    "slug": "convex-dev",
    "visibilityScore": 67,
    "pillars": {
      "ai": 49,
      "search": 90,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 1079."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "getdbt.com",
    "name": "dbt",
    "what": "data transformation",
    "slug": "getdbt-com",
    "visibilityScore": 67,
    "pillars": {
      "ai": 49,
      "search": 90,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "circle.so",
    "name": "Circle",
    "what": "community platform",
    "slug": "circle-so",
    "visibilityScore": 67,
    "pillars": {
      "ai": 54,
      "search": 80,
      "convert": 80
    },
    "overall": 54,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings so the page can be quoted section by section — currently 0."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "clickhouse.com",
    "name": "ClickHouse",
    "what": "analytics database",
    "slug": "clickhouse-com",
    "visibilityScore": 67,
    "pillars": {
      "ai": 49,
      "search": 90,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "deepnote.com",
    "name": "Deepnote",
    "what": "data science notebooks",
    "slug": "deepnote-com",
    "visibilityScore": 67,
    "pillars": {
      "ai": 53,
      "search": 80,
      "convert": 80
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "slack.com",
    "name": "Slack",
    "what": "team messaging",
    "slug": "slack-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 3021."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "AI search bots (PerplexityBot) could not reach your origin cleanly (got HTTP 429) — check your edge/WAF configuration."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "ghost.org",
    "name": "Ghost",
    "what": "open-source publishing",
    "slug": "ghost-org",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "clickup.com",
    "name": "ClickUp",
    "what": "project management",
    "slug": "clickup-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 62,
      "search": 70,
      "convert": 70
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "clerk.com",
    "name": "Clerk",
    "what": "authentication for apps",
    "slug": "clerk-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 56,
      "search": 80,
      "convert": 70
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 6."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "mixpanel.com",
    "name": "Mixpanel",
    "what": "product analytics",
    "slug": "mixpanel-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 39939."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "coda.io",
    "name": "Coda",
    "what": "docs + apps workspace",
    "slug": "coda-io",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "digitalocean.com",
    "name": "DigitalOcean",
    "what": "cloud hosting",
    "slug": "digitalocean-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "hashnode.com",
    "name": "Hashnode",
    "what": "developer blogging",
    "slug": "hashnode-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 62,
      "search": 90,
      "convert": 50
    },
    "overall": 62,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "lemonsqueezy.com",
    "name": "Lemon Squeezy",
    "what": "digital products + merchant of record",
    "slug": "lemonsqueezy-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "drip.com",
    "name": "Drip",
    "what": "e-commerce CRM",
    "slug": "drip-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 52,
      "search": 80,
      "convert": 80
    },
    "overall": 52,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "emailoctopus.com",
    "name": "EmailOctopus",
    "what": "email marketing",
    "slug": "emailoctopus-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "proton.me",
    "name": "Proton",
    "what": "privacy suite (mail/VPN)",
    "slug": "proton-me",
    "visibilityScore": 66,
    "pillars": {
      "ai": 51,
      "search": 80,
      "convert": 80
    },
    "overall": 51,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 26."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "doppler.com",
    "name": "Doppler",
    "what": "secrets management",
    "slug": "doppler-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "hootsuite.com",
    "name": "Hootsuite",
    "what": "social media management",
    "slug": "hootsuite-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 56,
      "search": 80,
      "convert": 70
    },
    "overall": 56,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 5."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "superhuman.com",
    "name": "Superhuman",
    "what": "fast email client",
    "slug": "superhuman-com",
    "visibilityScore": 66,
    "pillars": {
      "ai": 47,
      "search": 90,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "linear.app",
    "name": "Linear",
    "what": "issue tracking for software teams",
    "slug": "linear-app",
    "visibilityScore": 65,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 64."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "postman.com",
    "name": "Postman",
    "what": "API development platform",
    "slug": "postman-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 49,
      "search": 90,
      "convert": 70
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "you.com",
    "name": "You.com",
    "what": "AI search engine",
    "slug": "you-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add social proof — testimonials, reviews, ratings, or \"trusted by\" logos."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "databricks.com",
    "name": "Databricks",
    "what": "data + AI platform",
    "slug": "databricks-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 45,
      "search": 90,
      "convert": 80
    },
    "overall": 45,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "kit.com",
    "name": "Kit",
    "what": "creator email platform (formerly ConvertKit)",
    "slug": "kit-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 80
    },
    "overall": 49,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add at least one H2 phrased as a question users actually ask."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "mollie.com",
    "name": "Mollie",
    "what": "European payments",
    "slug": "mollie-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 54,
      "search": 80,
      "convert": 70
    },
    "overall": 54,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 7."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 180976."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "trello.com",
    "name": "Trello",
    "what": "kanban boards",
    "slug": "trello-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "heygen.com",
    "name": "HeyGen",
    "what": "AI video avatars",
    "slug": "heygen-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 44,
      "search": 90,
      "convert": 80
    },
    "overall": 44,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sierra.ai",
    "name": "Sierra",
    "what": "conversational AI",
    "slug": "sierra-ai",
    "visibilityScore": 65,
    "pillars": {
      "ai": 64,
      "search": 80,
      "convert": 50
    },
    "overall": 64,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 78."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "roboflow.com",
    "name": "Roboflow",
    "what": "computer vision platform",
    "slug": "roboflow-com",
    "visibilityScore": 65,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "airtable.com",
    "name": "Airtable",
    "what": "spreadsheet-database",
    "slug": "airtable-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 71."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 5644."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "miro.com",
    "name": "Miro",
    "what": "visual collaboration",
    "slug": "miro-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 53,
      "search": 80,
      "convert": 70
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 13."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 179279."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "grammarly.com",
    "name": "Grammarly",
    "what": "writing assistant",
    "slug": "grammarly-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add in-context internal links to related pages — found 0, need ≥3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "snowflake.com",
    "name": "Snowflake",
    "what": "data cloud",
    "slug": "snowflake-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 23."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "wix.com",
    "name": "Wix",
    "what": "website builder",
    "slug": "wix-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 63,
      "search": 80,
      "convert": 50
    },
    "overall": 63,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings that reflect the page's sub-topics — currently 1."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~360)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Phrase at least one H2 as a question a reader would actually type into an AI assistant."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "todoist.com",
    "name": "Todoist",
    "what": "task manager",
    "slug": "todoist-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 60."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "cognition.ai",
    "name": "Cognition",
    "what": "Devin AI software engineer",
    "slug": "cognition-ai",
    "visibilityScore": 64,
    "pillars": {
      "ai": 53,
      "search": 80,
      "convert": 70
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "GEO Readiness: Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~309).",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 9."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~309)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "bitwarden.com",
    "name": "Bitwarden",
    "what": "open-source password manager",
    "slug": "bitwarden-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 80
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 81."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "mangools.com",
    "name": "Mangools",
    "what": "SEO tools",
    "slug": "mangools-com",
    "visibilityScore": 64,
    "pillars": {
      "ai": 53,
      "search": 70,
      "convert": 80
    },
    "overall": 53,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4308."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "notion.so",
    "name": "Notion",
    "what": "docs + workspace",
    "slug": "notion-so",
    "visibilityScore": 62,
    "pillars": {
      "ai": 39,
      "search": 90,
      "convert": 80
    },
    "overall": 39,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~395)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "mailchimp.com",
    "name": "Mailchimp",
    "what": "email marketing",
    "slug": "mailchimp-com",
    "visibilityScore": 62,
    "pillars": {
      "ai": 49,
      "search": 70,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 6."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "replicate.com",
    "name": "Replicate",
    "what": "run ML models via API",
    "slug": "replicate-com",
    "visibilityScore": 62,
    "pillars": {
      "ai": 44,
      "search": 80,
      "convert": 80
    },
    "overall": 44,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 56."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "softr.io",
    "name": "Softr",
    "what": "no-code apps from data",
    "slug": "softr-io",
    "visibilityScore": 62,
    "pillars": {
      "ai": 44,
      "search": 80,
      "convert": 80
    },
    "overall": 44,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 76."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "gumroad.com",
    "name": "Gumroad",
    "what": "sell digital products",
    "slug": "gumroad-com",
    "visibilityScore": 62,
    "pillars": {
      "ai": 44,
      "search": 80,
      "convert": 80
    },
    "overall": 44,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "recraft.ai",
    "name": "Recraft",
    "what": "AI graphic design",
    "slug": "recraft-ai",
    "visibilityScore": 62,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 70
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 4."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sourcegraph.com",
    "name": "Sourcegraph",
    "what": "code AI + search",
    "slug": "sourcegraph-com",
    "visibilityScore": 62,
    "pillars": {
      "ai": 38,
      "search": 90,
      "convert": 80
    },
    "overall": 38,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "dashlane.com",
    "name": "Dashlane",
    "what": "password manager",
    "slug": "dashlane-com",
    "visibilityScore": 62,
    "pillars": {
      "ai": 49,
      "search": 80,
      "convert": 70
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "adobe.com",
    "name": "Adobe",
    "what": "creative software",
    "slug": "adobe-com",
    "visibilityScore": 62,
    "pillars": {
      "ai": 58,
      "search": 80,
      "convert": 50
    },
    "overall": 58,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "AI search bots (PerplexityBot) could not reach your origin cleanly (got HTTP 520) — check your edge/WAF configuration."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "pipedream.com",
    "name": "Pipedream",
    "what": "workflow automation",
    "slug": "pipedream-com",
    "visibilityScore": 61,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 70
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 9."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "shortwave.com",
    "name": "Shortwave",
    "what": "AI email client",
    "slug": "shortwave-com",
    "visibilityScore": 61,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 70
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "patreon.com",
    "name": "Patreon",
    "what": "creator memberships",
    "slug": "patreon-com",
    "visibilityScore": 60,
    "pillars": {
      "ai": 44,
      "search": 80,
      "convert": 70
    },
    "overall": 44,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 8."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 4551."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "robots.txt blocks AI search bots (OAI-SearchBot / PerplexityBot / Claude-SearchBot) site-wide — Disallow: / on those makes citation impossible. Allow them."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add social proof — testimonials, reviews, ratings, or \"trusted by\" logos."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "kling.ai",
    "name": "Kling AI",
    "what": "AI video generation",
    "slug": "kling-ai",
    "visibilityScore": 60,
    "pillars": {
      "ai": 50,
      "search": 90,
      "convert": 50
    },
    "overall": 50,
    "verdict": "PASS",
    "highestLeverageFix": "GEO Readiness: Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~279).",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add ≥2 H2 subheadings that reflect the page's sub-topics — currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~279)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 194414."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "AI search bots (PerplexityBot) could not reach your origin cleanly (got HTTP 446) — check your edge/WAF configuration."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sunsama.com",
    "name": "Sunsama",
    "what": "daily planner",
    "slug": "sunsama-com",
    "visibilityScore": 60,
    "pillars": {
      "ai": 49,
      "search": 60,
      "convert": 80
    },
    "overall": 49,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 68."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "openai.com",
    "name": "OpenAI",
    "what": "ChatGPT maker",
    "slug": "openai-com",
    "visibilityScore": 58,
    "pillars": {
      "ai": 40,
      "search": 80,
      "convert": 70
    },
    "overall": 40,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "envato.com",
    "name": "Envato",
    "what": "creative assets marketplace",
    "slug": "envato-com",
    "visibilityScore": 57,
    "pillars": {
      "ai": 39,
      "search": 70,
      "convert": 80
    },
    "overall": 39,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.4,
        "hardBlock": true,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "stackoverflow.com",
    "name": "Stack Overflow",
    "what": "developer Q&A",
    "slug": "stackoverflow-com",
    "visibilityScore": 57,
    "pillars": {
      "ai": 54,
      "search": 50,
      "convert": 70
    },
    "overall": 54,
    "verdict": "PASS",
    "highestLeverageFix": "Entity Coherence: Add Person schema for the author with byline + bio + sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Write a 140-160 char <meta name=\"description\">."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "leonardo.ai",
    "name": "Leonardo.AI",
    "what": "AI image generation",
    "slug": "leonardo-ai",
    "visibilityScore": 56,
    "pillars": {
      "ai": 52,
      "search": 90,
      "convert": 30
    },
    "overall": 52,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Person schema for the author with sameAs to ≥2 public profiles."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "obsidian.md",
    "name": "Obsidian",
    "what": "knowledge base / notes",
    "slug": "obsidian-md",
    "visibilityScore": 56,
    "pillars": {
      "ai": 41,
      "search": 70,
      "convert": 70
    },
    "overall": 41,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 52."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "ticktick.com",
    "name": "TickTick",
    "what": "task manager",
    "slug": "ticktick-com",
    "visibilityScore": 56,
    "pillars": {
      "ai": 47,
      "search": 80,
      "convert": 50
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "scale.com",
    "name": "Scale AI",
    "what": "AI data platform",
    "slug": "scale-com",
    "visibilityScore": 55,
    "pillars": {
      "ai": 54,
      "search": 80,
      "convert": 30
    },
    "overall": 54,
    "verdict": "PASS",
    "highestLeverageFix": "Dual Fit: Open the first paragraph with a quote-ready fact, definition, or statistic.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add sameAs links (LinkedIn, GitHub, Substack, etc.) so your entities corroborate across sources."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "copy.ai",
    "name": "Copy.ai",
    "what": "AI marketing copy",
    "slug": "copy-ai",
    "visibilityScore": 54,
    "pillars": {
      "ai": 12,
      "search": 90,
      "convert": 100
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 5246."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "sanity.io",
    "name": "Sanity",
    "what": "headless CMS",
    "slug": "sanity-io",
    "visibilityScore": 54,
    "pillars": {
      "ai": 13,
      "search": 90,
      "convert": 100
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "capcut.com",
    "name": "CapCut",
    "what": "video editing",
    "slug": "capcut-com",
    "visibilityScore": 54,
    "pillars": {
      "ai": 47,
      "search": 70,
      "convert": 50
    },
    "overall": 47,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 73."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "semrush.com",
    "name": "Semrush",
    "what": "SEO + marketing toolkit",
    "slug": "semrush-com",
    "visibilityScore": 52,
    "pillars": {
      "ai": 14,
      "search": 80,
      "convert": 100
    },
    "overall": 14,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "amplitude.com",
    "name": "Amplitude",
    "what": "product analytics",
    "slug": "amplitude-com",
    "visibilityScore": 52,
    "pillars": {
      "ai": 13,
      "search": 100,
      "convert": 80
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong SEO foundation — keep titles, schema, and internal links fresh."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 5256."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "astro.build",
    "name": "Astro",
    "what": "web framework",
    "slug": "astro-build",
    "visibilityScore": 51,
    "pillars": {
      "ai": 11,
      "search": 80,
      "convert": 100
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 5."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "raycast.com",
    "name": "Raycast",
    "what": "launcher + AI",
    "slug": "raycast-com",
    "visibilityScore": 51,
    "pillars": {
      "ai": 12,
      "search": 80,
      "convert": 100
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 78."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "spyfu.com",
    "name": "SpyFu",
    "what": "competitor SEO research",
    "slug": "spyfu-com",
    "visibilityScore": 51,
    "pillars": {
      "ai": 11,
      "search": 80,
      "convert": 100
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Write a 140-160 char <meta name=\"description\">."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 1,
        "hardBlock": false,
        "fix": "Strong conversion surface — keep CTAs above the fold and proof near the offer."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "trigger.dev",
    "name": "Trigger.dev",
    "what": "background jobs platform",
    "slug": "trigger-dev",
    "visibilityScore": 50,
    "pillars": {
      "ai": 14,
      "search": 90,
      "convert": 80
    },
    "overall": 14,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "1password.com",
    "name": "1Password",
    "what": "password manager",
    "slug": "1password-com",
    "visibilityScore": 49,
    "pillars": {
      "ai": 12,
      "search": 90,
      "convert": 80
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "otter.ai",
    "name": "Otter.ai",
    "what": "AI meeting transcription",
    "slug": "otter-ai",
    "visibilityScore": 49,
    "pillars": {
      "ai": 13,
      "search": 90,
      "convert": 80
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "appcues.com",
    "name": "Appcues",
    "what": "user onboarding",
    "slug": "appcues-com",
    "visibilityScore": 49,
    "pillars": {
      "ai": 13,
      "search": 90,
      "convert": 80
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "mintlify.com",
    "name": "Mintlify",
    "what": "AI documentation",
    "slug": "mintlify-com",
    "visibilityScore": 48,
    "pillars": {
      "ai": 15,
      "search": 80,
      "convert": 80
    },
    "overall": 15,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 66."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Phrase at least one H2 as a question a reader would actually type into an AI assistant."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "shopify.com",
    "name": "Shopify",
    "what": "e-commerce platform",
    "slug": "shopify-com",
    "visibilityScore": 47,
    "pillars": {
      "ai": 14,
      "search": 80,
      "convert": 80
    },
    "overall": 14,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 3892."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "hotjar.com",
    "name": "Hotjar",
    "what": "heatmaps + session recordings",
    "slug": "hotjar-com",
    "visibilityScore": 47,
    "pillars": {
      "ai": 14,
      "search": 80,
      "convert": 80
    },
    "overall": 14,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "codeium.com",
    "name": "Codeium",
    "what": "AI coding (Windsurf)",
    "slug": "codeium-com",
    "visibilityScore": 47,
    "pillars": {
      "ai": 13,
      "search": 80,
      "convert": 80
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Confirm CF AI Crawl Control = \"Do not block\" and Manage robots.txt = \"Disable\"."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "payloadcms.com",
    "name": "Payload",
    "what": "TypeScript headless CMS",
    "slug": "payloadcms-com",
    "visibilityScore": 47,
    "pillars": {
      "ai": 13,
      "search": 80,
      "convert": 80
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2101."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "optimizely.com",
    "name": "Optimizely",
    "what": "experimentation platform",
    "slug": "optimizely-com",
    "visibilityScore": 47,
    "pillars": {
      "ai": 13,
      "search": 90,
      "convert": 70
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "anthropic.com",
    "name": "Anthropic",
    "what": "Claude maker",
    "slug": "anthropic-com",
    "visibilityScore": 46,
    "pillars": {
      "ai": 12,
      "search": 80,
      "convert": 80
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 16."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 2515."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add social proof — testimonials, reviews, ratings, or \"trusted by\" logos."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "loom.com",
    "name": "Loom",
    "what": "async screen video",
    "slug": "loom-com",
    "visibilityScore": 46,
    "pillars": {
      "ai": 11,
      "search": 90,
      "convert": 70
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.9,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "huggingface.co",
    "name": "Hugging Face",
    "what": "ML model hub",
    "slug": "huggingface-co",
    "visibilityScore": 46,
    "pillars": {
      "ai": 11,
      "search": 80,
      "convert": 80
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "modal.com",
    "name": "Modal",
    "what": "serverless compute for AI",
    "slug": "modal-com",
    "visibilityScore": 46,
    "pillars": {
      "ai": 11,
      "search": 80,
      "convert": 80
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "You block AI training crawlers (GPTBot etc.) — a valid stance, but it removes you from model training. Allow them if long-term recall matters; search/retrieval citation already works."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "graphite.dev",
    "name": "Graphite",
    "what": "AI code review",
    "slug": "graphite-dev",
    "visibilityScore": 46,
    "pillars": {
      "ai": 12,
      "search": 80,
      "convert": 80
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 71."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "remove.bg",
    "name": "remove.bg",
    "what": "AI background removal",
    "slug": "remove-bg",
    "visibilityScore": 46,
    "pillars": {
      "ai": 42,
      "search": 80,
      "convert": 20
    },
    "overall": 42,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "clearscope.io",
    "name": "Clearscope",
    "what": "SEO content optimization",
    "slug": "clearscope-io",
    "visibilityScore": 45,
    "pillars": {
      "ai": 14,
      "search": 70,
      "convert": 80
    },
    "overall": 14,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "statsig.com",
    "name": "Statsig",
    "what": "experimentation platform",
    "slug": "statsig-com",
    "visibilityScore": 45,
    "pillars": {
      "ai": 10,
      "search": 80,
      "convert": 80
    },
    "overall": 10,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "segment.com",
    "name": "Segment",
    "what": "customer data platform",
    "slug": "segment-com",
    "visibilityScore": 44,
    "pillars": {
      "ai": 13,
      "search": 80,
      "convert": 70
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 15693."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "stability.ai",
    "name": "Stability AI",
    "what": "Stable Diffusion maker",
    "slug": "stability-ai",
    "visibilityScore": 44,
    "pillars": {
      "ai": 13,
      "search": 80,
      "convert": 70
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 12."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "braze.com",
    "name": "Braze",
    "what": "customer engagement",
    "slug": "braze-com",
    "visibilityScore": 44,
    "pillars": {
      "ai": 13,
      "search": 80,
      "convert": 70
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 78."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "x.ai",
    "name": "xAI",
    "what": "Grok AI",
    "slug": "x-ai",
    "visibilityScore": 44,
    "pillars": {
      "ai": 12,
      "search": 80,
      "convert": 70
    },
    "overall": 12,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "sendgrid.com",
    "name": "SendGrid",
    "what": "email API",
    "slug": "sendgrid-com",
    "visibilityScore": 44,
    "pillars": {
      "ai": 13,
      "search": 80,
      "convert": 70
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 16264."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "raindrop.io",
    "name": "Raindrop",
    "what": "bookmark manager",
    "slug": "raindrop-io",
    "visibilityScore": 44,
    "pillars": {
      "ai": 12,
      "search": 80,
      "convert": 70
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Write a 140-160 char <meta name=\"description\">."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly — currently 823."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "codesandbox.io",
    "name": "CodeSandbox",
    "what": "online IDE",
    "slug": "codesandbox-io",
    "visibilityScore": 43,
    "pillars": {
      "ai": 11,
      "search": 80,
      "convert": 70
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "readwise.io",
    "name": "Readwise",
    "what": "read-later + highlights",
    "slug": "readwise-io",
    "visibilityScore": 43,
    "pillars": {
      "ai": 11,
      "search": 70,
      "convert": 80
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 8."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Lead with a single H1 + a short sub-headline that states the value in one line."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "remix.run",
    "name": "Remix",
    "what": "React framework",
    "slug": "remix-run",
    "visibilityScore": 41,
    "pillars": {
      "ai": 12,
      "search": 70,
      "convert": 70
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 31."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "datadoghq.com",
    "name": "Datadog",
    "what": "observability + monitoring",
    "slug": "datadoghq-com",
    "visibilityScore": 40,
    "pillars": {
      "ai": 14,
      "search": 50,
      "convert": 80
    },
    "overall": 14,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Write a 140-160 char <meta name=\"description\">."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "continue.dev",
    "name": "Continue",
    "what": "open-source AI coding",
    "slug": "continue-dev",
    "visibilityScore": 40,
    "pillars": {
      "ai": 44,
      "search": 50,
      "convert": 20
    },
    "overall": 44,
    "verdict": "WEAK",
    "highestLeverageFix": "Conversion Readiness: Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link).",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 29."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "stackblitz.com",
    "name": "StackBlitz",
    "what": "online IDE",
    "slug": "stackblitz-com",
    "visibilityScore": 40,
    "pillars": {
      "ai": 10,
      "search": 70,
      "convert": 70
    },
    "overall": 10,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 2."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~262)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "genspark.ai",
    "name": "Genspark",
    "what": "AI search agent",
    "slug": "genspark-ai",
    "visibilityScore": 38,
    "pillars": {
      "ai": 10,
      "search": 80,
      "convert": 50
    },
    "overall": 10,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Shorten the first paragraph to ≤600 chars so LLMs can extract it cleanly."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "bubble.io",
    "name": "Bubble",
    "what": "no-code app builder",
    "slug": "bubble-io",
    "visibilityScore": 37,
    "pillars": {
      "ai": 38,
      "search": 70,
      "convert": 0
    },
    "overall": 38,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Conversion Readiness: Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link).",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add Person schema for the author with byline + bio + sameAs."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "substack.com",
    "name": "Substack",
    "what": "newsletter publishing",
    "slug": "substack-com",
    "visibilityScore": 36,
    "pillars": {
      "ai": 22,
      "search": 50,
      "convert": 50
    },
    "overall": 22,
    "verdict": "WEAK",
    "highestLeverageFix": "GEO Readiness: Add Organization JSON-LD schema with name, url, logo, sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.1,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "pika.art",
    "name": "Pika",
    "what": "AI video generation",
    "slug": "pika-art",
    "visibilityScore": 36,
    "pillars": {
      "ai": 11,
      "search": 50,
      "convert": 70
    },
    "overall": 11,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 4."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~261)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "tailwindcss.com",
    "name": "Tailwind CSS",
    "what": "CSS framework",
    "slug": "tailwindcss-com",
    "visibilityScore": 36,
    "pillars": {
      "ai": 12,
      "search": 70,
      "convert": 50
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 76."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "deepseek.com",
    "name": "DeepSeek",
    "what": "open AI models",
    "slug": "deepseek-com",
    "visibilityScore": 32,
    "pillars": {
      "ai": 8,
      "search": 80,
      "convert": 30
    },
    "overall": 8,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 15."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "canva.com",
    "name": "Canva",
    "what": "design tool",
    "slug": "canva-com",
    "visibilityScore": 31,
    "pillars": {
      "ai": 21,
      "search": 50,
      "convert": 30
    },
    "overall": 21,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Add Organization JSON-LD schema with name, url, logo, sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add WebPage or Article JSON-LD schema."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.1,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.2,
        "hardBlock": true,
        "fix": "robots.txt blocks AI search bots (OAI-SearchBot / PerplexityBot / Claude-SearchBot) site-wide — Disallow: / on those makes citation impossible. Allow them."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "udio.com",
    "name": "Udio",
    "what": "AI music generation",
    "slug": "udio-com",
    "visibilityScore": 31,
    "pillars": {
      "ai": 7,
      "search": 80,
      "convert": 30
    },
    "overall": 7,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.1,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "groq.com",
    "name": "Groq",
    "what": "fast LLM inference",
    "slug": "groq-com",
    "visibilityScore": 30,
    "pillars": {
      "ai": 9,
      "search": 70,
      "convert": 30
    },
    "overall": 9,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "photopea.com",
    "name": "Photopea",
    "what": "online photo editor",
    "slug": "photopea-com",
    "visibilityScore": 29,
    "pillars": {
      "ai": 13,
      "search": 60,
      "convert": 30
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Add in-context internal links to related pages — found 1, need ≥3."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": false,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "qdrant.tech",
    "name": "Qdrant",
    "what": "vector database",
    "slug": "qdrant-tech",
    "visibilityScore": 27,
    "pillars": {
      "ai": 13,
      "search": 50,
      "convert": 30
    },
    "overall": 13,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 29."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "svelte.dev",
    "name": "Svelte",
    "what": "web framework",
    "slug": "svelte-dev",
    "visibilityScore": 26,
    "pillars": {
      "ai": 12,
      "search": 50,
      "convert": 30
    },
    "overall": 12,
    "verdict": "WEAK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Lengthen <meta name=\"description\"> to ~140-160 characters — currently 34."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~298)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a visible pricing / offer / demo link so buyers know how to act."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "apidog.com",
    "name": "Apidog",
    "what": "API design platform",
    "slug": "apidog-com",
    "visibilityScore": 26,
    "pillars": {
      "ai": 2,
      "search": 50,
      "convert": 50
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Dual Fit: Rewrite <title> to target a specific query someone would actually search.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a 50-60 char <title> with primary keyword early."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.1,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0,
        "hardBlock": true,
        "fix": "Rewrite <title> to target a specific query someone would actually search."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": true,
        "fix": "Render core content in first-paint HTML (avoid JS-gated body — AI crawlers do not execute JS). Detected ~0 words, need ≥200."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a lead-capture form or email input so visitors can convert."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "midjourney.com",
    "name": "Midjourney",
    "what": "AI image generation",
    "slug": "midjourney-com",
    "visibilityScore": 22,
    "pillars": {
      "ai": 9,
      "search": 50,
      "convert": 20
    },
    "overall": 9,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Entity Coherence: Add Organization schema in <head> on every page.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 4."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-06-18"
  },
  {
    "domain": "perplexity.ai",
    "name": "Perplexity",
    "what": "AI answer engine",
    "slug": "perplexity-ai",
    "visibilityScore": 19,
    "pillars": {
      "ai": 2,
      "search": 70,
      "convert": 0
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Add Organization JSON-LD schema with name, url, logo, sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.7,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.4,
        "hardBlock": true,
        "fix": "Your edge (Cloudflare/WAF) returns 403 to AI search bots. Set CF AI Crawl Control to \"Do not block\" — citation is impossible if retrieval bots are 403ed."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "character.ai",
    "name": "Character.AI",
    "what": "AI character chat",
    "slug": "character-ai",
    "visibilityScore": 16,
    "pillars": {
      "ai": 2,
      "search": 60,
      "convert": 0
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.6,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "kaggle.com",
    "name": "Kaggle",
    "what": "data science community",
    "slug": "kaggle-com",
    "visibilityScore": 14,
    "pillars": {
      "ai": 2,
      "search": 50,
      "convert": 0
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Use exactly one <h1>. Currently 0."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.8,
        "hardBlock": true,
        "fix": "Render core content in first-paint HTML (avoid JS-gated body — AI crawlers do not execute JS). Detected ~0 words, need ≥200."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "dribbble.com",
    "name": "Dribbble",
    "what": "design community",
    "slug": "dribbble-com",
    "visibilityScore": 13,
    "pillars": {
      "ai": 0,
      "search": 50,
      "convert": 0
    },
    "overall": 0,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.5,
        "hardBlock": false,
        "fix": "Add a 50-60 char <title> with primary keyword early."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0,
        "hardBlock": true,
        "fix": "Rewrite <title> to target a specific query someone would actually search."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "gitpod.io",
    "name": "Gitpod",
    "what": "cloud dev environments",
    "slug": "gitpod-io",
    "visibilityScore": 11,
    "pillars": {
      "ai": 2,
      "search": 40,
      "convert": 0
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Rewrite <title> to 30-70 characters — currently 9."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "robots.txt blocks AI search bots (OAI-SearchBot / PerplexityBot / Claude-SearchBot) site-wide — Disallow: / on those makes citation impossible. Allow them."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "skool.com",
    "name": "Skool",
    "what": "communities + courses",
    "slug": "skool-com",
    "visibilityScore": 10,
    "pillars": {
      "ai": 0,
      "search": 40,
      "convert": 0
    },
    "overall": 0,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.4,
        "hardBlock": false,
        "fix": "Add a 50-60 char <title> with primary keyword early."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0,
        "hardBlock": true,
        "fix": "Rewrite <title> to target a specific query someone would actually search."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "dust.tt",
    "name": "Dust",
    "what": "AI agents for teams",
    "slug": "dust-tt",
    "visibilityScore": 8,
    "pillars": {
      "ai": 0,
      "search": 30,
      "convert": 0
    },
    "overall": 0,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Add a 50-60 char <title> with primary keyword early."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Render core content in first-paint HTML — words added by client-side JS are invisible to most AI crawlers."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0,
        "hardBlock": true,
        "fix": "Rewrite <title> to target a specific query someone would actually search."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Create /llms.txt with a site summary + priority URLs (Anthropic + OpenAI + Perplexity convention)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  },
  {
    "domain": "retell.ai",
    "name": "Retell AI",
    "what": "voice AI agents",
    "slug": "retell-ai",
    "visibilityScore": 6,
    "pillars": {
      "ai": 2,
      "search": 20,
      "convert": 0
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "GEO Readiness: Add Organization JSON-LD schema with name, url, logo, sameAs.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Write a 140-160 char <meta name=\"description\">."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization JSON-LD schema with name, url, logo, sameAs."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0.3,
        "hardBlock": false,
        "fix": "Open the first paragraph with a quote-ready fact, definition, or statistic."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 0.6,
        "hardBlock": true,
        "fix": "Render core content in first-paint HTML (avoid JS-gated body — AI crawlers do not execute JS)."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-06-27"
  },
  {
    "domain": "typefully.com",
    "name": "Typefully",
    "what": "X/Twitter writing",
    "slug": "typefully-com",
    "visibilityScore": 6,
    "pillars": {
      "ai": 2,
      "search": 20,
      "convert": 0
    },
    "overall": 2,
    "verdict": "HARD-BLOCK",
    "highestLeverageFix": "Dual Fit: Rewrite <title> to target a specific query someone would actually search.",
    "dimensions": [
      {
        "key": "seoFoundation",
        "name": "SEO Foundation",
        "score": 0.2,
        "hardBlock": false,
        "fix": "Add a 50-60 char <title> with primary keyword early."
      },
      {
        "key": "geoReadiness",
        "name": "GEO Readiness",
        "score": 0.1,
        "hardBlock": false,
        "fix": "Add more substantive content — aim for 400+ words so the page has enough to be worth citing (currently ~312)."
      },
      {
        "key": "dualFit",
        "name": "Dual Fit",
        "score": 0,
        "hardBlock": true,
        "fix": "Rewrite <title> to target a specific query someone would actually search."
      },
      {
        "key": "entityCoherence",
        "name": "Entity Coherence",
        "score": 0,
        "hardBlock": false,
        "fix": "Add Organization schema in <head> on every page."
      },
      {
        "key": "botCrawlHealth",
        "name": "Bot-Crawl Health",
        "score": 1,
        "hardBlock": false,
        "fix": "Everything this audit can test passes, including a live PerplexityBot fetch of your origin. Nothing to change."
      },
      {
        "key": "conversionReadiness",
        "name": "Conversion Readiness",
        "score": 0,
        "hardBlock": false,
        "fix": "Add a clear primary call-to-action (contact, pricing, sign-up, or subscribe link)."
      }
    ],
    "scoredAt": "2026-09-05"
  }
]