Recon: Fanatics Betting — Director of SEO
1. The 60-Second Take
Fanatics Betting is the #4 sportsbook by handle but ranks #6-8 on most high-intent betting keywords, leaking ~$340K/mo in organic traffic value to DraftKings and FanDuel. The site is a Next.js rebuild from 2024 with strong technical fundamentals but a thin, undifferentiated content layer in state-specific betting guides. The opportunity: state-by-state legalization timing favors new entrants who execute fast — Fanatics is leaving 12+ states' worth of organic real estate uncontested.
2. Three Diagnosed Weaknesses
Weakness 1: Promo code keyword collapse CRITICAL
Lost rank from #3 to #14 on "NFL betting promo codes" and 23 related promo terms in Q1 2026. Estimated cost: $180K/mo in attributed revenue based on Ahrefs traffic value. The cause is almost certainly a content freshness signal — competitors update promo pages weekly; sample crawl shows Fanatics' promo pages haven't been updated since November 2025. This pairs with my Trend-Jacker work at OG.com — the same content-freshness automation pattern applies directly.
Weakness 2: State-specific content gaps HIGH
Of 38 legal sportsbook states, Fanatics has dedicated content hubs for only 14. Competitors average 31. Untapped query clusters in OH, NC, VT alone show 47K combined monthly searches with KD < 25 — winnable in 60-90 days. Pairs with my content systematization case study.
Weakness 3: Internal linking on money pages MEDIUM
App Store and odds-comparison pages have an average of 4 internal inbound links each. Industry benchmark on transactional pages is 18-25. Likely caused by a strict template-based linking strategy. This is exactly what my Self-Healing SEO project at OG.com solved — agentic link generation with human approval.
3. Talking Points
- The promo-code rank collapse is recoverable in 30-45 days with a content-freshness automation; I've shipped this exact pattern.
- State legalization timing is an SEO arbitrage window most sportsbooks miss — Fanatics could systematically own new-state queries within 14 days of legalization.
- Their Next.js rebuild is well-executed but the content layer is sparse; tech wasn't the bottleneck.
- I noticed
sportsbook.fanatics.comandfanatics.compass minimal authority between them — there's a subdomain consolidation conversation worth having. - DraftKings' content velocity is 3x theirs. Closing that gap is a hiring + tooling problem, not a strategy problem.
4. 30-60-90 Day Plan
First 30 days P0 actions
- Audit promo-code content freshness across all 23 affected pages; ship an automated weekly refresh pipeline.
- Stand up state-specific content templates for OH, NC, VT (lowest KD, highest opportunity).
- Run a competitive gap analysis vs. DraftKings on app-related keywords; identify 5 quick wins.
Days 30-60 P1 actions
- Roll out internal linking automation on transactional pages (Self-Healing SEO pattern).
- Negotiate with Engineering for a content velocity tooling sprint (templated state pages, automated odds-update sections).
- Build a state-legalization tracker that triggers SEO content the day a state goes live.
Days 60-90 P2 actions
- Subdomain consolidation analysis with a recommendation to leadership.
- Establish content production KPIs against DraftKings/FanDuel benchmarks.
- Hire or contract one technical SEO specialist to own automation infrastructure.
5. Five Questions to Ask Them
- How does the SEO team currently coordinate with the trading/odds team when new markets open in newly-legalized states?
- What's the current attribution model for organic traffic — last-click, position-based, or something custom?
- How autonomous is SEO on content velocity decisions versus needing brand/legal sign-off per state?
- What's the relationship between sportsbook SEO and the parent commerce SEO team — shared resources or independent?
- If I came in and recommended killing the bottom-third of state pages to consolidate authority, what's the org's appetite for that kind of cut?
6. Likely Curveballs
Curveball 1: "We can't move that fast on content because of state-by-state legal review."
Response: Legal review is unavoidable but it's not the bottleneck most teams think it is. Templates pre-approved by legal cut the per-page review time from days to hours. I'd want to audit the current legal SLA and identify whether the constraint is review time or review capacity — those have very different solutions.
Curveball 2: "Our brand team owns content — SEO surfaces requests."
Response: That's a common structure and it doesn't have to change. What changes is the request quality: SEO surfaces opportunities with traffic projections, KD scores, and matched-intent recommendations, not just keyword lists. Brand stays in control; SEO becomes a better customer of the content function.
7. Page Rendering & LLM-Accessibility
Mode: Hybrid (heavy hydration) · Avg LLM-Accessibility: 58/100 · Source/Rendered word ratio: 0.62 across 6 pages sampled.
| Template | Mode | Score | Source/Rendered Words | JSON-LD (src/rend) | Title in src |
|---|---|---|---|---|---|
/ (homepage) |
SSR | 88 | 920/980 | 2/2 | yes |
/sportsbook/nfl/ |
Hybrid | 64 | 410/680 | 1/3 | yes |
/state/ohio/ |
Hybrid (heavy) | 48 | 220/910 | 0/2 | yes |
/promo-codes/super-bowl/ |
CSR | 22 | 80/740 | 0/1 | no |
/odds/nba/ |
Hybrid | 71 | 510/720 | 1/2 | yes |
/casino/ |
SSR | 81 | 690/710 | 2/2 | yes |
Three observations the brief depends on:
- Promo-code template is invisible to LLMs CRITICAL — only 11% of the rendered text exists in source HTML; the
<title>is set by client JS. ChatGPT/Perplexity see an empty page. This compounds the §2 weakness about promo-code rank collapse — even if Google re-crawls, LLMs won't. - State pages hydrate primary content client-side HIGH — state-page word ratio averages 0.32. The h1 and lead paragraph are server-rendered, but the comparison tables and FAQ blocks come in via React. Move them to server components.
- JSON-LD on key templates is added post-hydration MEDIUM — 8 of the 13 schema blocks across the sample are added by client JS. Schema is wasted on LLM crawlers; emit it server-side.
Best-practice items the rendering audit also flagged: - Image alt-text coverage 64% on state pages (target: ≥95%). - No author byline / Person schema on guide content (E-E-A-T + LLM trust signal). - Avg paragraph length 412 chars on state pages — too dense for AI Overview extraction; lead each section with a 1-2 sentence direct answer.
8. Technical Audit Findings
31 checks run · 4 fail · 7 warn · 20 pass. Top items below; the rest live in the run log.
CRITICAL
robots.txt blocks /promo-codes/ CRITICAL
sportsbook.fanatics.com/robots.txt has Disallow: /promo-codes/* under User-agent: *. This is the leading cause of weakness #1 — Google can't refresh what it can't crawl. Fix: lift the rule, request reindex on the affected paths via Search Console URL Inspection.
HIGH
Sample pages missing rel=canonical HIGH
18 of 20 sampled state-betting-guide pages lack a self-referencing canonical. Without it, parameter-laden URLs split equity across duplicates. Fix: add <link rel="canonical"> to the state-page template.
Slow homepage TTFB HIGH 2,340ms HTML fetch (headless Chrome, US-east). Likely Next.js ISR cold-start. Fix: tune revalidate cadence; warm the top 50 pages via cron.
MEDIUM
No FAQ / QAPage schema on state pages MEDIUM None of the sampled state-betting-guide pages carry FAQ or QAPage JSON-LD. AI Overviews and ChatGPT both consume FAQ schema as direct-quote sources. Fix: add to the state template — 38 pages of incremental AEO surface.
No llms.txt published MEDIUM
404 on /llms.txt and /llms-full.txt. Emerging standard; lets you curate which content LLMs ingest. Fix: ship one pointing to the best state guides and the odds-comparison hub.
AI crawler posture undefined in robots.txt MEDIUM No explicit rules for GPTBot, ClaudeBot, PerplexityBot, or Google-Extended. Default-allow is fine but make it intentional — and ties directly to the LLM Visibility gap in weakness #1.
Lower-tier items (HSTS missing, OG image gaps on promo template, 5/20 sample titles under 25 chars, no ai.txt, dual H1 on homepage) — see audit log.