SEO competitor
Quick answer
- 01What is it?
- Compare a site to its competitors and find the gaps worth closing. What sets it apart is how it narrows search and SEO workflows into one specific workflow rather than a broad, generic prompt.
- 02Inputs
- Context for search and SEO workflows: your goals, audience, constraints, and any source material the skill asks for.
- 03Output
- A ready-to-use result for search and SEO workflows: the analysis, copy, or recommendations the agent produces.
Add this skill
Install as a package
Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.
$ npx skills add rampstackco/claude-skills --skill seo-competitorSkill instructions
The instruction file for this skill. The skill also includes other files you need to install to use it.
SEO Competitor Analysis
Compare a site to its competitors and find the gaps worth closing. Stack-agnostic. Tool-friendly but tool-optional.
When to use
- Identifying which competitors to study
- Finding content gaps (topics they cover, you do not)
- Finding backlink gaps (sites linking to them, not you)
- Understanding why a specific competitor outranks the user
- Benchmarking authority, technical posture, and content depth
When NOT to use
- Single-page optimization (use
seo-onpage) - Initial keyword research with no competitors yet identified (use
seo-keywordfirst to find them) - Auditing one's own existing content (use
seo-content-audit)
Required inputs
- The user's site
- 3 to 5 named competitors (or the topic area, if competitors are not yet identified)
- Access to a keyword tool, a backlink tool, and any crawler
If competitors are unknown, start by listing the top 10 ranking domains for the user's top 10 priority keywords. Pick the 3 to 5 that appear most often.
Where competitor traffic estimation is the input you need (relative scale, channel mix, audience overlap), Similarweb MCP is the strongest source. Pair with Ahrefs (for backlink and keyword overlap) and Semrush (for SERP feature presence and SEO-PR overlap). Each platform gives a different cut of the same competitive landscape; using them together produces sharper signal than any one alone.
The framework: 5 angles
Competitor analysis covers five angles. Run all five for a full picture, or pick two or three for a focused investigation.
1. SERP overlap
Where do you and the competitor compete head-to-head?
- For each priority keyword, who ranks in the top 10?
- For each top-10 ranking, what page type wins (article, product, comparison, video)?
- Are there SERP features (featured snippet, AI overview, video, image pack) one party holds and the other does not?
- Which queries do competitors rank for that the user does not? (the content gap)
2. Content depth
What does their winning content look like?
- Word count and structure of their top-ranking pages
- Information types they include (data tables, original research, video, calculators, downloadable assets)
- Update frequency on key pages (last modified date, change history)
- Internal linking patterns (do their winning pages link to commercial pages?)
- Topical breadth (how many related topics do they cover?)
3. Backlink profile
Where does their authority come from?
- Total referring domains
- Domain rating (or equivalent authority metric)
- Top 50 referring pages by traffic value
- Backlink types (editorial, directory, partner, paid, spam)
- Link velocity (gaining or losing referring domains over time)
- Pages on their site attracting the most links (these are their "linkable assets")
4. Technical posture
How clean is their technical foundation?
- Core Web Vitals (LCP, INP, CLS)
- Mobile usability
- Schema implementation (which types, on which page types)
- Site architecture and internal linking density
- Crawl efficiency (are they wasting crawl budget?)
- HTTPS, security headers
- llms.txt and AI search readiness
5. Brand and entity strength
How well-known are they outside organic search?
- Branded search volume (how many people search their name?)
- Entity recognition in knowledge graph (do they have a Wikipedia page, knowledge panel, structured data feeding entity status?)
- Mention frequency in their topic area (PR coverage, podcast appearances, citations)
- Social signals (followers, engagement, share rates)
- Reviews and reputation
Workflow
- Confirm the competitors. Either named, or derive from SERP overlap on top 10 priority keywords.
- Pick the angles. Run all 5 for a full audit, or 2 to 3 for a focused dive.
- Pull the data. Keyword tool exports, backlink tool exports, manual SERP inspection, technical crawl.
- Score each angle. Where does the user lead? Where do they trail?
- Identify gaps. Specific content gaps, specific backlink gaps, specific technical gaps.
- Prioritize. Which gaps are highest leverage to close? (Big traffic potential, achievable effort, strategic fit.)
- Write the report. Use the template in
references/competitive-audit-template.md.
Failure patterns
- Picking the wrong competitors. A site that outranks you on one keyword but operates a different business is not a competitor. Pick by SERP overlap and audience overlap, not by who you think you compete with.
- Treating "more content" as the takeaway. They are not winning because they have 500 articles. They are winning because of specific content + links + UX. Find the actual lever.
- Copying their pages verbatim. Diminishing returns. Beat them by being more useful, not by paraphrasing them.
- Ignoring brand strength. A weaker site with a stronger brand wins on branded queries you cannot touch with content alone.
- Static analysis. Re-run the analysis at least annually. Competitor strategies shift.
Output format
Default output is a markdown report at competitive-analysis.md plus accompanying spreadsheets for the keyword and backlink data.
Structure:
- Executive summary (3 to 5 critical findings)
- Competitor profiles (one per competitor, brief)
- SERP overlap analysis
- Content gap analysis
- Backlink gap analysis
- Technical comparison
- Brand and entity comparison
- Prioritized gap-closing roadmap
Reference files
references/competitive-audit-template.md- Fillable competitive audit template.references/content-gap-method.md- Detailed methodology for finding content gaps with example.
Supporting file: references/competitive-audit-template.md
Competitive SEO Analysis: [Your Site] vs Competitors
Date: [YYYY-MM-DD] Site under audit: [URL] Competitors analyzed: [List] Analyst: [Name]
Executive summary
[3 to 5 critical findings. Lead with the most important. What is the single biggest gap to close, and what is the single biggest strength to defend?]
Top 3 priorities:
- [Priority]
- [Priority]
- [Priority]
Competitor profiles
Competitor 1: [Name]
- Domain rating: [X]
- Estimated organic traffic: [X / month]
- Total referring domains: [X]
- Top 3 ranking categories: [What they win on]
- Why they matter: [1 to 2 sentences]
- Their key advantage over us: [1 sentence]
Competitor 2: [Name]
[Same structure]
Competitor 3: [Name]
[Same structure]
SERP overlap analysis
Keywords where we both rank top 10: [N] Keywords where they rank, we don't: [N] Keywords where we rank, they don't: [N] Keywords where they hold a SERP feature we don't: [N]
Head-to-head wins
[Top 10 keywords where we currently rank above them]
| Keyword | Our rank | Their rank | Volume |
|---|---|---|---|
Head-to-head losses
[Top 10 keywords where they rank above us]
| Keyword | Our rank | Their rank | Volume | Likely reason they win |
|---|---|---|---|---|
Their territory (we don't rank)
[Top 20 keywords they rank for that we don't, ranked by traffic potential]
| Keyword | Their rank | Volume | Difficulty | Strategic fit for us |
|---|---|---|---|---|
Content gap analysis
[Topics or page types they cover that we don't, organized by theme.]
Theme 1: [e.g., "How-to guides for beginners"]
- Their coverage: [X pages, including these top performers...]
- Our coverage: [None / weak / partial]
- Estimated traffic value if closed: [X visits/month]
- Recommended action: [Produce / partial coverage / skip]
Theme 2: [e.g., "Comparison content"]
[Same structure]
Backlink gap analysis
Their referring domains we don't have: [N] Their unique referring domains (in our category): [N]
Top 10 backlink opportunities
[Domains linking to multiple competitors but not us. These are the highest-probability outreach targets.]
| Domain | Domain rating | Links to (competitors) | Why they link to them |
|---|---|---|---|
Their linkable assets
[Pages on competitor sites that attract the most backlinks. These are the asset types we could replicate.]
| URL | Referring domains | Asset type |
|---|---|---|
Technical comparison
| Dimension | Us | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|---|
| LCP (mobile) | ||||
| INP (mobile) | ||||
| CLS (mobile) | ||||
| Mobile-friendly | ||||
| HTTPS / HSTS | ||||
| Schema types | ||||
| Sitemap quality | ||||
| llms.txt present | ||||
| Internal links per page (avg) |
Key takeaways: [Where are we ahead, where are we behind?]
Brand and entity comparison
| Dimension | Us | Comp 1 | Comp 2 | Comp 3 |
|---|---|---|---|---|
| Branded search volume | ||||
| Wikipedia entity | ||||
| Knowledge panel | ||||
| Editorial mentions / month | ||||
| Social following | ||||
| Reviews aggregate |
Prioritized gap-closing roadmap
[Sequenced list of actions, with effort and expected impact.]
Quarter 1
- [Action] - [effort] - [expected impact]
- [Action] - [effort] - [expected impact]
Quarter 2
- [Action]
Quarter 3+
[Strategic plays that take longer to execute.]
What we should defend
Areas where we currently lead and need to maintain:
- [Strength]
- [Strength]
- [Strength]
A defensive strategy is as important as a gap-closing one.
Supporting file: references/content-gap-method.md
Content Gap Method
A detailed methodology for finding content gaps between your site and competitors. The output is a prioritized list of topics or queries the competition ranks for and you do not, ranked by opportunity.
This is the methodology. For the orchestrated version that runs against the Ahrefs MCP, use seo-content-gap-audit.
What a content gap is (and is not)
A content gap is a query or topic where:
- One or more competitors rank in the top 10
- You do not rank in the top 100 (or rank weakly)
- The query is plausibly something your audience cares about
- You could credibly produce content that addresses it
A content gap is not:
- Every keyword a competitor ranks for. Many of those will not match your audience.
- Branded queries for the competitor. You will never rank for "[CompetitorName] login" and should not try.
- Queries with unwinnable SERPs (dominated by Reddit, video, or marketplace listings) unless you have an unusual asset.
Step 1: define the competitor set
Three categories of competitors. Include all three.
Direct competitors
Same product, same audience. Found in your "industry," your sales process, your churn data.
Search competitors
Whoever ranks for the queries you care about. Often surprising. Often includes industry publications, aggregators, and adjacent SaaS tools you do not consider competition commercially.
To find search competitors:
- Pull your top 20 priority queries.
- Note the top 10 ranking domains for each.
- Aggregate. Domains that appear 5+ times are search competitors, even if they are not direct.
Aspirational competitors
Brands that own the topic-area you want to own. Often larger or older. Useful for surfacing topics, less useful for direct comparison.
Build a final set of 5-10 competitors. More than that gets noisy.
Step 2: pull keyword data
For each competitor, pull the queries they rank for in the top 10 (or top 20 for completeness).
Filter out:
- Branded queries containing the competitor name
- Queries with monthly volume below your relevance threshold (commonly 50-100, lower for niche industries)
- Queries with no clear commercial or informational intent (typos, location-specific irrelevant queries, etc.)
- Queries with parent topic that does not apply to your business
Tools: Ahrefs Site Explorer (Organic keywords), Semrush Organic Research, or DataForSEO equivalents.
Step 3: build the gap matrix
Cross-reference all competitors against your site.
| Query | Competitor 1 position | Competitor 2 position | Competitor 3 position | Your position | Monthly volume | Difficulty |
|---|---|---|---|---|---|---|
| query a | 3 | 7 | - | 45 | 1,200 | 32 |
| query b | 5 | 4 | 8 | not ranking | 800 | 28 |
| query c | 1 | - | 5 | 12 | 500 | 41 |
Three categories emerge:
- Pure gaps: competitors rank, you do not. Highest opportunity. Filter for queries where 2+ competitors rank.
- Weak coverage: you rank but poorly (positions 11-50). Often the fastest wins.
- Saturated topics: you and 1+ competitors all rank well. Defensive territory; opportunity to leapfrog.
Focus the next steps on Pure gaps and Weak coverage.
Step 4: cluster by topic
Raw query lists are unmanageable. Cluster by topic so you can plan content, not chase individual keywords.
Method
Group queries that share intent and can be answered by the same piece of content.
- "best crm for startups," "top crm small business," "crm software comparison" - one cluster, one comparison piece.
- "how to choose a crm," "crm buying guide" - same cluster.
- "what is a crm," "crm definition" - separate cluster (top-of-funnel, glossary or pillar lead-in).
A cluster is one piece of content (or a closely-related set: pillar + spokes).
Output
| Cluster | Sample queries | Total monthly volume | Avg difficulty | Recommended format | Lead competitor |
|---|---|---|---|---|---|
Step 5: assess each cluster
For each cluster, answer:
Audience fit
Does this cluster match your audience? If you sell to enterprise but the cluster is dominated by SMB intent ("free crm for solopreneurs"), score it low.
SERP analysis
Open the SERP for the highest-volume query in the cluster. Note:
- Result types: organic blue links, video, AI overview, featured snippet, local pack, shopping. Some SERPs leave little real estate for new entrants.
- Result formats: what kind of pages rank? Blog posts, comparison pages, product pages, free tools, video?
- Domain mix: dominated by big publishers (HubSpot, Forbes), niche players, Reddit, or peer companies?
- SERP volatility: has the top 10 been stable, or churning?
Effort estimate
How long would it take to produce content competitive with what is ranking? Be honest. Some clusters need a 4,000-word definitive guide with original research. Others need a 1,200-word how-to.
Scoring
Combine into a simple opportunity score per cluster. Example:
Opportunity = (Volume × Audience Fit × SERP Winnability) / Effort
Where:
- Volume: total monthly volume across cluster
- Audience Fit: 1 (poor), 2 (decent), 3 (perfect match)
- SERP Winnability: 1 (saturated, big domains), 2 (mixed), 3 (gettable)
- Effort: hours of writing, research, asset creation
This is not a precise formula. Use it to rank clusters, then sanity-check the top of the list against editorial judgment.
Step 6: produce the gap report
A typical output deliverable:
Section 1: executive summary
- Top 10 clusters ranked by opportunity score
- Estimated total monthly traffic potential if you captured the average competitor position
- Estimated effort (in hours or pieces of content) to address the top 10
Section 2: cluster details
For each top cluster:
- Cluster name and theme
- Sample queries with volume and difficulty
- SERP analysis snapshot
- Lead competitor's content URL with a one-line note on what makes it strong
- Recommended content format and length
- Recommended hook or angle
- Estimated effort
- Why we should rank: the unique asset, perspective, or data we can bring
Section 3: clusters to skip
Clusters that surfaced but should not be pursued, with the reason. (Audience mismatch, SERP unwinnable, etc.) Documenting skips prevents re-litigation.
Section 4: next steps
- Hand-off to
content-strategyfor editorial planning - Production sequencing (which cluster ships first)
- Measurement: how will you track whether the gap is closing
Worked example
Site: B2B project management tool, 50-person company, target audience is engineering leads at series-B SaaS startups.
Competitors (5):
- Linear (direct, peer)
- Jira (direct, incumbent)
- Notion (adjacent, encroaching)
- Asana (direct, larger)
- Height (direct, peer)
Gap matrix excerpt
| Cluster | Sample queries | Volume | Difficulty | Lead competitor | Audience fit | SERP winnable | Effort | Opportunity |
|---|---|---|---|---|---|---|---|---|
| "linear vs jira" | 5,400 | 38 | linear.app | High | Mixed | Med | High | |
| "engineering project management" | 2,100 | 42 | linear.app | High | Big domains | Med | High | |
| "agile sprint planning" | 14,000 | 55 | atlassian.com | Med | Saturated by Atlassian | High | Low | |
| "github issue templates" | 3,200 | 28 | github.com | High | Owned by github.com | Med | Skip |
Recommendations
- Pursue: "linear vs jira" cluster (5 related comparison queries, 7,200 combined monthly volume, mid-effort, audience-perfect). Format: comparison page anchored by an internal POV piece.
- Pursue: "engineering project management" cluster (broader topic, 4 related queries, requires a pillar piece + 3 spokes). Format: pillar guide + spokes.
- Skip: "agile sprint planning." Atlassian owns this with deep, mature content; effort to compete is too high vs opportunity.
- Skip: "github issue templates." github.com itself ranks #1; even strong content will not displace.
Next steps
- Hand the two pursued clusters to content-strategy for editorial sequencing.
- Track positions weekly for the cluster's primary queries.
- Re-run the gap analysis quarterly to spot new gaps as competitors publish.
When to re-run
- Quarterly as a routine.
- After a major competitor launch (new product page, big content push, redesign).
- After a search algorithm update (especially core updates that reshuffle SERPs).
- When entering a new audience segment (segment-specific competitors emerge).
Common questions
How do I install SEO competitor in Cursor, Claude Code, or Codex?
Run npx skills add rampstackco/claude-skills --skill seo-competitor in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only SEO competitor, not every skill in the repository.
Where does SEO competitor come from and what license is it under?
SEO competitor comes from the rampstackco/claude-skills repository on GitHub. That repository has 393 GitHub stars. The skill is published under the MIT license.
Prefer plain text? Read the SEO competitor guide as markdown.
Related skills
More from rampstackco
More SEO skills