Homeowners about to hire a roofer mostly type the job and their town, like “roof repair plano,” or the job plus “near me.” By Semrush’s September 2026 estimates, searches naming a roofing service and a city ran 9,600 to 10,400 a month in the service area of a Plano roofer we work with, while research questions such as roof cost and insurance came to about 3% of that area’s roofing searches. So your keyword list starts with the jobs you want paired with the towns you can reach.
A roof cost guide mostly draws readers from outside your service area
Nationally, those same research questions add up to 107,210 searches a month, so about 99.5% of the people reading a roof cost guide live outside the Plano roofer’s service area.
On the site of a Dallas builder we work with, a page aimed at one lake and one service brought about one lead per 10 clicks, against about one per 300 for its guides.
The Plano roofer’s cost guide opened by refusing to give a price. It sat near position 85 for “average cost to replace a roof in texas,” while every page-one result led with a dollar range. Write the job-and-town pages first, and if you write a cost guide, open it with a price range.
Autocomplete and Keyword Planner show how homeowners word the search
Type a job and your town into Google and read the suggestions underneath. Google says they “reflect real searches that have been done on Google,” shaped by the searcher’s location, language, past searches and what is trending. Run them from a phone in the town you want work in, and treat each suggestion as a real phrasing with no volume attached.
Google’s Keyword Planner, part of Google Ads, gives estimates of how often each phrase is searched once you add billing information. Its help page says keywords with very low search volumes can’t be found or forecast there, so a small town’s phrase missing from its results may still get searched. Use its estimates to order your list, and keep the town phrases it leaves out.
Search Console and your Google profile show which searches Google matches you to
Search Console, Google’s report on how your site shows up in search, has a Queries view that “groups your data by the search query users typed,” covering the past three months by default. Google warns that a search on that list may not show your site when you run it yourself, because results are personalized, so trust the list over your own spot checks.
Your Google Business Profile has a Searches list of “the search terms people used to find your business,” updated at the start of each month. Google says “You can’t directly manage these queries,” so the list shows what Google already matches you to.
Read both lists each month and mark every search for work you don’t do.
The Plano roofer’s Search Console showed Google matching it to another trade. It ranked at 1.0 to 1.5 for “general contractor” and “construction company” searches in Plano and drew no clicks from them.
On roofing searches it sat at positions 20 to 90, and those searches brought 5 clicks in all.
All 67 of its pages already had roofing titles and the code that labels the business a roofing contractor, so on September 19, 2026 we removed General contractor from its profile’s secondary categories. Nobody has measured the effect on its roofing rankings yet.
A roofing owner on r/SEO, whose work was 90 to 95% roofing, saw the searches finding the business shift after hiring an SEO pro: “Before: roofer near me (great) After: gutters and siding contractor near me (bad).”
Google’s profile guidelines say to use as few categories as possible and never “solely as keywords.” The 47 experts in Whitespark’s 2026 Local Search Ranking Factors survey rank the primary category at the top of what moves Maps rankings. Make roofing your primary category, and drop any secondary category for work you don’t want calls about.
Give your main job-and-town searches pages of their own
An in-house search marketer at a multi-state roofer reported ranking for “atlanta roofing company” style searches, but not when someone inside the service area typed just “roofers near me.”
In the Plano roofer’s area, “near me” searches and searches naming only the service came to about 4,900 a month. Google says local results are “mainly based on relevance, distance, and popularity,” and Why Your Roofing Company Disappears on Google Maps Outside Your Hometown shows how fast rank falls away from your office. Put the town on each page, and leave the townless searches to your profile.
For the regular results under the map, the same Whitespark experts rank a dedicated page for each service, and content that matches the city, near the top. Around Plano, Semrush estimated in September 2026 that seven of nine roofers we compared earn search visits from essentially one page.
One was estimated at 1,574 visits a month from a single 842-word /roof-repair-plano/ page. Google’s starter guide says content length alone doesn’t matter for ranking, so match each page to its search before adding words.
For four of the nine, 67% to 91% of estimated search visits land on the homepage their Google profile links to. Put your main job and town in that page’s title and top headline, then give your other main jobs and towns pages built on real work there.
Lists of roofers held half of page one for “roofing contractor plano”
Searched logged out from the Dallas area on September 19, 2026, five of the ten page-one results for “roofing contractor plano” were pages listing roofers: Yelp’s Top 10, GAF’s contractor directory, a best-roofers post, BBB’s category page and r/plano threads. Search your own main job and town the same way, and get onto the directories and lists there that you qualify for.
Stuffing towns into your pages or your business name breaks Google’s rules
Google’s spam policies count “Blocks of text that list cities and regions that a web page is trying to rank for” as keyword stuffing. That describes a “cities we serve” paragraph naming every town around you.
The same policies define doorway abuse as pages “created to rank for specific, similar search queries,” including “substantially similar pages that are closer to search results than a clearly defined, browseable hierarchy.” Town pages that differ only in the town name fit that, as do extra city domains that send visitors on to one main site. For when a town page earns its place, see City Pages for Roofers: When a Service-Area Page Ranks and When It Is Dead Weight.
One roofing owner on r/localseo asked whether to redirect a domain like roofreplacement[city].com or build a small site on it, because Keyword Planner showed about 1,000 searches a month for the phrase. Google’s starter guide says keywords in a domain name have “hardly any effect.” Put the phrase on a page of your main site instead.
Adding a town or service to your business name on Google breaks the profile guidelines, which say unnecessary information there “could result in the suspension of your Business Profile.” Google Search also ignores the keywords meta tag, the hidden keyword list some sites keep in their code. Delete the town list, and write each city page around jobs you’ve done in that town.
Judge a keyword report by the calls that came with it
A roofing owner on r/Roofing summed up months of retainers as “No real increase in calls, just reports,” and was weighing a firm that says it won’t charge until 30 keywords hit page one. Google’s own hiring advice says “No one can guarantee a #1 ranking on Google.”
In the Plano roofer’s Search Console, a weekly rank-tracking bot added about 500 first-place desktop appearances for “construction company plano tx” every Wednesday. By mid-September the bot accounted for 3,420 of the site’s 7,079 appearances in results, which made the query list and its average position look far better than real searches did. Read the query list line by line, since the average at the top carries the bot’s numbers too.
Another owner on r/Roofing told others to ask a vendor for real call tracking and the exact keywords it will run. Get both in writing, and judge each report by the calls you can trace to it. For the rest of that check, see How to Hire a Roofing Marketing Company Without Getting Burned.
Build your keyword list in this order
- Pair each job you want with each town you can reach, adding the wording autocomplete suggests.
- Order the list with Keyword Planner’s estimates, keeping the town phrases it leaves out.
- Put your main job and town on the homepage your profile links to, and give other main pairings their own pages.
- Delete any “cities we serve” list and any city page that only swaps the town name.
- Make roofing your primary category and keep keywords out of the business name.
- Each month, read your Search Console queries and your profile’s Searches list for work you don’t do.
To see where the map ends for one search on your list, try the free Google Maps heatmap. Pick your Google profile and a search, and in a few minutes you’ll see your rank at 49 points around your office.