Find the Keywords Your Competitors Rank For Using Free SEO Tools
Your competitors are ranking on Google for searches you have never seen. They are getting calls from homeowners looking for services you offer, in cities you serve, at price points you could match, but the person searching found them first because they have a page for that specific query and you do not. Keyword gap analysis finds those missed searches. It takes 30 minutes with free tools and gives you a specific list of pages to build or improve this month.
This is not about chasing high-volume national keywords. It is about finding the 15 to 40 searches-per-month queries where a competitor has a page and you do not, because those hyper-local, service-specific searches convert at two to four times the rate of broader terms. A search for "tankless water heater installation Lakewood CO" is more likely to end in a booked job than "water heater installation near me."
What You Need
Three free tools handle 90 percent of useful keyword gap analysis for contractor sites:
- Ahrefs Webmaster Tools (free): Verify your site at ahrefs.com/webmaster-tools and get free access to your own organic keyword data. The free version also allows limited competitor domain lookups through the Site Explorer tool, enough to pull a competitor’s top ranking keywords without a paid subscription.
- Semrush free tier: A free Semrush account at semrush.com allows up to 10 keyword searches per day. The Keyword Gap tool in the free tier limits results to 10 rows per session, but that is enough to identify the highest-volume gaps for each competitor you check.
- Google Search Console: You already have this. The Queries report shows every keyword your site ranks for and your current position. Combining your Search Console data with competitor data from the tools above gives you the full picture of where you rank versus where you are absent.
Step 1: Identify Your Actual SEO Competitors
Your competitors for keyword gap analysis are not the businesses you compete with for bids. They are the websites that appear above yours in Google search results. Those are not always the same companies.
Search "[your primary service] [your city]" in an incognito browser window. Look at the organic results below the map pack. Write down two or three contractor websites appearing in positions 1 through 5. These are your SEO competitors. If the top results are Angi, HomeAdvisor, or Thumbtack, scroll past them and find the contractor websites in positions 4 through 10. Those are the businesses whose pages you are actually competing against for organic clicks.
Step 2: Pull Competitor Keyword Rankings
In Semrush, enter a competitor domain in the search bar and select Organic Research from the left menu. This shows every keyword the competitor ranks for, their position, and the estimated monthly search volume. Filter to show only positions 1 through 10 and sort by volume, highest first. You are looking for keywords that include your service types, your city names, and neighboring city names.
In Ahrefs Webmaster Tools, run the same process against your own domain to pull your current keyword rankings. Export both lists. The gap between your keyword list and a competitor’s keyword list shows exactly which searches you are missing.
Step 3: Find the Gaps That Matter
Compare your keyword list against each competitor’s list and look for these patterns:
- City combinations you are missing: If a competitor ranks for "furnace installation Broomfield" and "furnace installation Westminster" but you only have a page for your primary city, every search from those neighboring cities sends the lead to them, not you.
- Service variants you have not targeted: A competitor ranking for "mini split installation" or "ductless AC installation" while you only have an "AC installation" page is capturing an entire search segment. Mini split and ductless searches have grown substantially over the past two years as the product category has expanded into more markets.
- Emergency and same-day modifiers: Searches including "emergency," "same-day," "24 hour," and "no heat tonight" are often missed by contractors who have general service pages but no page specifically targeting urgent job requests. These searches convert at extremely high rates and frequently have lower competition than general service terms.
- Equipment brand searches: A homeowner with a Carrier furnace searches "Carrier furnace repair" or "Carrier HVAC service near me." If a competitor has a page titled "Carrier Authorized Dealer and Repair Service" and you do not, they capture every brand-specific search in your market.
Step 4: Prioritize Which Gaps to Close
Not every keyword gap is worth closing. Prioritize gaps that meet three criteria: search volume above 20 monthly searches, commercial intent (someone ready to hire, not doing research), and a competing page that is weak enough that a well-built page can surpass it within 60 to 90 days.
Check the competitor’s page for each gap keyword you plan to target. Load the page and look at its content depth. A 400-word service page with generic copy and one stock photo is easy to outrank with a 700-word page that includes the specific equipment you service, your service radius, your licensing, and a real customer outcome. A page with 1,200 words, detailed FAQs, and 15 real job photos is harder to displace and requires a more significant content investment before you overtake it.
| Gap Type | Page Needed | Build Time |
|---|---|---|
| Neighboring city plus service | City-specific service page | 2 to 3 hours |
| Emergency or same-day modifier | Emergency services page with 24h CTA | 3 to 4 hours |
| Service variant (mini split, ductless) | Dedicated page for that variant | 3 to 5 hours |
| Equipment brand plus service | Brand-specific landing page or FAQ section | 2 to 4 hours |
Step 5: Build the Pages
Each prioritized gap needs a page that directly targets that query. Do not try to capture multiple gap keywords on one page. A page targeting "Carrier furnace repair Denver" and "Lennox furnace repair Denver" simultaneously will rank for neither as consistently as two separate pages, each optimized for one brand.
The minimum viable page for a keyword gap includes the target keyword in the page title, the H1 heading, and the first paragraph. It addresses the specific service in enough detail that someone who lands on it can verify you are the right contractor to call. For a neighboring city page, that means mentioning specific neighborhoods or ZIP codes in that city, not just the city name. For an equipment brand page, that means specifying whether you are factory-authorized, which model families you service, and your typical response time for that brand.
New pages typically begin appearing in Google Search Console impressions within two to four weeks of being indexed. Rankings stabilize over the following 30 to 60 days as Google evaluates the page against competing results. Track each new page in Search Console from the week it goes live so you have a baseline to measure improvement against.
Three Actions This Week
- Search your primary service in your city in an incognito browser. Write down the domain names of two contractor websites appearing in organic positions 1 through 5 below the map pack. These are your SEO competitors for gap analysis. Do not assume you already know who they are: rank positions change frequently, and the business you compete with for jobs is not always the one outranking you in search. The incognito window removes personalization and gives you an accurate picture of what searchers see.
- Enter each competitor domain into Semrush free and pull their top 20 organic keywords. Filter to positions 1 through 10 and note every keyword that includes a city name, service modifier, or equipment brand. Cross-reference that list against your own Google Search Console Queries report. Any keyword a competitor ranks for that does not appear anywhere in your Search Console data is a confirmed gap. Write those gaps into a prioritized page-build list, ordered by estimated search volume.
- Build one page from your gap list before the end of the week. Start with the gap that has the highest volume and the weakest competing page. A single well-built page targeting one missed keyword can begin generating impressions within two to four weeks of indexing and converts at the same rate as any other organic lead. A contractor who builds one gap page per week for eight weeks gains eight new ranking opportunities by the end of two months, most of which their competitors have not noticed and have not moved to close.
Keyword gap analysis is not a one-time task. Run it again every 90 days. Competitors add new pages, ranking positions shift, and new service categories create new keyword opportunities. The contractors who check quarterly and fill gaps systematically build a search presence that compounds over time, while those who build two or three service pages and stop are slowly being surrounded by competitors who kept building long after they quit.