Competitor Deep Analysis — Phase 1
Executive Summary
Competitor analysis is the intelligence layer that makes every subsequent phase actionable. Without knowing what the top-ranking competitors do, every recommendation is directionally blind. This phase profiles 3–5 competitors across 9 dimensions in enough depth that all subsequent phases can benchmark findings against real competitor data. Time investment: 45–90 minutes produces data that informs 20+ recommendations across the audit.
2025 competitive landscape shift: AI Overviews appear for 20–35% of local service queries — competitors who are cited by AIO have invisible traffic advantages that traditional ranking data doesn't show. This phase must audit AI visibility, not just organic rankings.
Tools for This Phase
| Tool | Purpose | Cost | |------|---------|------| | Ahrefs | Organic keywords, DR, referring domains, traffic estimate, top pages | Paid | | SEMrush | Keyword gap, backlink audit, traffic analytics, page-level keywords | Paid | | Moz | Domain Authority, spam score, top pages | Free/Paid | | Google PageSpeed Insights | CWV: mobile score, LCP, INP, CLS per competitor | Free | | Google Rich Results Test | Schema types implemented by competitor | Free | | Google Search | Local pack positions, SERP features owned, featured snippets | Free | | Google Maps / GBP | Review count, rating, GBP completeness, category | Free | | ChatGPT / Perplexity / Gemini | AI visibility test — are competitors cited? | Free | | BuiltWith | CMS, hosting, technology stack per competitor | Free | | Majestic | Trust Flow / Citation Flow ratio, link profile quality | Paid |
Step 1: Read Project Context
Read {AUDIT_DIR}/intake-data.md — business name, URL, services, location, competitor list.
If competitors not provided in intake, use this 3-search identification protocol:
- Google:
[primary service] [city]→ note top 3 local pack + top 3 non-directory organic - Google:
best [service] [city]→ cross-reference, add new names - Google:
[service] [city] reviews→ identify any additional local leaders
Confirm each competitor:
- Actually ranks for target keywords in target city (not a national brand with one page)
- Has a website (not just a GBP listing)
- Competes on primary services (not just adjacent services)
Present findings: "I've identified these top competitors: [list]. Please confirm or swap any."
Step 2: Analyze Each Competitor Across All 9 Dimensions
For 3–5 competitors, systematically research each dimension. Do NOT guess — verify with web search, page fetch, and public data tools.
Dimension 1: Business Profile
| Data Point | How to Find | Comp 1 | Comp 2 | Comp 3 | |-----------|------------|--------|--------|--------| | Business type (independent/chain/franchise) | Website + Google Maps | | | | | Domain age | Whois / BuiltWith | | | | | Years in business | About page / GBP | | | | | Indexed pages (site:[domain]) | Google search | | | | | Tech stack (CMS) | BuiltWith | | | | | Service areas (same/broader/narrower) | Website + GBP | | | | | # of locations | Google Maps search | | | | | Estimated team size | LinkedIn Company page | | | |
Dimension 2: Technical SEO Profile
CWV benchmarks (2025 — INP replaced FID March 2024):
| Metric | Good | Comp 1 | Comp 2 | Comp 3 | Client | |--------|------|--------|--------|--------|--------| | Mobile PSI Score | > 70 | | | | | | LCP (mobile) | < 2.5s | | | | | | INP (mobile) | < 200ms | | | | | | CLS (mobile) | < 0.1 | | | | | | TTFB | < 800ms | | | | |
Additional technical checks per competitor:
- HTTPS: valid SSL? ✅/❌
- Schema types (Google Rich Results Test): list all present
- URL structure: logical hierarchy? Keyword-inclusive slugs?
- Site architecture depth (service pages: 2-3 clicks from homepage = good)
- Mobile responsive: test at 375px viewport
Dimension 3: Content Strategy
For each competitor (Ahrefs → Site Explorer → Organic Pages → sort by traffic):
| Data Point | Comp 1 | Comp 2 | Comp 3 | |-----------|--------|--------|--------| | Total pages estimated (site: count) | | | | | Service pages count | | | | | Location pages count | | | | | Blog posts count | | | | | Publishing frequency (last 10 posts dates) | | | | | Word count on top service page | | | | | Word count on blog posts | | | | | Unique content assets (tools, guides, calculators) | | | | | Local content (city guides, neighborhood pages) | | | | | FAQPage schema present on service pages | | | | | Content freshness (last updated on key pages) | | | |
Content depth benchmark (2025 HCS standards):
- Service page < 800 words = substandard
- Service page 1,200–2,000 words = competitive
- Blog post < 1,200 words = thin
- Pillar blog 2,500+ words = authoritative
Dimension 4: Keyword Strategy
From Ahrefs/SEMrush → Site Explorer → Organic Keywords:
| Data Point | Comp 1 | Comp 2 | Comp 3 | |-----------|--------|--------|--------| | Estimated monthly organic traffic | | | | | Total organic keywords ranking | | | | | Top 5 keywords by traffic | | | | | "Near me" keyword rankings | | | | | Featured snippet ownership (count) | | | | | PAA (People Also Ask) presence | | | | | Question-format content for AIO | | | | | Long-tail service + location coverage | | | |
Dimension 5: Backlink & Authority Profile
| Metric | Comp 1 | Comp 2 | Comp 3 | Client | Gap | |--------|--------|--------|--------|--------|-----| | Domain Rating (DR) — Ahrefs | | | | | | | Domain Authority (DA) — Moz | | | | | | | Trust Flow (TF) — Majestic | | | | | | | Citation Flow (CF) — Majestic | | | | | | | TF:CF ratio (target ≥ 0.5) | | | | | | | Referring domains count | | | | | | | % from niche-relevant sites | | | | | | | Top 3 link sources | | | | | | | Citation directory depth | | | | | |
Link building pattern analysis:
- Where do their links come from? (industry directories / local news / guest posts / partnerships)
- Authoritative niche links client doesn't have?
- Local citation depth (how many directories listed?)
Dimension 6: Local SEO Profile
| Data Point | Comp 1 | Comp 2 | Comp 3 | Client | |-----------|--------|--------|--------|--------| | GBP star rating | | | | | | GBP review count | | | | | | Review velocity (estimated/month) | | | | | | Local pack position (primary keyword) | | | | | | GBP categories (primary + secondary) | | | | | | GBP photos count | | | | | | GBP posts active? | | | | | | Q&A section populated? | | | | | | Services listed in GBP? | | | | | | NAP consistency (spot-check 3 directories) | | | | |
GBP completeness benchmarks:
- 100+ photos = 1,065% more website clicks (Google data, 2024)
- Review count ≥ 50 + rating ≥ 4.5 = strong local pack signal
- 4.3+ stars required for local AIO citation (SparkToro 2025)
Dimension 7: AI Visibility (2025 Critical)
Test for each competitor across all AI platforms:
AI visibility test protocol:
Queries to test:
1. "Best [service] in [city]" (Google AIO + ChatGPT + Perplexity)
2. "[Competitor name] [city] — what are their services?" (Gemini + Perplexity)
3. "Who should I call for [problem] in [city]?" (ChatGPT + Google AIO)
| Platform | Comp 1 | Comp 2 | Comp 3 | Client | |---------|--------|--------|--------|--------| | Google AIO (main service query) | Cited/Not | Cited/Not | Cited/Not | Cited/Not | | ChatGPT (conversational) | Cited/Not | Cited/Not | Cited/Not | Cited/Not | | Perplexity (local service) | Cited/Not | Cited/Not | Cited/Not | Cited/Not | | Knowledge Panel (branded) | Yes/No | Yes/No | Yes/No | Yes/No | | FAQPage schema (AIO trigger) | Yes/No | Yes/No | Yes/No | Yes/No |
Dimension 8: Social Media Presence
| Platform | Comp 1 Followers | Comp 2 Followers | Comp 3 Followers | Client Followers | |---------|-----------------|-----------------|-----------------|-----------------| | Facebook | | | | | | Instagram | | | | | | YouTube | | | |