Before you start
- Search Console connected with at least 30 days of impression data
- Access to one SEO tool: Ahrefs, SEMrush, SpyFu, or even a free Ubersuggest account
- Incognito browser window (kills personalization that distorts SERPs)
- 30 minutes for the first discovery pass
The playbook
7 steps
Pull your top 20 organic keywords from Search Console
Search Console -> Performance -> Queries -> sort by clicks descending. Take the top 20. These are the keywords actually driving traffic to your site - not the keywords you wish drove traffic, the keywords doing the work. Your SEO competitors are whoever ranks alongside you on these 20.
Expected outcome
A list of your 20 most valuable organic queries based on real click data.
Manually search each in incognito
Incognito disables logged-in personalization. Search each of your top 20. Record the top 10 organic results per query (skip ads, knowledge panels, video carousels - count only the blue-link organic positions). 20 queries × 10 results = 200 ranking URLs to harvest.
TipUse incognito plus a VPN if your primary market is geo-specific. Personalization and location both distort SERPs significantly.Expected outcome
200 ranking URLs documenting who occupies your priority SERPs.
Tally domains by frequency
Across the 200 URLs, count how often each domain appears. Domains appearing 3+ times are systematic competitors - they consistently show up where you compete. Domains appearing 1-2 times are situational - relevant for those queries only. The 3+ frequency tier is your real SEO competitive set.
# Quick tally in a spreadsheet # Column A: domain # Column B: =COUNTIF(A:A, A2) # Sort by Column B desc # Top 5-10 domains by frequency = your SEO competitorsExpected outcome
Frequency-ranked competitor list with 5-10 systematic competitors at the top.
Cross-validate with an algorithmic competitor list
Drop your domain into Ahrefs Site Explorer -> Organic Competitors, or SEMrush Domain Overview -> Competitors, or SpyFu Domain Overview -> Top Organic Competitors. Each tool computes algorithmic competitor lists based on keyword overlap. Cross-check against your manual frequency list. Overlap = confirmed; only-in-tool = worth investigating; only-in-manual = your tool may have data gaps for that domain.
Expected outcome
Cross-validated competitor list with confidence tier (confirmed / tool-only / manual-only).
Categorize competitors by type
Not every SERP rival is a business competitor. Categorize each: **direct business competitor** (sells similar product to similar customer); **media/affiliate** (publishes reviews of your category - SEO competitor but not business competitor); **adjacent product** (overlaps on some queries due to topical adjacency); **aggregator/marketplace** (Amazon, Yelp, comparison sites). Your response differs by type.
Expected outcome
Categorized competitor list - direct, media, adjacent, aggregator - with response strategy implied per type.
Map each competitor to the keywords where they outrank you
For your top 5 confirmed competitors, document which of your priority keywords they outrank you on. This is your immediate vulnerability map. Use Ahrefs Site Explorer -> Organic Keywords (filtered to keywords you both rank for, where their position is better). The shorter the gap, the easier to close - target the keywords where they outrank you by 1-3 positions first.
TipA competitor outranking you by 1-3 positions is usually beatable with content updates and a few links. A competitor outranking you by 8+ positions usually has a structural advantage (much higher DR, much better content) that needs a bigger response.Expected outcome
Per-competitor list of keywords where they outrank you, sorted by close-the-gap difficulty.
Save the competitor list and re-validate quarterly
Document the final 5-10 competitor list with: domain, type, confirmation method, top 3 shared priority keywords. Save somewhere your team can find it - Notion, Airtable, a Google Doc. Re-run the SERP-based discovery quarterly to catch new entrants and dropouts. SEO competitive sets shift slowly but they do shift.
Expected outcome
A documented, dated competitor list with a quarterly refresh cadence committed.
Shuttergen
SEO competitors found. Now outship them on creative.
Once your SEO competitor list is locked, the next move is matching them in paid. Shuttergen generates creative tuned to your category's winners so SEO discovery feeds paid execution.
Pitfalls
What goes wrong
Starting with intuition instead of SERPs
The brands you assume are SEO competitors are often different from the ones actually ranking on your keywords. Start with the data; intuition validates later.
Searching from a personalized session
Logged-in Google personalizes results based on your history. Always use incognito (and ideally a VPN if your market is geo-specific) for SERP analysis or your competitor list reflects your browsing habits, not your market.
Treating media sites as direct competitors
A Wirecutter or Reddit ranking on your keyword is an SEO competitor but not a business competitor. The response is 'beat them on content quality and depth' or 'become the source they cite', not 'compete head-to-head on product'.
Stopping at 'who ranks' without the gap map
Knowing who your competitors are is necessary but not sufficient. The actionable layer is mapping which keywords they outrank you on - that's where you focus content updates and link building.
Running discovery once and never again
New competitors enter your SERPs quarterly. Without re-running discovery, you'll be auditing a stale set 12 months from now. Set the quarterly cadence.
Limits
When this playbook won't work
- Your domain has under 30 days of Search Console data - too small a sample to identify priority keywords
- Your priority keywords have very low search volume (under 100/mo) - the SERPs are too thin to identify systematic competitors
- Your category is dominated by single huge sites (Amazon, Wikipedia) - they'll appear on every SERP and aren't competitors in any actionable sense
- You're targeting a brand-new category Google hasn't fully indexed - SERPs are unstable, competitor identification is premature
Why SERP-first beats every other method for SEO competitor discovery
Three methods exist: (1) ask marketing who competes with you, (2) use a tool's algorithmic competitor list, (3) tally domains appearing on your actual priority SERPs. Method 1 reflects market positioning, not SEO reality. Method 2 is fast but black-box. Method 3 is slow but produces the truest answer.
Method 3 is grounded in observable data. A domain appearing on 6 of your 20 priority SERPs is, by definition, competing with you on those 6 keywords. Whether they intend to or not, whether they sell the same product or not, they are taking SERP real estate you want. That's the operative definition of an SEO competitor.
Tools should validate the SERP-first list, not replace it. Ahrefs/SEMrush/SpyFu algorithmic competitor lists are computed from broader keyword overlap, not your specific priority keyword set. They surface useful patterns but they're not tuned to your actual top-of-funnel keywords. Always cross-validate.
SEO competitors found. Now outship them on creative. Once your SEO competitor list is locked, the next move is matching them in paid. Shuttergen generates creative tuned to your category's winners so SEO discovery feeds paid execution.
What to do once you've identified your SEO competitors
Run a content gap analysis against your top 3 confirmed competitors. Ahrefs Content Gap or SpyFu Kombat both work. Output is keywords they rank for that you don't - your prioritized content roadmap.
Run a backlink gap analysis against the same top 3. Ahrefs Backlink Gap. Output is referring domains linking to them but not to you - your link prospecting list.
Audit their top-ranked content on your shared priority keywords. Read their #1-ranked articles. Note word count, structure, depth, multimedia. The pattern is the template you need to match or beat.
Set up monthly competitor monitoring on the confirmed 5-10. Track their priority keyword positions, new content published, new backlinks acquired. The monthly cadence catches strategic shifts before they cost you positions.
Loop back to discovery quarterly. The competitive set isn't static. New entrants appear; old players drop out. Re-run the SERP-based discovery every 90 days to keep the list current.
Internal: seo-competitors, seo-analysis-of-competition, find-competitors.
FAQ
Frequently asked
How do I find my SEO competitors?
Are my SEO competitors the same as my business competitors?
What's the best tool to find SEO competitors?
How many SEO competitors should I track?
Can I find SEO competitors without paid tools?
How often should I refresh my SEO competitor list?
What's the difference between SEO competitors and SERP competitors?
Related
Keep reading
SEO competitors found. Now outship them on creative.
Once your SEO competitor list is locked, the next move is matching them in paid. Shuttergen generates creative tuned to your category's winners so SEO discovery feeds paid execution.