SEO competitor analysis template with a worked example

·7 min read

A competitor analysis template for SEO is a sheet with one row per competitor and a column for each thing that decides who wins in search. The columns cover estimated organic traffic and keywords, top pages, keyword overlap and gaps, referring domains, content types, paid search and social ads, and AI answer citations. Fill it for your own site and three to five rivals, take every number in a column from the same source, and finish with three or four decisions that each have an owner.

Most competitor analyses end as a deck nobody opens after the meeting. This one ends in decisions.

Copy this SEO competitor analysis template

Put your own site in the first row. A competitor's traffic figure means little until it sits next to yours.

Site Role Organic visits/mo Keywords (top 10) Top pages Shared keywords Gap keywords Referring domains Content types Google Ads Social ads AI citations
yoursite.com You n/a n/a
competitor-1.com
competitor-2.com
competitor-3.com

The CSV splits keywords and top 10 keywords so both sort as numbers, and adds link rank and a notes column. Save it as a .csv file and open it in Google Sheets or Excel.

site,role,organic_visits_month,ranking_keywords,top10_keywords,top_pages,shared_keywords,gap_keywords,referring_domains,link_rank,content_types,google_ads,social_ads,ai_citation_share,decision_notes
yoursite.com,you,,,,,n/a,n/a,,,,,,,
competitor-1.com,,,,,,,,,,,,,,
competitor-2.com,,,,,,,,,,,,,,
competitor-3.com,,,,,,,,,,,,,,

Search competitors vs sales competitors

The rows are the sites that rank for your keywords, plus the one or two rivals your sales team loses deals to. Those are often different lists. A trade magazine, a marketplace or a review site can take more of your searches than any rival product, and the rival that beats you in demos may barely rank at all.

Mark each row in the Role column as search, sales or both. Rows marked both deserve the closest look.

For the search side, find the sites that share the most Google keywords with yours. Competitor Finder lists up to 30 of them for the country you choose and marks a site as a close competitor when at least 5% of the keywords it ranks for are ones you rank for too. Leave out Wikipedia and other large sites that rank for almost everything. Sales can name the rest from lost deals.

Stop at five rows. A sixth competitor rarely changes a decision the first five didn't.

How to do a competitor analysis, column by column

Take each column from one source for every row, your own included. The numbers are estimates and only compare when they share a source.

Column What to record Where it comes from
Role Search, sales or both Competitor Finder for search, your sales team for sales
Organic visits/mo Estimated monthly visits from Google Domain Overview, or any one SEO suite
Keywords (top 10) Ranking keywords, and how many are in the top 10 Domain Overview
Top pages The two or three pages that bring the most visits Competitor Keywords
Shared keywords Keywords you both rank for Competitor Finder
Gap keywords Keywords they rank top 20 for and you don't rank for Keyword Gap
Referring domains Sites linking in, and link rank Domain Overview for the counts, Backlink Finder for the names
Content types The format of each top page By hand
Google Ads Ads running now, and the promise in the longest-running one Competitor Google Ads, or Google's Ads Transparency Center
Social ads Ads running on Meta and LinkedIn Meta Ad Finder and LinkedIn Ad Finder, or each ad library
AI citations Share of AI answers on your topic that cite the site AI Citation Finder, one topic run

Your own row needs the estimate too. Search Console shows your real clicks, which won't match any provider's estimate, so keep that number in the notes. A suite you already pay for fills the same columns, and our comparison of Semrush alternatives covers the options if you have none.

Content types is the one column you fill by hand. Open each top page and label it as a guide, template, calculator, comparison page, category page or documentation. This column often explains the traffic column better than any number in the sheet.

Shared keywords tell you how close a rival is. A keyword gap analysis against one competitor tells you what to build. It takes the 300 most searched keywords the competitor ranks for and you don't, keeps the ones where the competitor sits in Google's top 20, and lists the competitor pages that win the most of them.

For the ad columns, record run time, not spend. Google, Meta and LinkedIn publish the ads but not the spend behind ordinary ads, and an ad still running after months is one the advertiser keeps paying for. Google's ads are in its Ads Transparency Center, and our Meta Ad Library guide shows how to read a rival's Facebook and Instagram ads by hand.

For AI citations, run an AI citation lookup on your main topic once rather than once per competitor. In topic mode it lists the sites cited most in Google AI Overviews and ChatGPT answers on that topic, with the share of answers that cite each one, so one run fills every row. A row that isn't on the list gets "Not cited", which is a finding in itself. Perplexity and Gemini aren't covered. For your own row, Search Console's Generative AI performance report adds AI Overviews and AI Mode impressions by page.

A competitor analysis example for an invented company

Here is the sheet filled in for Northfold, an invented booking app for dental clinics, with invented competitors and round numbers made up to show the method. Every domain ends in .example, a name reserved for documentation, so none of them is a real site.

Site Role Organic visits/mo Keywords (top 10) Top pages Shared keywords Gap keywords Referring domains Content types Google Ads Social ads AI citations
northfold.example You 2,000 800 (100) Home, pricing n/a n/a 150 Product pages, blog 5 running, brand terms Meta 2 Not cited
chairtime.example Both 20,000 6,000 (900) No-show calculator, reminder templates 500 250 900 Calculators, templates 30 running, "Cut no-shows" Meta 10, LinkedIn 5 15%
clinicplanner.example Both 8,000 3,000 (400) "Alternatives" and "vs" pages 400 100 400 Comparison pages 40 running, headlines name rivals LinkedIn 20 5%
toothtalk.example Search 60,000 25,000 (5,000) Salary guide, news 300 80 3,000 News, guides None None 25%
bigpractice.example Sales 1,000 500 (50) Home, login 30 10 1,000 Product pages 60 running LinkedIn 30 Not cited

Chairtime gets most of its 20,000 visits from a no-show calculator and reminder templates, the same pages that win most of the 250 gap keywords. Northfold has nothing like them.

Clinicplanner is smaller but ranks with "alternatives" and "vs" pages, and its Google ad headlines name rival products. If Northfold doesn't publish its own comparison page, Clinicplanner's is the one searchers will find.

Toothtalk, a trade magazine, sells nothing Northfold sells, yet it appears in a quarter of the AI answers on the topic. Northfold won't outrank it for salary guides and shouldn't try, but a mention on Toothtalk puts Northfold on a site AI answers already cite.

Bigpractice wins deals and barely exists in search. Its 60 Google ads and 30 LinkedIn ads show what it tells buyers, which is useful to sales and irrelevant to the SEO plan.

A competitive analysis framework that ends in decisions

Write each pattern in the sheet as one decision with its evidence, an owner and the column you will check at the next refresh. A sheet that produces no decision was a reading exercise.

Decision: We will [action] because [row and column evidence].
Owner: [name]
Check: [column] at the next refresh, on [date]

Northfold's sheet produces four:

  1. Build the two tool pages. A no-show calculator and a reminder template page, aimed at the gap keywords Chairtime's top pages win. Check gap keywords next quarter.
  2. Publish the comparison pages. "Northfold vs Clinicplanner" and a "Clinicplanner alternatives" page, so people comparing the two land on Northfold's version. Check shared keywords.
  3. Get mentioned where AI answers already look. Offer Toothtalk an article built on no-show figures from clinics that use Northfold. Check the AI citations column.
  4. Leave Bigpractice out of the SEO plan. Send its ad promises to sales and look again in six months.

Refresh the sheet every quarter, and judge a decision by the change across two refreshes, because estimates shift when a provider updates its data. Delete any column that hasn't fed a decision in two quarters.

Our Domain Overview fills the organic visits, keywords and referring domains columns for any domain, yours or a competitor's. Choose a country and it returns how many keywords the whole domain ranks for in Google there, split into position 1, positions 2 to 3, 4 to 10 and below, with estimated monthly visits from Google and what buying those visits as Google Ads clicks would cost. It also counts the keywords the site buys in Google Ads and estimates its monthly ad spend, a quick first read for the Google Ads column.

On the link side it counts the sites and pages linking in, with a link rank from 0 to 1,000, the average spam score of those links and the share marked nofollow. Rankings are for the country you choose, while links count from every country. Treat every figure as an estimate for comparing rows.

A run costs 50 credits, and a run that finds neither search data nor links is refunded. Filling the rest of a competitor's row with Competitor Keywords, Keyword Gap, Competitor Google Ads, Meta Ad Finder and LinkedIn Ad Finder adds 145 credits.

Keep reading