The Credibility Gap
9Sail is a B2B legal marketing agency founded by Joe Giovannoli, specializing in SEO for law firms and professional services companies. They serve 50+ law firm clients across multiple practice areas. They’ve published “The AI Search Revolution in B2B Legal” — thought leadership that their law firm clients read and act on.
9Sail positions as the agency that understands how AI search is reshaping legal client acquisition. Their content is genuinely excellent. Their domain expertise is real.
But when we ran a GEO audit on 9sail.com, the results told a different story.
9Sail’s site is a JavaScript-heavy Single Page Application. Content is rendered client-side — meaning AI crawlers that don’t execute JavaScript see a largely empty page. The agency advising law firms on AI visibility has a site that AI crawlers struggle to read.
What We Found: The GEO Scorecard
The quick GEO Score came back at 58/100 (C+). But that headline number masks the severity: three critical areas scored F, and the JS rendering issue means the real-world AI visibility is closer to 22/100.
| Area | Score | Issue |
|---|---|---|
| AI Crawler Access | A | Crawlers can reach the site — not blocked in robots.txt |
| llms.txt | F | Missing entirely — 404 at /llms.txt |
| Schema Markup | F | Zero JSON-LD or microdata detected on any page |
| Content Citability | F | Content buried in deferred JS; not structured for AI extraction |
| Structured Data | F | JS-heavy SPA — content barely crawlable by simple parsers |
5 Critical Issues We Found
1. JS-Rendered SPA Architecture
This is the fundamental issue. Content is buried behind JavaScript rendering. AI crawlers that rely on simple HTTP fetches — without JS execution — see minimal content. The site’s architecture makes all other GEO optimization moot until addressed.
When GPTBot or ClaudeBot fetches a 9Sail page, they receive an HTML shell. The actual service descriptions, blog content, and expertise signals are populated by JavaScript after load. AI crawlers generally cannot execute JavaScript.
2. No llms.txt File
Requesting 9sail.com/llms.txt returns a 404. AI models have zero structured context about what 9Sail does, who they serve, or what content they offer. For a legal marketing agency, this means AI systems cannot identify 9Sail as a relevant entity when users ask about legal marketing services.
3. Zero Schema.org Markup
No JSON-LD or microdata detected on any page. No Organization schema. No Person schema for Joe Giovannoli. No Article schema on blog posts. No ProfessionalService schema. AI entity recognition for 9Sail is effectively zero.
Without structured data, AI engines have no machine-readable way to understand that 9Sail is a legal marketing agency, what services they offer, or who their leadership is.
4. No FAQ or Q&A Formatted Content
Despite serving an industry where clients have specific legal marketing questions, the site has no FAQ sections or Q&A formatted content that AI systems could extract as direct answers. Law firms ask questions like “How do I get my firm into AI search results?” — 9Sail has the answers, but not in a format AI can cite.
5. Content Not Structured for AI Extraction
Blog content and service descriptions exist but are not formatted with clear definition blocks, answer passages, or citable statistics that AI models prefer. The content is written for human readers browsing a website — not for AI systems extracting facts and recommendations.
What Was Working
The audit wasn’t all bad. Several signals were strong:
- Thought leadership quality — The published content on AI search for legal is genuinely excellent
- AI crawlers not blocked — Default allow in robots.txt means crawlers can reach the site (even if they can’t read the JS-rendered content)
- Clear niche positioning — 9Sail has a well-defined market position in legal marketing
- Domain expertise — Joe Giovannoli has real authority that could be surfaced as E-E-A-T signals via Person schema
The content exists. The expertise is real. It’s just inaccessible to the systems that matter most for AI citations.
Recommendations: The 30-Day Fix
Week 1 — Quick Wins
- Create llms.txt — Write a comprehensive llms.txt with company description, services, key law firm verticals served, and links to key content. Estimated time: 1 hour.
- Add Organization + ProfessionalService schema — Implement JSON-LD in the page head, server-side rendered (not JS-injected). Estimated time: 2 hours.
- Create Person schema for Joe Giovannoli — Include credentials, expertise areas, published content, and social links. Estimated time: 1 hour.
- Add FAQ sections to 3 key service pages — Write 5–8 Q&A pairs per page with FAQPage schema. Estimated time: 3 hours.
Weeks 2–4 — Structural Fixes
- Week 2: Architecture fix — Implement server-side rendering (SSR) or static generation for critical content pages so AI crawlers can access content without JS execution
- Week 3: Content citability — Add FAQ sections with schema, restructure blog posts with definition blocks and answer passages, add source citations to AI search content
- Week 4: Authority building — Create Crunchbase profile, pursue legal industry directory listings, begin Reddit engagement in r/LawFirm and r/marketing, add Article schema to all blog posts
Projected Impact
With SSR fix + schema + llms.txt implemented, estimated GEO Score moves from 58/100 to 72/100. The key unlock: server-side rendering for content pages is the #1 priority — without it, other optimizations have limited impact because AI crawlers still can’t read the content.
The White-Label Opportunity
Law & Government is one of the fastest-growing categories for Google AI Overview triggers (+15% in early 2025). A #1-ranked page loses approximately 79% of clicks when an AI Overview appears above it. Every law firm in 9Sail’s portfolio is affected.
9Sail already understands the problem — they’ve published the diagnosis. What’s missing is the product: a repeatable GEO audit they can deliver to every law firm client. 50+ law firm clients could each receive GEO audits as a new 9Sail service line.
This isn’t just about fixing 9Sail’s own site. It’s about turning GEO auditing into a revenue-generating service for their entire client base.
Check Your Firm’s GEO Score
If a legal marketing agency that publishes AI search guides scored 22/100, what does your firm’s AI visibility look like?
- See if AI crawlers can read your site content
- Check your schema markup and structured data coverage
- Find out if your llms.txt is missing or misconfigured
- Get a prioritized fix list with implementation steps
GEO audit conducted on 9sail.com on 2026-03-20 using GEORaiser’s quick score assessment and deep prospect research analysis. Quick Score: 58/100 (C+). Deep audit estimate: 22/100 after applying JS rendering penalty. AI search market data from eMarketer Q1 2026 report. AI Overview click-loss data from industry research on featured snippet displacement.