Content Gap Analysis — Phase 5
Executive Summary
Content gap analysis is the systematic identification of topics, formats, and pages that competitors have and your client doesn't — or where competitors outperform significantly in depth. In 2025, content gaps operate on 3 layers: (1) keyword gaps (traditional — competitor ranks for keyword, client doesn't); (2) topical cluster gaps (competitor has full pillar+cluster architecture on a service, client has one thin page); (3) AI visibility gaps (competitor's content is cited in AI Overviews or by ChatGPT/Perplexity, client's isn't). The third layer is new in 2025 and often the highest-value gap: AI Overviews appear for 20–35% of queries, and being excluded from AIO = losing 30–45% of potential CTR on those queries (Dataslayer 2025). FAQPage schema is the single highest-leverage fix: sites with FAQPage are cited in AIO at 3.2× the rate of pages without it (Amsive 2025).
2025 content gap benchmarks:
- AIO content gap: if competitor appears in AIO for core service queries and client doesn't — highest priority gap
- Format gaps: competitor has video (VideoObject schema), FAQ (FAQPage), HowTo (HowToSchema) — client has text only
- Cluster completeness threshold: competitor at 10+ pages per service cluster vs. client at 1–3 pages = full cluster gap
- Word count gap: competitor pillar page 3,000+ words vs. client 800 words = depth gap (flagged as High priority)
- INP gap: competitor pages INP <200ms vs. client >500ms = UX gap that affects rankings and AIO eligibility
- Freshness gap: competitor pillar updated in last 30 days vs. client not updated in 12+ months = AI citation disadvantage (76.4% freshness advantage)
Numbered Action Plan:
Immediate (Week 1, No New Content)
- Run Ahrefs Content Gap — Competitive Analysis → Content Gap → enter client domain + 3 competitors → export all "Missing" keywords (all competitors rank, client doesn't). Sort by traffic value. Effort: 1 hr. Priority: 25 (5×5).
- Run SEMrush Keyword Gap — apply Intent filter: Missing + Informational = missing educational content; Missing + Commercial = missing comparison pages. Focus: KD ≤40 + Volume ≥100/month. Effort: 30 min.
- Map AIO citation gaps — for each main service keyword: check if AI Overviews appear (search in Chrome incognito). Is client cited? Which competitors are? Each uncited service = AIO content gap. Effort: 30 min.
- Audit format gaps — check if competitors have: FAQPage schema (use Google Rich Results Test), HowTo schema, VideoObject (embedded video), price comparison tables, local stats. Effort: 20 min/competitor.
- Cluster completeness audit — for each service topic: count client pages vs. competitor pages. Any cluster where competitor has 5+ pages and client has <2 = full cluster gap (Critical). Effort: 30 min.
Short-Term (Week 2–4)
- Add FAQPage schema to all existing service pages — highest ROI fix: 3.2× AIO citation rate, minimal effort. Add 5 FAQ minimum per page, answers ≤50 words. Effort: 30 min/page. Priority: 20.
- Create missing comparison/alternative pages — "X vs. Y in [city]", "Best [service] [city]" — competitor ranks, client doesn't. Effort: 2–3 hrs/page.
- Build pillar pages for full cluster gaps — where competitor has full 10+ page cluster and client has nothing: create pillar page first (3,000+ words, Surfer Score ≥80), then build 3–5 cluster pages. Effort: 8–12 hrs/pillar.
- Add HowTo schema to all process pages — "How to [service]", "How to fix [problem]" pages without HowTo schema = missed AIO + featured snippet opportunity. Effort: 30 min/page.
- Fill PAA question gaps — AlsoAsked.com for each service → identify top 10 PAA questions → add unanswered ones as FAQ entries on relevant pages. Effort: 1–2 hrs. Expected: PAA box wins + AIO citations.
Output files:
{AUDIT_DIR}/content-gaps.md— gap analysis with priority matrix{REPORTS_DIR}/phase-5-content-gaps.pdf— auto-generated PDF after phase completes
Step 1: Read Project Context
Read {AUDIT_DIR}/intake-data.md — business name, services, location, goals. Read {AUDIT_DIR}/content-inventory.md — what client currently has (page list + word counts). Read {AUDIT_DIR}/competitor-profiles.md — competitor content strategies and page counts.
Tools for this phase: | Tool | Purpose | Cost | |------|---------|------| | Ahrefs Content Gap | Shows keywords competitors rank for that client doesn't — by topic cluster | Paid | | SEMrush Keyword Gap | Side-by-side keyword comparison with traffic estimates | Paid | | BuzzSumo | Identify top-performing competitor content by shares and backlinks | Paid | | AlsoAsked.com | PAA-based question mapping — identify unanswered questions per topic | Freemium | | AnswerThePublic | Visualize question clusters around service topics | Freemium | | Google PAA boxes | Live "People Also Ask" questions — free, real-time | Free | | Google Search | Manual SERP analysis per topic — identify AIO presence | Free | | Google Search Console | Which queries get impressions but poor CTR — existing gap opportunities | Free |
2025 Content Gap Context:
- AI Overviews (AIO) now appear for ~20–35% of local service queries — content gaps aren't just "not ranking" but "not cited by AI"
- FAQPage schema + direct standalone answers = primary AIO citation trigger → each identified gap should consider AIO optimization
- Google's Helpful Content System penalizes thin coverage of many topics — better to dominate 3 clusters than lightly cover 10
Section 1: Topic Gaps vs. Competitors
Use Ahrefs Content Gap (enter client vs. top 3 competitors):
Table-Stakes Gaps (All Competitors Cover, Client Doesn't)
Topics all top competitors rank for = table stakes. Missing these = immediate priority:
| Topic/Keyword | Comp 1 Rank | Comp 2 Rank | Comp 3 Rank | Client Rank | Monthly Volume | Priority | |--------------|------------|------------|------------|------------|---------------|---------| | [topic] | P[X] | P[X] | P[X] | Not ranking | [est.] | Critical | | [topic] | P[X] | P[X] | P[X] | Not ranking | [est.] | High |
Advantage Topics (Only Leader Covers)
Topics only the #1-ranking competitor addresses = replication opportunity:
| Topic | Competitor | Comp URL | Page Type | Est. Volume | Opportunity | |-------|-----------|---------|----------|------------|------------| | [topic] | [comp] | [url] | Blog/Service/FAQ | [vol] | High/Med |
Competitor-Specific Content Audits
For each competitor (from competitor-profiles.md), list their top 10 pages by traffic (Ahrefs → Organic Pages):
| Competitor | Top Content | Traffic/Month | Content Type | Client Equivalent? | |-----------|------------|-------------|-------------|-------------------| | Comp 1 | [page title] | [est.] | Pillar/Blog | Yes/No | | Comp 2 | [page title] | [est.] | Service/FAQ | Yes/No |
Section 2: Content Format Gaps
Beyond topics — are the right content FORMATS missing? Identified from competitor analysis:
| Format | Client Has? | Competitors Have? | AIO Eligible? | Impact | Priority | |--------|-----------|-----------------|------------|--------|---------| | "How much does [service] cost in [city]?" pricing guide | Yes/No | Yes/No | High | High | | | "[Service A] vs. [Service B]" comparison page | Yes/No | Yes/No | High | High | | | "Signs you need [service]" diagnostic guide | Yes/No | Yes/No | Medium | Medium | | | "DIY vs. Professional [service]" guide | Yes/No | Yes/No | Medium | Medium | | | "[Service] process: step-by-step" explainer | Yes/No | Yes/No | High | High | | | "How long does [service] take?" FAQ | Yes/No | Yes/No | High | Medium | | | "Emergency [service] [city]" — intent page | Yes/No | Yes/No | High | Critical | | | Local guide: "Complete guide to [service] in [city]" | Yes/No | Yes/No | High | High | | | "Best [service] in [city]" owned list (client-authored) | Yes/No | Yes/No | High | High | | | Se