How to Do a Competitor Analysis for SEO: 8 Steps I Actually Use
Eight steps to find who really competes with you in search, what their ads and reviews reveal, and how to turn it all into a short work list.
Kemal Esensoy·Modified on December 3, 2019
The best marketing move I made for WunderType, my little macOS app, wasn't a strategy deck. I found every competitor I could, even the huge apps where text correction is one feature out of hundreds, and wrote an honest comparison post about each one. Those posts rank. They bring in people who are already comparing tools and ready to try one.
That was a competitor analysis. It just didn't look like the one this page used to describe.
This post first went up in 2019 and later got "updated" into an 8-step framework with Porter's Five Forces, a 90-day response plan, a table of social media monitoring tools and a statistic about companies being 67% more likely to beat their revenue targets. I couldn't find a source for that number. I'm not sure there ever was one. So I deleted all of it and wrote down how I actually look at competitors, in the order I do it, for clients and for my own products. It's still eight steps. The padding is what went.
The idea is plain: find out who takes the customers you want, work out why they win, and decide what to do about it. The SEO version runs that on search results, and it ends in a short list of pages to build or fix. If a step doesn't feed that list, skip it.
Step 1: Find Out Who Actually Ranks for Your Keywords
Type your most important keyword into Google in a private window and look at the first page. For a lot of small businesses you'll find a directory, a Reddit thread, a magazine roundup, a marketplace and maybe one actual rival. The company across town is often missing.
Those are your SEO competitors, and they're often different from your business competitors. The plumber down the street competes with you for the job. The directory competes with you for the click. You need to know both, but only the second group tells you what Google wants to show for that search.
So start with the search results and leave the list of company names for later. Pick three to five keywords that make money (service plus city, product plus "alternative", whatever the buyer types), note who shows up repeatedly across them, and you end up with a short list. Five sites is plenty. Fifteen turns into a spreadsheet nobody opens again.
If you pay for Ahrefs or Semrush, their competing domains reports speed this up. They also love to suggest sites that overlap with you on a few random keywords. Check every suggestion against a real search before it goes on your list.
For local businesses, run the same check in the map pack. The three businesses in that box are the competitors that matter most for "near me" searches, and they're frequently not the ones with the best websites.
Step 2: Read the Search Results Before You Read Any Tool
The first page of Google is already a competitor report. It shows you what kind of page wins.
If the top results for your keyword are long guides, a thin service page won't break in. If they're all comparison pages, Google has decided the searcher is choosing between options. If there's an AI Overview at the top, fewer people will click through on informational queries no matter who ranks first, and that changes which keywords are worth fighting for.
Look at page type, rough length, whether there's a video carousel or a People Also Ask box, and whether the ranking pages are home pages or deep pages. This takes ten minutes per keyword and it saves you from writing the wrong kind of page. If you want the full process for picking those keywords in the first place, my keyword research guide covers it.
Step 3: Run a Keyword Gap, Then Throw Most of It Away
My own Ahrefs export from November 2025 compared wunderlandmedia.com with ten other domains and came back with 2,500 keywords. The top of the list: "when2meet", "faq templates", "hospital names" and "best basketball drills for kids". I sell none of that.
A keyword gap report is still the one place where Ahrefs and Semrush earn their subscription in a competitor analysis. You put in your domain and a few competitor domains, and the tool lists keywords they rank for and you don't. In Ahrefs it's the Content Gap report inside the Competitive Analysis tool. Semrush calls it Keyword Gap. Same idea.
The raw export is mostly noise, as you just saw. Competitors rank for plenty of things by accident: an old blog post about a holiday party, a careers page, a free tool that took off, a brand name. Filter it down to keywords that match something you sell, then sort by how many competitors rank for them. A keyword where all four competitors have a page and you don't is a strong signal the topic belongs on your site. A keyword where one competitor ranks with a random post is not.
Then group what's left into topics. Twenty keywords often collapse into four or five pages worth writing.
You don't need the paid tools to get started. For the WunderType launch I used Ahrefs and Semrush, but Google autocomplete and People Also Ask get you surprisingly far, and SERP APIs like Serper or SerpApi have free tiers big enough to pull the top results for a few dozen keywords. The paid tools are faster, not magic.
Step 4: Open Their Website Like a Customer Would
Open the five sites side by side and click through them the way a buyer would. You'll learn more in twenty minutes than from any dashboard.
What to check:
- Service pages: one page per service, or everything crammed onto one page? Separate pages give Google something specific to rank.
- Pricing: do they show prices or ranges? If nobody in your market does, publishing yours is an easy way to stand out.
- Proof: case studies with names and numbers, client logos, reviews, photos of real work.
- Speed: run their key pages through PageSpeed Insights next to yours.
- Structured data: paste a URL into the Schema Markup Validator to see what they mark up, like reviews, products or local business info. FAQ markup no longer earns them anything visible: Google stopped showing FAQ rich results in May 2026.
Also look at the design. A lot of sites built with AI tools now share the same layout: gradient hero and a row of feature cards. If yours looks like theirs, that's a problem I wrote about in why every AI-built website looks the same. Looking different is cheap positioning.
You're looking for two lists here. What every competitor does: your audience expects it, so you need it too. What none of them do: that's your opening. My on-page SEO checklist is what I use to compare the page-level details once I know which pages I'm up against.
Step 5: Read What Their Customers Complain About
For QuietClip, my clipboard manager, I scraped about 500 App Store reviews across 16 competing apps, and later read through the launch threads on r/macapps. No keyword tool would have told me what came out of that.
Pricing was the loudest signal. A $2.99 clipboard app got 353 points and 198 comments on r/macapps. One at $80 lifetime got 0 points and 35 comments, nearly all hostile. People kept asking whether these apps could ignore password managers. And by July, half a dozen rivals had shipped the paste queue I'd been treating as my big feature, so I built the launch post around privacy instead.
That's the kind of decision a competitor analysis should change. You don't need a scraper for it. If you run a local business, open the one-star Google reviews of your top three competitors. The complaints that repeat are the promises your service page should make, as long as you can keep them.
Step 6: Look at Where Their Backlinks Come From, Not How Many
Backlinks are where a lot of competitor analysis goes wrong, because people compare one number. "They have DR 60, we have DR 25" tells you almost nothing.
Domain Rating is a score, and sites that link to each other can pump it. No traffic and a high DR can sit on the same domain, which is what my toxic backlink audit is about. If a competitor's link profile is full of that, their "authority" is mostly air.
So look at the referring domains themselves. Which local news site or industry association links to them? Which of their pages attract links, and why? A competitor with forty links from real businesses in your region is harder to beat than one with four hundred links from directories. The useful output is a list of places that could plausibly link to you too, because they already link to someone like you.
Step 7: Check Their Ads to See Which Keywords Make Money
Organic data tells you what competitors rank for. Ads tell you what they're willing to pay for, which is a stronger signal of what turns into customers.
The Google Ads Transparency Center is free. Search a competitor's name or domain and you see their search, display and YouTube ads. It shows the ads, not whether they're profitable, but if the same ad is still there when you check again a month later, that's a decent hint it pays for itself. The Meta Ad Library does the same for Facebook and Instagram.
Read the headlines for the words competitors lead with. If every ad says "same-day" or "fixed price", that's what buyers in that market respond to, and your service page should answer it.
Step 8: Check Who AI Answers Recommend
The newest version of this question arrives as a screenshot: ChatGPT recommends a competitor by name and not you. I wrote about what to do in when ChatGPT recommends your competitor.
To measure it, I built an AI visibility tracker. It started inside my client dashboard and is now a small command-line tool. For a standard client it asks ChatGPT, Perplexity and Google's AI Overview seven questions a customer would ask, three times each because the answers change between runs. That's 63 calls. It counts how often the client and each competitor get mentioned, which gives a share of voice per competitor. The setup and the prompt to build your own are in build your own AI visibility tracker.
A Surfer study comparing API answers with what the real AI interfaces show found raw brand overlap of only 15.5% to 23.8%, depending on the product. My tracker uses the APIs, so its numbers are a trend line, not the truth. Paid tools like Ahrefs Brand Radar track mentions across much larger prompt sets. A competitor showing up on prompts where you don't is the AI-search version of a keyword gap.
The report also lists which pages get cited for each question, and that's the part that does the real work. Open the competitor page that gets cited instead of the client's and compare: topics it covers that the client doesn't, schema markup, clearly named services, team bios, transparent pricing. That list is the work. The visibility percentage only tells you where to look.
Turn It Into a Work List, Then Stop Analyzing
All of the above should end in a short list of pages to create or fix, sorted by how close each one is to revenue. If your analysis ends in a slide deck, it's a hobby.
Comparison pages usually come first. "You vs Competitor" and "best alternatives to Competitor" searches come from people who already know what they want and are choosing. For WunderType, those comparison posts were the best return on anything I did, and the full numbers from that launch are public. Write them fairly. Say where the other product is better. Readers can tell when a comparison is a sales page in disguise.
AI makes the research part much faster. In my AI-assisted SEO audit workflow, the model summarizes competitor content and spots patterns in their setup. I still check its claims by hand. It's confident about things it got wrong.
For a small business, I'd re-run the keyword gap and the AI visibility check every quarter, plus whenever rankings move without an obvious reason. I don't have data proving quarterly beats monthly. It's the rhythm that keeps the work from crowding out the fixes.
What I Still Get Wrong
I wrote a whole post about being the tailor who can't sew his own pants. Client work is easier than self-promotion, so that's where I hide. Knowing what competitors do is the easy half. Shipping the pages is where most people stall, me included.
If you'd like someone to run this for your site and hand you the work list, let's talk. I'll show you who you're actually competing with in search and which pages close the gap, and if your real problem is something else, I'll say so.
Find these posts useful? Mark Wunderlandmedia as a preferred source on Google â my articles will then show up more often in your Search results, AI Overviews and AI Mode.
Set as preferred sourceAbout the Author
Kemal Esensoy
Kemal Esensoy, founder of Wunderlandmedia, started his journey as a freelance web developer and designer. He conducted web design courses with over 3,000 students. Today, he leads an award-winning full-stack agency specializing in web development, SEO, and digital marketing.