Strategist
keyword-research

SEO competitor analysis: how to find the keywords rivals rank for

Packed isometric discs of many sizes on a violet plate, one large white disc and two amber discs

SEO competitor analysis is a method for finding the searches your rivals win. You pick the sites that rank for your topics, pull the keywords they rank for, and compare that list with your own. The keywords that they rank for and you do not are your gaps. You then filter the gaps by intent and difficulty, and you turn the ones worth a page into briefs. This article shows each step, explains what the data can and cannot tell you, and lists what to check when you pick a tool.

What SEO competitor analysis is

The phrase "competitor" hides two ideas. A business competitor sells what you sell. A search competitor ranks for the searches you want, whatever it sells. Fig. 1 shows the split.

Two kinds of competitor. Business competitors sell what you sell. Search competitors rank for the searches you want. Some rivals are both. Business competitors sell what you sell Often both a rival in the shop and in the results Search competitors rank for the searches you want A shop down the road that ranks for nothing A magazine or forum that ranks for your keywords Your keyword list decides who competes with you in search.
Fig. 1. Business competitors and search competitors. A keyword analysis uses the search competitors.

Keyword work needs the second group. A shop on your street may rank for nothing. A magazine, a forum or a software review site may rank for every query you care about. Those sites take the clicks, so they are your rivals in search even if they would never call you a competitor.

This is why competitor analysis for keyword research starts from search results, not from a list of rival brands. Your keyword list decides who competes with you. A site that sells a similar product but writes nothing may not matter. A site in another business that writes well about your topic matters a lot.

A good analysis answers three questions.

  1. Who ranks for the searches I want?
  2. Which of their keywords do I miss, or rank lower for?
  3. Which of those gaps can I fill with a page that adds something?

The third question is the one that decides the work. A gap you cannot fill with a useful page is a list entry, not an opportunity.

Run the analysis at three moments. Run it when you plan a new site or a new topic area, so the first pages go where gaps exist. Run it when a page stalls, to see who now ranks above it. Run it on a schedule, so the plan keeps up with the market. The same steps serve all three, and only the question changes.

Find your search competitors

You can find search competitors by hand or with a tool. Do both once, so you learn what the tool does.

By hand

Pick five to ten keywords that describe your best pages. Search each one in a private browser window. Write down the domains in the top results. Skip the sites that are not real rivals for the page you plan, such as large general encyclopedias. Then count how often each domain appears. A domain that appears for most of your keywords is a strong rival. A domain that appears once is a rival for that query only.

Your results depend on your location and language, so search with the settings your audience uses.

With a tool

A tool does the same count across many more keywords. DataForSEO's Labs API has an endpoint that returns "a list of domains ranking for the keywords you specify". Each domain comes with four measures, shown in Fig. 2.

Seed keywords lead to top results, then to domains ranked by overlap, then to a shortlist. Four measures describe each domain: keywords count, average position, estimated traffic and visibility. Seed keywords Top results per keyword Domains by overlap Shortlist of rivals keywords_count keywords the domain ranks for avg_position average rank for those keywords etv estimated monthly traffic visibility rate based on positions Read the shortlist, then open the SERPs yourself.
Fig. 2. How a tool finds search competitors, with the four measures of the SERP competitors endpoint. Source: DataForSEO Labs API.

The vendor describes them as follows. keywords_count is "the number of specified keywords the domain has positions for in SERPs" (search engine results pages). avg_position is "the average position of the domain for the specified keywords". etv "represents the estimated monthly traffic that specified keywords are driving to the website". visibility "represents the website visibility rate based on the SERP positions of the specified keywords". Use the first two to judge overlap, and the other two to judge size. Treat the last two as estimates.

Strategist's Performance › Competitors page runs this search from your site's own top-ranked keywords, lists the domains that also rank for them, and lets you add a domain to your site context.

Choose a short list

Do not compare yourself with everyone. Keep a few rivals that differ in size. Include one that is close to your size, since its results show what you can reach soon. Include one that is far ahead, since its results show what the market rewards. Drop a rival whose overlap with your topic is small. Write the reason for each choice in your sheet. When the list changes later, the note tells you why a rival came in or went out, and you avoid rebuilding the same list twice.

Where competitor keyword data comes from

You can see your own keywords exactly. You cannot see a rival's. A tool builds the rival's list by checking search results and recording which domain appears for which query. That has two effects.

First, the list is a sample. A tool cannot check every query. Second, traffic numbers are modeled. The tool takes a position, a volume estimate and a click-through rate, and calculates traffic from them.

DataForSEO's ranked keywords endpoint shows this in its own words. It returns "the list of keywords that any domain, subdomain, or webpage is ranking for", with a position and a monthly search volume for each keyword. It reports estimated traffic volume (ETV) as "estimated organic monthly traffic to the domain or webpage". It says "data is updated weekly". Those are the vendor's terms, and they apply to that product only. Each tool has its own coverage and refresh rate, so read the documentation of the tool you use.

Two columns. For your own site, Search Console reports clicks, impressions and position that Google measured. For a competitor, a third-party index reports keywords, positions and estimated traffic. Your site A competitor Google Search Console reports what Google counted A third-party index reports what it observed Clicks, impressions, average position Keywords, positions, estimated traffic (ETV) measured for your own site estimated for a rival Treat a rival's traffic number as an estimate.
Fig. 3. Measured data for your site, estimated data for rivals. Sources: Search Console Help, DataForSEO Labs API.

Fig. 3 shows the difference. For your own site, Google Search Console reports what Google counted. Its help page says Search Console "helps you monitor, maintain, and troubleshoot your site's presence in Google Search results." Its Performance report has clicks, impressions, click-through rate and average position. For a rival, a third-party index reports what it observed. Compare keywords with each other by position and volume. Do not quote a rival's traffic as a fact.

Competitor keyword research, step by step

The steps below work with any tool that can list a domain's ranked keywords.

  1. Write your own keyword list first. Export your queries from the Performance report in Search Console. This is the baseline. Without it, you cannot tell what a rival has that you lack.
  2. Choose the market. Set the country and language that match your audience. A list for one country is not valid for another.
  3. Pull each rival's ranked keywords. Export the keyword, the position, the volume and the ranking URL.
  4. Merge the lists. Put your keywords and the rivals' keywords in one table, one row per keyword. Note which rival ranks and at what position.
  5. Sort into buckets. Split the rows into three groups, explained in the next section.
  6. Filter. Remove brand names and off-topic terms. Check intent. Check difficulty and volume.
  7. Read the results page. Open the search results for the keywords that remain.
  8. Plan the pages. Add each keeper to a cluster and write a brief.

Keep the working sheet simple. One row per keyword is enough, with these columns: keyword, intent, volume, difficulty, your position, the best rival position, the rival URL, the bucket, your decision and an owner. A sheet that anyone on the team can read keeps the analysis from living in one person's head.

Steps 5 to 8 take the most thought, so the next sections cover them in turn.

Sort the keywords into three buckets

A gap list has more than one kind of gap. Three buckets keep the kinds apart.

Three buckets. Missing: a rival ranks and you do not. Behind: both rank and your position is lower. Winning: both rank and your position is equal or higher. Missing Behind Winning A rival ranks. You do not rank. Both rank. Your position is further from the top. Both rank. Your position is equal or higher. Start with Missing and Behind. Winning is the set to protect.
Fig. 4. The three gap buckets. A tie on the best position counts as winning.

The keyword gap analysis article goes deeper on the method. Each bucket calls for a different action.

  • Missing. Write a new page, or add a section to a page you already have. These are your new topics.
  • Behind. Improve the page you have. Compare it with the page that outranks it and find what that page offers that yours does not.
  • Winning. Keep the page current. It needs care, not a rewrite.

A tie on the best position counts as winning, because there is no gap to close. A keyword that only you rank for sits in none of the buckets, because no rival competes on it.

Ahrefs' Content Gap tool uses the same idea. Its help page says the tool checks "what organic keywords that other websites rank for, that your target website does not rank for", and that "you can enter up to 10 competitors to compare against." Other tools offer similar reports under their own names, so check the report's definition in the vendor's help page before you compare numbers between tools.

Strategist's Keywords › Gap fetches the ranked keywords of your site and of the competitors in your site context, sorts them into Missing, Behind and Winning, and lets you save selected keywords as opportunities.

Read the position carefully

A position is an average or a snapshot. Search results change by location, language and device, as Google's page on how Search works says, and they change over time. A keyword at position four on one day may sit at six on another. Do not chase a one-position gap. Chase gaps of several positions or gaps where you do not rank at all.

Filter the list

A raw gap list can hold more rows than you can review one by one, and many are not worth a page. Fig. 5 shows three passes that cut it down.

A funnel: all rival keywords, then three filters (remove brand names and off-topic terms, match search intent, check difficulty and volume), then a shortlist. All keywords the rivals rank for Remove brand names and off-topic terms Match the intent to a page you can write Check difficulty and volume Shortlist
Fig. 5. Filter a gap list in three passes.

Remove brand names and off-topic terms. A rival ranks for its own name, and you cannot. A rival may also rank for a side topic you will never cover. Delete both.

Match the intent to a page you can write. Search the keyword. If the results are product pages and you plan an article, the page will not fit. If the results are guides and you sell a product, decide whether a guide serves your goal. Intent decides what a page must be.

Check difficulty and volume. Difficulty is a score from a tool. It helps you compare keywords, and it is a guide, not a promise. Pair it with the real results. If the top results are all strong sites with deep pages, a new site will find the keyword hard. If the top results include thin pages, the keyword may be within reach. The keyword difficulty article explains what the score measures. Related guides cover low-competition keywords and long-tail keywords, which often hold the easier gaps.

Keep a shortlist. A shortlist of keywords you will act on is more useful than a long list you will not.

Volume needs care. A keyword with low volume can still bring buyers. A keyword with high volume can bring readers who never buy. Read volume together with intent and fit, not alone.

An example gap list

The example below is invented to show the reading. A site sells invoicing software to freelancers. Its gap list has four rows.

  • "invoice template". Missing. A review site and a template site rank. People who search it want a file to download. The site can offer a template page that leads to the product. Keep it.
  • "invoicing software for freelancers". Behind. The site's product page ranks, but a rival's comparison page ranks higher. People who search it are choosing a product. Compare the two pages and improve the product page. Keep it.
  • "what is an invoice". Missing. Large reference sites rank. The query is a definition, and the site has nothing to add. Skip it.
  • A rival's brand name. Missing. Only that rival can rank for it. Delete the row.

Two of four rows survive in this invented list. The cut is the analysis.

Read the results page before you plan the page

A gap tells you a page is missing. The results page tells you what kind of page and how deep. Open the top results for each shortlisted keyword and note four things.

  • Page type. Guide, list, tool, product page, forum thread, video.
  • Angle. What the page promises in its title and first paragraph.
  • Depth. What it covers, and what it skips.
  • Freshness. When it was last updated, if the page says so.

Google's people-first guidance gives you the test for your own page. It asks whether the content provides "substantial value when compared to other pages in search results" and whether it provides "original information, reporting, research, or analysis". If you cannot add anything the top results lack, drop the keyword or change the angle.

Look at the rival's site as well as the page. A rival that ranks for a whole topic often has a pillar page and supporting articles that link to it, the shape described in topic clusters. If you see that shape, the rival is not winning with one page. It is winning with a set, and your plan must answer with a set too.

This step is also where you find the gap inside the gap. Two pages may answer a query, and both may skip the same question. That question is what your page can answer first.

The keyword research for SEO article covers the first stage of this work: finding the queries before you compare with anyone.

Turn gaps into content

Now the gap list becomes work. Fig. 6 shows the path from one keyword to a measured page.

Six steps in two rows from a gap keyword to measurement: gap keyword, read the top results, find its cluster, write the brief, publish, measure in Search Console. 1. Gap keyword from the list 2. Read the top results 3. Find its cluster 4. Write the brief 5. Publish the page 6. Measure in Search Console Step 2 decides whether the keyword is worth a page at all.
Fig. 6. From a gap keyword to a measured page.

First, find the cluster. A keyword belongs to a topic. If you already have a cluster on that topic, add the keyword as a supporting article. If you do not, the gaps may be the start of a new cluster. The SEO content strategy article shows how to group keywords, order them and set a calendar.

Second, write a brief. State the keyword, the intent, the outline, the questions the top results skip and the sources to cite. Link the page to its pillar.

Third, publish and measure. Return to Search Console after the page has had time. Google's starter guide says that "every change you make will take some time to be reflected on Google's end," and suggests waiting a few weeks before you judge. Compare the page's impressions, clicks and position with what you expected.

For in-house teams that need the whole path in one place, the in-house teams use case shows the workflow, and Strategist's Save as opportunities button stores the gap keywords you select.

Close a Behind gap

A Behind keyword means you already have a page. Do not rewrite it from scratch. Compare it with the page that outranks it, one part at a time.

  1. Match the query. Does your title and first paragraph answer the query as directly as theirs?
  2. Compare the headings. What questions does their page answer that yours does not?
  3. Compare the evidence. Do they cite sources, show data or give examples that you lack?
  4. Check freshness. Is your page older, and does it still describe the current state of the topic?
  5. Check the links. Do other pages on your site link to this page with clear link text?

Then edit your page to cover what it lacks, in your own words and from your own sources. Do not copy their structure line by line. Copying gives readers no reason to prefer your page.

Adjust for market and language

A keyword gap belongs to one market. The same domain can rank first in one country and nowhere in another. If you serve more than one country or language, run the analysis once per market. Pick rivals per market too, since the search competitors of a French-language site differ from those of an English-language site on the same topic.

SEO tools for competitive analysis: what to check

Many tools offer competitor reports. They differ in data and in what they hide. Judge each one with questions you can answer from its documentation. This section names no winner. It lists what to check.

  • Where the data comes from. Does the vendor say how it collects rankings? Is the data a sample of tracked keywords, or does it cover more?
  • How fresh it is. DataForSEO's ranked keywords page says its data "is updated weekly". Check the same line for any tool you consider.
  • Location and language. Can you choose the market? A list for the wrong country misleads.
  • What each report calls a gap. Ahrefs describes keywords that rivals rank for and you do not. Other tools may use different rules, such as a position cutoff.
  • Limits. How many rivals can you compare at once? Ahrefs states a limit of 10 competitors for its Content Gap tool. Read the limit for your tool.
  • Export and API access. Can you move the data into your own sheet or system?
  • Cost. Read the vendor's pricing page on the day you decide. Prices and limits change.

What a competitor keyword research tool should show you

A competitor keyword research tool should show the keyword, the position of each domain, the volume and the ranking URL. It should let you filter by position, volume and difficulty. A competitive keyword research tool that gives only a score, without the keyword list behind it, leaves you nothing to check.

Test a tool on a domain you know. If you run a small site, look up your own domain and compare the result with your Search Console queries. You will see how much the tool misses, and you will know how much to trust it for rivals.

Google tools and the question of cost

Many readers search for a "free competitor keyword research tool". Two Google tools matter here, and neither one shows a rival's keywords.

Google Search Console. The About Search Console page says it is "a free service offered by Google". It reports your own site's search data. Use it for the baseline in step 1 and for the measurement step.

Google Keyword Planner. Google's help page says it helps you "research keywords for your Search campaigns" and offers "suggestions for keywords related to your products, services, or website". It shows monthly search estimates and forecasts. The page does not mention competitor data. It also says you "must complete your account setup by entering your billing information" to use basic features, and that "keywords with very low search volumes, or keywords that are considered sensitive aren't discoverable or forecastable." The page does not say whether the tool is free, so this article does not call it that.

For a rival's keywords, you need a third-party index. Read each vendor's page for what its entry level includes. The keyword research tools article compares tools by data source and cost, and Google Keyword Planner for SEO explains what its volume figures hide.

Keywords are one side of a rival's success. Links are the other. When a rival outranks you on a query where your page is stronger, look at who links to it. A rival with many referring domains may rank on that strength.

Use the link data to learn, not to copy. Look at what content earns links in your niche: studies, tools, templates, clear explainers. Ask whether you can make something better. Do not copy a rival's links by buying or trading them. Google's spam policies define link spam as "the practice of creating links to or from a site primarily for the purpose of manipulating search rankings", and list buying and selling links and excessive link exchanges as examples. The backlink monitoring article shows how to track your own new and lost links with those rules in mind.

Strategist's Links › Profile shows your own referring domains and a trend, so you have a baseline for the comparison.

Repeat the analysis

A rival's list changes. New pages enter, old pages fall, and your own pages move. One analysis is a snapshot. A schedule turns it into a habit.

Five steps in a row: pick rivals, pull ranked keywords, bucket and filter, publish, measure. A return arrow runs from measure back to pick rivals. Pick rivals Pull ranked keywords Bucket and filter Publish Measure re-run on a schedule; rivals change
Fig. 7. The analysis repeats. Measurement sends you back to the rival list.

Fig. 7 shows the loop. After you publish, you measure. The result tells you which rivals still matter and which gaps remain. Then you pull the lists again.

Choose an interval that fits your pace. For example, run a pass each quarter. A faster cycle makes sense if you publish often. Between passes, add a new rival to the list when you see one appear in the results for your topics.

Strategist reuses a stored gap result for 30 days when the competitor list is unchanged, so a repeat run inside that window fetches no new data.

Share the results

An analysis that stays in one sheet does not change what the team writes. Share three things after each pass: the shortlist, the decision on each row and the pages planned. Add the reason for each skip, so the next pass does not reopen the same debate. Name an owner per page and a date for the first measurement. If a pass produced no accepted gaps, record that too. An empty result still tells you the rivals do not outrank you on the topics you cover.

Keep the notes short. Someone who did not take part should read them in a few minutes and understand which rivals you chose, which gaps you accepted and which you declined.

Mistakes to avoid

  • Copying a rival's page. A rival's page shows what ranks. It is not a template. Google's people-first guidance asks for "original information, reporting, research, or analysis". Write a page that adds something.
  • Trusting estimated traffic. ETV is an estimate. Use it to compare, not to forecast.
  • Ignoring intent. A keyword with the right words and the wrong intent will not rank on the wrong page.
  • Chasing every gap. A gap is not a command. Fit and effort decide.
  • Analyzing once. Rankings move, so the analysis must repeat.
  • Skipping the baseline. Without your own Search Console data, you cannot tell what is a real gap.

Next steps

  • Export your queries from the Performance report to build the baseline list.
  • Order the gaps you find with SEO content strategy.
  • Check how hard a keyword is with keyword difficulty.
  • Compare data sources with keyword research tools.
  1. content-clusters

    SEO content strategy: from keyword list to publishing calendar

    An SEO content strategy turns a keyword list into clusters, briefs and a publishing calendar. Follow eight steps from goals to measurement and refresh.

  2. aeo-geo

    Generative engine optimization: how AI engines pick sources

    Generative engine optimization (GEO) is the work of getting your pages cited in AI answers. See what the GEO paper tested and what Google says about it.

  3. rank-tracking

    Rank tracking API: what it returns, what it costs, and how to build daily tracking

    A rank tracking API returns search result positions as JSON for a keyword, place and device. See its fields, billing, and how to build daily tracking.