Skip to content
CodeHunterz

Contractors / SEO

SEO for contractors

Contractor SEO starts with a plain question: what trade are you, and what jobs do you want the phone to ring for. A roofer, a remodeler, and a general contractor show up for different searches, and the site should not pretend to be all three unless the crews do all three. This page covers categories, project proof, storm content, and service area. It does not promise rankings.

Contractor in a hard hat framing a wooden house. SEO for contractors

Pick the trade before the keywords

Google Business Profile categories are not a place to collect every label that might match a search. The primary category should be the core of the business. A company that replaces roofs for a living should not lead with general contractor because the phrase sounds broader. A design-build remodeler is not a production home builder. A general contractor who subs out roofing and does not self-perform it should not build the site around roof-repair queries.

Secondary categories are for real additional work. Gutters, siding, and windows can be honest extras for a roofer who schedules them with their own crews or a named sub they manage. They are noise if they are listed only to widen the net. The website should use the same boundaries. If you decline jobs under a certain size, or you do not do insurance work, say so. The calls you refuse are not a marketing win.

License and insurance belong on the site when you hold them. Put the license number where your state expects the public to check it. Do not imply a classification you do not have. An example of a bad line, labelled as wording to avoid: "Licensed for any trade in any city." If that sentence is not true, it does not belong in a title, a profile description, or a footer.

  • Primary profile category matches the core trade
  • Secondary categories only for work you schedule
  • Roofing, remodeling, and general contracting kept distinct
  • License details that match what you hold
  • Job types you refuse stated in plain language

Project photos tied to real places

Photos are the proof. Use pictures from jobs you did, with the property owner's permission, and caption them with the city, the type of work, and the year. A kitchen in one house and a finished photo from another house is not a before and after. A stock crew on a stock roof is not your portfolio. The homeowner who hired you can tell, and so can the next one.

Describe the project in specifics: the scope, the rough duration, and anything a neighbor would recognize as typical of that housing, such as a ranch reroof or a bungalow addition. Name the city the job was actually in. Do not paste the same photo on five city pages with five captions. If a client does not want the street identified, a city-level caption is enough, and you still should not invent a different city because that city has more search traffic.

Alt text should describe the photo. A sentence such as "roof replacement on a one-story house" plus the real city is useful. A string of town names is not. Manufacturer photos can illustrate a product if they are clearly product shots and you have the right to use them. They are not a local project, and the caption should not pretend they are.

Storm content and the service area

After a storm, people search because they are worried. The useful page tells them how to photograph damage safely from the ground, what a temporary dry-in is, how scheduling works when many roofs are in the queue, and that you inspect before you talk about an insurance scope. It does not say their roof is failing tonight. It does not use a countdown. It does not claim you are the only crew left in the county. Fear bait produces calls you cannot answer this week, and it reads as a tactic.

Be careful with insurance language. You can explain that homeowners often call their carrier and that you can document what you see on an inspection. You should not promise that a claim will be approved, or that you control the carrier, unless that is a true description of a service you are allowed to offer. An example, not a client result: a roofing company publishes a storm page that lists what to photograph, states a realistic callback window during a busy week, and removes a banner that said the insurance company would pay. The page gets more specific. This example does not claim that calmer copy ranks higher.

The service area is the set of places you will put on the schedule. Name the counties or the drive-time limit. If you will not cross a bridge or go more than a set drive, write that down. One service-area page can list the cities. Give a city its own URL only when you have done work there and can say something that is not the city name: housing you see often, a permit office you have dealt with, or a crew based there. Otherwise you are publishing doorway pages.

What contractor SEO tends to cost

Local SEO retainers are often discussed around $750 to $5,000 per month, depending on competition and content. A specialist with one trade and one metro is often discussed lower in that range than a general contractor who needs distinct pages for remodeling, additions, and a few self-performed trades, plus a project gallery with real locations. Storm-prone regions do not change the standard for the copy. They do add a page that has to be updated when your capacity changes.

Photography and write-ups of real jobs take time. So does cleaning up a profile that claimed five trades the company no longer sells. That maintenance is the work inside the range. A vendor that sells a package of fifty city pages is selling something else, and it is not the work described here.

That range is not a CodeHunterz rate card. It is not a quote. It is not a ranking guarantee. It is not a promise of a page one ranking or a map pack position. We quote after we see the trade list, the profile, the photos you have rights to, and the area you cover.

An example of an honest service area

This is an example, not a measured result and not a client.

A remodeling company works in two counties and declines jobs beyond an hour's drive. They replace a roof when it is part of a whole-house project, and they do not run a storm-response roofing crew. The profile primary category stays with remodeling, not roofing. The site has project pages for kitchens, baths, and additions, each with photos from those counties and the year of the job. Roofing is explained as part of a larger remodel, not as an emergency tarp service.

One service-area page names the two counties and the drive limit. They do not publish a page for every town inside the hour. A storm page they drafted does not go up, because it would have advertised a crew they do not have. The site is narrower than the owner first asked for. It matches the jobs they can schedule.

What do owners in this industry ask?

Q01Which Business Profile category should a contractor use?

The primary category should match the work you most want to be hired for and actually perform. Roofing contractor, remodeler, and general contractor are not interchangeable labels. Add secondary categories only for trades you schedule. The website should draw the same line so the calls match the crews.

Q02How should storm-damage pages be written?

Explain how to document damage, what a temporary dry-in is, and how scheduling works when demand spikes. Skip scare language, fake scarcity, and any promise that an insurance claim will be paid. If you do not offer emergency storm work, do not publish the page. Update the callback expectation when your week is full.

Q03Can contractors use supplier photos as project proof?

Use job photos you took, with the owner's permission, captioned with the real city and year. Supplier photos that are clearly product shots can illustrate a material, and they should be labeled as product images. They are not a local project, and they should not be captioned as one.

Q04What does contractor SEO cost?

Local SEO retainers are often discussed around $750 to $5,000 per month in the US, depending on competition and content. That is not a CodeHunterz rate card and not a ranking guarantee. A wider set of real trades and a documented project gallery move the conversation up inside the range.

Q05Does every city in the service area need its own page?

No. List the real service area on one page, including drive limits you intend to keep. Add a city page when you have work there and something specific to say. Repeating the same pitch with a new city name is a doorway pattern, not a service area.

Free auditBook a free call