Content Gap Analysis Without Paid Tools: Find Competitor Keywords for Free
Content gap analysis reveals keywords your competitors rank for but you don't. Here's how to do it entirely with free tools — no Ahrefs, Semrush, or SpyFu required.
Content gap analysis answers one question: what keywords are your competitors ranking for that you’re not? It’s the fastest way to find proven, in-demand topics instead of guessing what to write next.
Most guides tell you to use Ahrefs’ Content Gap tool ($229/month) or Semrush’s Keyword Gap ($249/month). You don’t need either. The same data is available through free tools — you just have to know where to look and how to combine it.
This guide walks through a complete content gap analysis using only free tools, from identifying your real competitors to building a prioritized list of keyword opportunities.
Why Content Gap Analysis Works
When you launched your site, you probably wrote about topics you thought were important. Your competitors did the same — but they thought of different topics. Some of those topics turned out to be high-traffic, low-competition winners.
Content gap analysis finds those topics. Instead of starting from scratch with keyword research, you’re starting from a list of keywords already proven to work for sites like yours.
The process works because search demand isn’t random. If five competitors all rank for “blockchain security checklist,” that keyword has real search volume and real ranking potential. You’re letting the market validate demand before you write a word.
Step 1: Identify Your True Search Competitors
Your business competitors and your search competitors are different. A competing product might rank for zero overlapping keywords. A blog you’ve never heard of might be stealing your traffic.
Find search competitors using Google:
Search your top 5 ranking keywords and note which domains appear in the top 10 results. Do this across at least 10 keywords to get a clear picture. Domains that appear repeatedly are your real search competitors.
For example, if you run a Web3 security blog, search queries like:
- “honeypot detection explained”
- “how to track stolen crypto”
- “DeFi risk assessment”
The domains showing up across multiple searches are your search competitors — not necessarily your product competitors. A small blog that ranks for the same terms as you is a search competitor even if you’ve never heard of them.
Free tool shortcut: Google’s “related” operator (related:yourdomain.com) shows sites Google considers similar to yours. It’s not comprehensive but gives you a starting list.
Step 2: Extract Competitor Keywords from Google Search Console
If you already rank for some keywords (even position 30-100), GSC is your richest free data source. As we covered in our Google Search Console guide, GSC shows you every query Google associates with your site.
The trick: Export your GSC queries, then check which of those queries also trigger competitor pages but not yours.
Here’s the process:
- Open GSC → Performance → Search Results
- Set date range to last 28 days
- Export all queries (you can get up to 1,000 rows)
- For each high-impression query where you rank below position 20, search it on Google
- Note which competitors appear in the top 10 for that query
These are your gap keywords — queries where Google already associates your site with the topic (hence the impression) but ranks competitors above you.
Bonus: Filter for queries with high impressions but low click-through rate. These are keywords where your pages exist but underperform — quick wins that often need just a technical SEO fix or content improvement.
Step 3: Use Google Autocomplete to Find Competitor Topics
Google Autocomplete (the suggestions that appear as you type) reveals what people actually search for. It’s free, real-time, and reflects genuine search demand.
Process:
- Go to Google and type your competitor’s core topic + a letter (e.g., “blockchain security a…”)
- Note the autocomplete suggestions
- Repeat for each letter of the alphabet
- Do the same with question words: “how to [topic]”, “what is [topic]”, “why does [topic]”
This is tedious but effective. Each suggestion is a real search query with real demand. Cross-reference: if a suggestion appears for your topic but you have no page targeting it, that’s a content gap.
Free tool that automates this: Google’s own Keyword Planner (inside Google Ads) shows search volume ranges for free. You need a Google Ads account, but you don’t need to run any ads. Enter your autocomplete keywords to see which ones have meaningful volume.
Step 4: Scrape Competitor Pages for Topic Signals
Your competitors’ sites are public. Their page titles, URL slugs, and headings reveal their entire keyword strategy.
Process:
- Visit each competitor’s sitemap (usually
domain.com/sitemap.xml) - Extract all URLs — these slugs are their targeted keywords
- Visit their blog index or resource page
- Note post titles — these are their primary keyword targets
For example, if a competitor has /blog/how-to-check-smart-contract-security/, their target keyword is likely “how to check smart contract security” or “smart contract security check.”
Free scraping tools:
- Google Sheets
=IMPORTXML()function can parse sitemaps directly curlto download sitemaps, then grep for<loc>tags- Screaming Frog’s free tier (500 URLs) can crawl a competitor site and export all page titles and meta descriptions
Cross-reference competitor URLs with your own content. Any topic they cover that you don’t is a potential gap.
Step 5: Combine and Prioritize
You now have three lists:
- GSC gap keywords — queries where you get impressions but competitors outrank you
- Autocomplete keywords — search demand you haven’t targeted at all
- Competitor page topics — content your competitors have that you don’t
Combine them into one spreadsheet. Then prioritize using these criteria:
Search intent match: Does this keyword align with what your site offers? A keyword with high volume but wrong intent (informational when you need transactional) won’t convert. Check the SERP analysis for each keyword — if the top results are all listicles and you’re writing a tool page, intent is mismatched.
Content depth required: Can you write a genuinely better page than what currently ranks? If the top 10 results are 3,000-word guides from established sites, you need to match or exceed that depth. If they’re thin 500-word posts, you can win with a more thorough resource.
Internal linking potential: Can you link this new page to 3+ existing pages on your site? Strong internal linking accelerates ranking for new content. If a keyword topic is completely disconnected from your existing content, it’ll be harder to rank.
KGR check: Calculate the Keyword Golden Ratio (allintitle results ÷ monthly search volume). Below 0.25 means low competition relative to volume — a strong signal worth prioritizing.
Step 6: Validate with a Quick SERP Check
Before committing to write, do a 2-minute SERP check:
- Search the keyword on Google (use incognito mode)
- Note the domain authority of top results (are they big brands or small blogs?)
- Check page types (are they guides, tools, product pages, or forum threads?)
- Look at content length and quality of the top 3 results
If the top 10 results include Wikipedia, major publications, or high-authority domains — deprioritize. If they’re small blogs, forum posts, or thin pages — prioritize. This is the same approach we use for SERP difficulty analysis, and it’s more reliable than any paid difficulty score.
Building Your Content Calendar from Gaps
Once you’ve prioritized 10-20 gap keywords, sequence them into a content calendar:
- Week 1-2: Write the highest-opportunity, lowest-difficulty gaps first
- Week 3-4: Move to medium-difficulty keywords that strengthen your topical clusters
- Ongoing: Re-run the gap analysis quarterly as competitors publish new content
Each new article should link to at least 2 existing articles and vice versa. This builds the topical authority that Google uses to determine whether you’re a comprehensive resource or a random collection of posts.
Common Mistakes to Avoid
Chasing volume over relevance. A keyword with 10,000 monthly searches that barely relates to your site will waste your time. A keyword with 200 monthly searches that perfectly matches your expertise will bring qualified traffic that converts.
Ignoring pages you already have. Sometimes the gap isn’t “no page” — it’s “existing page that’s underoptimized.” Before writing new content, check if improving an existing page (better title, deeper content, more internal links) would close the gap faster.
Copying competitor topics verbatim. Use their topics as inspiration, not a template. Your angle, depth, and examples should be different and better. If you write the same article with the same structure, Google has no reason to rank you above them.
Forgetting to update. Content gaps evolve. Re-run this analysis every 3 months. New competitors enter, old ones publish new content, and search demand shifts. A one-time gap analysis goes stale quickly.
Tools Summary
All tools mentioned in this guide are free:
- Google Search Console — your ranking data and search queries
- Google Autocomplete — real-time search demand signals
- Google Keyword Planner — search volume estimates (Google Ads account, no spend needed)
- Google Sheets IMPORTXML — sitemap parsing and data combination
- Screaming Frog free tier — competitor site crawling (500 URLs)
- Google incognito search — manual SERP analysis
Total cost: $0. Total time for a full analysis: 2-3 hours for a small site, 4-6 hours for a site with many competitors. The output is a prioritized list of proven keyword opportunities — the same output you’d get from a $229/month Ahrefs subscription.
Want to run this analysis on your own site?
ZensInk Pro automates this pipeline. One command, from seed keywords to content plan.
Get Pro →