A rival ranking on page one for a keyword you never targeted is not luck — it is a decision they already made, tested, and proved. Competitor keyword analysis is the work of finding those decisions: which search terms send traffic to your rivals that could be sending traffic to you. Ahrefs calls it "the easiest form of keyword research", because someone else has already validated which queries pay off. The catch is that Google never hands you another site's keyword list, so you have to reconstruct it — partly free, partly with a paid tool, and always with judgement about which gaps are worth closing.
The short version: find your true keyword competitors, pull the terms they rank for, sort them into branded, product and content buckets, subtract the keywords you already rank for, and prioritise what is left by difficulty and intent. Five steps, and skipping any one of them is why most attempts end as a spreadsheet nobody opens again.
Step 1: Find your true keyword competitors
Your search competitors are not always your business competitors. Semrush draws the line clearly: SEO competitors are the sites that "appear in search or AI results for the same keywords you target", while business competitors "sell similar products or services to the same audience". A price-comparison site can outrank you for your best keyword without ever selling what you sell — and it still takes the click.
Find them by SERP sampling, not by guessing. Take your ten most important search terms, search each one in a private window, and write down every domain that appears for three or more of them. Three to five competitors is enough; more adds noise faster than it adds keywords. Ignore Wikipedia, Reddit and the giant aggregators that appear for everything — they are not competitors you can displace. Start from the competitor analysis framework if you have not named your rivals yet: the same three to five names should appear in both lists, plus one or two pure search rivals you had never thought of as competition.
Step 2: Pull the keywords they rank for
There are three layers, from free to paid, and each one surfaces something the others miss.
Manual SERP reading (free). Read a rival's blog titles, URL slugs and H1s — a well-run SEO team states its target keyword in all three, so the strategy is printed on the site. Slow, but it teaches you their strategy better than any export, and it costs nothing. The site: operator helps: site:competitor.com pricing lists the pages that site has on the topic, whether one or twenty.
Google's own free tools. Search Console shows only your own queries — but the queries where you sit at positions 8 to 20 are, by definition, keywords your competitors are beating you on, which makes it the cheapest gap analysis that exists. Google Keyword Planner, built for Google Ads, has a "Start with a website" option: paste a competitor's URL and it suggests keywords based on that page's content, with volume ranges and cost-per-click estimates.
Free tiers of the paid tools. Semrush's free account allows 10 requests a day to its Analytics reports, including Organic Research, which shows a competitor's top ranking keywords with positions and volume; its Keyword Gap tool compares your domain against up to four competitors and lists what they rank for and you do not. Ahrefs' free Website Traffic Checker shows a domain's top organic keywords and top pages with no account needed. A Semrush seven-day trial is long enough for a one-off audit of a few competitors if you plan the exports in advance. For the complete list — every keyword, every position — you need the paid plans: Ahrefs Site Explorer or Semrush Organic Research. Entry plans run over $100 a month, so use the free layers first and pay only when you know the gap is worth the subscription.
Step 3: Classify every keyword into three buckets
A raw export of a thousand keywords is not an analysis; it is a chore. Sort each one into a bucket before you judge it:
- Branded — the rival's own name, product names and misspellings. Useful for knowing how strong their brand pull is; almost never worth targeting, because searchers typing a rival's name want that rival.
- Product — terms a buyer types when they are ready to choose: "best CRM for small business", "accounting software pricing", "cheap running shoes". High intent, high competition, and the bucket where a single ranking can pay for the work.
- Content — questions and guides: "how to reduce churn", "what is a good conversion rate". Lower intent per visit, but far easier to win, and the bucket where small sites usually find their first gaps.
Most small businesses discover their export is 60 to 70 percent content keywords. That is good news: content gaps are the cheapest to close, because they need one good page each, not a product rebuild. It is also the reason to classify before prioritising — a list sorted by volume alone will push you toward product terms you cannot yet win.
Step 4: Run the keyword gap
The gap is the whole point: their keywords minus yours. Mechanically, combine the classified lists from all three to five competitors, then remove three things: every keyword you already rank for, every branded term, and everything irrelevant to what you sell. What remains is the gap — and the best entries in it are the ones several competitors rank for and you do not, because a keyword three rivals all bothered to win is a keyword with proven demand.
The paid tools run this in one step. Semrush Keyword Gap has a Missing tab — keywords all your rivals rank for and you do not — and a Weak tab, where every rival outranks you. Ahrefs' Competitive Analysis report does the same job under a different name. Done by hand, it is steps 1 and 2 of this guide set against your own Search Console data: export your queries, export theirs, and keep the difference. Either way, cap the output. A gap list of 200 keywords is a plan; a gap list of 2,000 is a filing cabinet. Keep the top 30 and park the rest.
Step 5: Prioritise by difficulty and intent
Score each surviving keyword on two axes and take the top-right corner first:
- Difficulty — how strong are the pages currently ranking? A keyword whose top ten is full of thin forum threads and outdated posts is winnable with one good page; a keyword owned by three authority sites with 200-link pages is a six-month project. Your own domain's strength decides which side of that line you can cross.
- Intent — what does the searcher want? A product keyword from a buyer beats a content keyword from a browser, visit for visit, even at a tenth of the volume. But a content keyword you can win this month beats a product keyword you cannot win this year.
The cheapest wins of all are already in your Search Console: keywords where you rank 8 to 20. Those pages need a better title, a sharper answer in the first paragraph, or one more section covering the subtopic the top pages cover — not a new page. Work those first, then the content gaps, then the product terms. And check the paid side too: SpyFu and Semrush Advertising Research estimate which terms rivals bid on in Google Ads, with ad-copy history. A keyword a rival pays for month after month is a keyword that converts — it is the strongest intent signal in this whole exercise.
Mistakes that quietly ruin keyword analysis
- Copying the whole list instead of the gap. Ranking for a keyword a rival already owns, with a weaker page, is a donation of effort. Target the terms they rank for and you do not.
- Trusting the volume numbers as facts. Every tool's volume and traffic figures are estimates built from its own keyword database and click models — Google never shares its internal figures. One published case had Ahrefs estimating a site's best month at about 42,600 visits while Search Console counted 126,824 clicks. Use the numbers to rank opportunities, not to forecast revenue.
- Chasing branded keywords. Outranking a rival for their own name is hard, and the traffic it brings converts badly — the searcher wanted them, not you.
- Ignoring the pages behind the keywords. A keyword is only as winnable as the page you can build for it. If the top results are all interactive tools and you can only write a blog post, the format gap matters more than the keyword gap.
- Auditing once and framing it. Rankings move every week. A gap list from six months ago is a list of keywords your rivals may already have lost — or that you have already won without noticing.
Cadence: how often to run it
Run the full five-step analysis quarterly for the three to five rivals that matter, and re-check your positions 8 to 20 in Search Console monthly — those are the cheapest wins and they change fastest. Re-run a single rival's gap immediately when they launch a new content section or suddenly outrank you for a keyword you used to own. Between runs, keep the sheet: the keyword, the bucket, the best rival position, your position, and one line on what you will do about it. Our competitor content analysis shows what to do once the gap points at a topic, and our competitor website analysis covers the traffic and speed numbers behind the same rivals.
Start this week with the smallest useful version: three rivals, the free Ahrefs checker and one Semrush free account, ten keywords each. The first gap list will contain at least one keyword you assumed was yours — and that keyword, turned into one page this month, is the entire return.