Ranking first for a roofing term in your city is not one project. It is three overlapping contests — the ads at the top, the map pack in the middle, and the organic results underneath — and each is won differently.
Start With the Contest You Can Actually Win
Most contractors chase the broad city-wide term first, because it is the one they can see. It is also the one with the most competition and the least buying intent. A homeowner searching “roofing company Dallas” is frequently researching. A homeowner searching “roof leak repair Plano” is calling someone this afternoon.
Start with the suburb and service combinations. They are lower volume, dramatically easier to rank, and they convert several times better.
Build the Page Before You Build the Links
A suburb page needs a genuine reason to exist. Completed projects in that suburb, the roof types common there, the local weather patterns that cause failures, and photographs of your crew actually working there. A template with the suburb name swapped in will get filtered out, and Google has become considerably better at spotting it.
Then the Map Pack
Roughly 60% of roofing enquiries come from the three businesses shown in the map. Getting there is a function of proximity, prominence and relevance. You cannot change your distance from the searcher, so everything else — reviews, citations, local links, profile completeness — is where the effort goes.
Give It Time
Expect measurable movement in 30 to 60 days, meaningful ranking gains between months two and four, and durable top-three positions somewhere between 90 and 180 days. In Houston, Dallas or Phoenix, plan for the longer end.