When a homeowner searches "roof repair near me" with water coming through the ceiling, the three businesses in the map pack get the call. Everyone below the map is invisible. This is the playbook for getting into those three spots and staying there, in the order that actually moves the needle.
One principle explains every step below: Google ranks what it can verify. Weekly photos are verifiable activity. Reviews are verifiable third-party proof. A consistent name, address, and phone is verifiable identity. City pages are verifiable presence. The playbook is not a bag of tricks, it is maximizing the signals Google can check.
Set up the profile like you mean it
Primary category: Roofing contractor. Add secondary categories only for services you genuinely sell. If you work from a shop, show the address; if you work from home, set a service-area business and list the cities you cover. Fill every field: hours, phone, services, description. Then the part most roofers skip: photos of your crews on real roofs, uploaded weekly. Google reads activity, and homeowners read proof.
Review velocity beats review count
A profile with ten reviews from the last month outranks one with a hundred from two years ago. Make the ask a step in the job, not an afterthought: at the final walkthrough, the crew lead texts the review link before leaving the driveway. Respond to every review within a day, including the angry ones. The response is read by the next hundred homeowners deciding whether to call you.
Citations: the same name, address, and phone everywhere
Google cross-references your business details across the web. "ABC Roofing LLC" in one directory and "ABC Roofing and Construction" in another reads as two different businesses splitting your credibility. Pick one exact name, address, and phone format and enforce it on every directory, social profile, and supplier listing. Fix the big ones first: Google, Bing Places, Yelp, Angi, BBB, and your state contractor board listing.
City pages that support the pack
Your map ranking in a city strengthens when your site has a real page about your work in that city: completed jobs with photos, the local permit process, materials that survive the local weather. A template with the city name swapped is a doorway page and gets filtered. Build fewer, prove more. The full site playbook is in SEO for Roofers in 2026.
Fight the spam
Roofing map results carry fake listings: keyword-stuffed names like "Best Roof Repair Dallas", lead-gen fronts with no crew, and storm chasers with virtual offices. Google removes these when reported, and every one removed is a spot you can take. Use "Suggest an edit" on keyword-stuffed names and the Business Redressal form for fake listings. Check monthly, it compounds. The chaser problem peaks after weather events; the full storm-week defense is in Storm Season SEO for Roofers.
Track calls or you are guessing
Put a tracking number on the profile and UTM tags on the website link. Without it, map pack calls blend into "word of mouth" and you cannot tell whether the work is paying. With it, you know exactly how many jobs came from the pack this month, which is the only number that matters when you review the spend.