Most contractor websites are not terrible. That is almost the whole problem. They load, they have a phone number somewhere, they list the services, and they sit there quietly while a competitor with a marginally better on-page SEO checklist captures every lead in the zip code. The gap between a site that ranks and one that does not is rarely dramatic. It is usually a dozen small things done consistently well — or consistently ignored.
We have audited a lot of contractor websites over the years. Roofing companies, plumbers, HVAC shops, general contractors. The same patterns repeat so reliably it is almost boring to describe. Title tags that say “Home.” Service pages with three sentences on them. No city mentioned anywhere on the page except buried in a footer address. Photos with filenames like IMG_4892.jpg. None of these are catastrophic on their own. Together, they are why you are on page four.
So let’s get into the actual work.
Your Title Tags Are Probably Doing Nothing
The title tag is the single most weighted on-page signal Google reads. Not the most glamorous topic, but here we are. If your homepage title says the name of your company and nothing else, you are leaving an enormous amount of organic visibility on the table. Google reads that title, matches it against search queries, and decides whether your page deserves to show up. “Smith Roofing LLC” tells Google almost nothing useful. “Roof Replacement and Repair in Duluth, MN” tells Google exactly what someone is looking for when they type into the search bar at 9pm with a water stain spreading across their ceiling.
Every page on your site should have a unique title tag. Every single one. The format that tends to work well for contractors is primary keyword plus city plus brand name, kept under 60 characters so it does not get cut off in search results. Yes, 60 characters. Count them. “Furnace Repair in Superior, WI | Smith Heating” is about right. “Smith Heating and Cooling: HVAC Services, Furnace Repair, Air Conditioning Installation, Serving the Twin Ports Area Since 1987” is a mess that Google will truncate and partially ignore.
Meta descriptions are a different story. They do not directly affect rankings, but they affect whether anyone clicks. Write them like a human being trying to earn a click, not like someone stuffing keywords into a sentence. Tell the reader what they get when they land on your page. Keep it honest and specific.
The On-Page SEO Checklist Most People Skip Entirely
Header tags. H1, H2, H3. A shocking number of contractor sites either have no H1 at all, have three H1s competing with each other, or have an H1 that says something like “Welcome to Our Website.” Your H1 is where you plant your flag for that page. One per page. Make it say what the page is about, with the location when it is relevant. “Emergency Plumber in Fargo, ND” is a better H1 for your emergency plumbing service page than “We’re Here When You Need Us.”
Image alt text is tedious to write and almost universally skipped by contractors who built their own sites or used a cheap template. Google cannot see your photos. It reads the alt text to understand what the image contains. That is also how visually impaired users experience your site through screen readers, which matters beyond just SEO. “A completed roof replacement on a residential home in Duluth, Minnesota” does more work than “photo1” or nothing at all. You do not need to keyword-stuff alt text. Just describe what is actually in the image, and include a location when it makes sense.
Page speed is one people know about but rarely fix. Google’s own research puts mobile abandonment at 53% for pages that take more than three seconds to load. Contractors with sites full of uncompressed hero images and a dozen un-optimized plugins are losing nearly half their mobile visitors before a single word gets read. Run your site through Google PageSpeed Insights. Look at what it flags. The biggest offenders are almost always image file sizes and render-blocking scripts. These are fixable problems, not theoretical ones.
Internal linking deserves more attention than it gets. If your service pages do not link to each other, you are making Google work harder than it needs to, and you are keeping visitors in silos instead of guiding them through your site. A page about water heater installation should probably link to your general plumbing services page. Your roof repair page should link to your roof replacement page. Connect the dots. This is part of a solid local SEO strategy for contractors that most people treat as an afterthought.
Service Pages Need More Than a Paragraph
Here is where most contractor sites genuinely fall apart. The service page has a headline, two or three vague sentences about how experienced and professional the company is, and a contact form. That is not a page. That is a placeholder. Google wants to understand what a page is about in depth. A competitor who writes a full, honest, specific page about roof inspections — what they look for, how long it takes, what you get at the end of one, what it costs in the region — is going to outrank the page that says “We offer professional roof inspections. Call us today.”
You do not need a 3,000-word essay on every service. But a real page should address what the service is, who it is for, what the process looks like, what the typical outcome is, and what someone should do next. Answer the questions your customers actually ask you on the phone. If the first thing every single customer asks when they call is “how long does installation take,” your service page should answer that question. That is content that earns trust and earns rankings.
Thin content is a real ranking problem. BrightLocal’s research consistently shows that contractor businesses with more robust, location-specific pages rank higher in local search results than those with generic content lifted from templates. This is not a mystery. Google rewards pages that genuinely inform the person doing the searching.
Local Signals Have to Be Woven In, Not Bolted On
A lot of contractors add their city to the footer and call it local SEO. That is not how it works. Your location needs to appear naturally throughout the page content — in the body text, in headers where it makes sense, in image alt text, in your URL slugs when possible. “We serve homeowners across the Twin Ports region, including Duluth, Superior, and Cloquet” is something that should appear on your homepage, not just in your contact page footer.
If you serve multiple cities, those cities deserve their own landing pages. Not duplicate pages with one word swapped out — actual pages with specific, useful content about serving that area. Do you know anything specific about why customers in that city call you? Weather patterns that drive demand? Common home styles that affect the work? Put that in the page. It will read as genuine because it is genuine.
Your Google Business Profile is part of this picture too. It functions almost as a separate on-page element in local search. Keeping it optimized, complete, and current — accurate hours, real photos, categories that match your actual services — all feeds into how Google positions you in local results. We have written about Google Business Profile optimization in more depth if you want to go further into that side of things.
Reviews Are an SEO Signal, Not Just a Sales Tool
You might not think of reviews as part of an on-page SEO checklist. They are not, strictly speaking, on-page. But they are part of what Google evaluates when deciding how much authority and trust to assign your business in local search. A competitor with 200 recent reviews and consistent 4.8-star ratings is going to be treated differently by Google than a business with 11 reviews from three years ago. Volume matters. Recency matters. The keywords in review text actually get indexed.
This is not a passive thing. Getting great reviews consistently requires a process. If you are not sure what that process looks like, we have written specifically about how to get more 5-star reviews for your contracting business — the practical version, not the “just ask your customers” non-advice you usually find on this topic.
A Few Things Worth Saying Even If They Feel Obvious
Your site needs to work on a phone. Not just technically load on a phone — actually work. Buttons that are big enough to tap. A phone number that dials when you click it. No pop-ups that are impossible to close on a small screen. Mobile search is not some emerging trend contractors can get to later. It is where most of your customers are finding you right now.
HTTPS matters. If your site still loads over HTTP, fix it today. It is a trust signal for both Google and every visitor who lands on your site. Most hosting platforms make this a one-click switch at this point. There is no reason not to do it.
Schema markup is one most contractors have never touched. It is structured data code you add to your pages that helps Google understand exactly what kind of business you are, your service area, your hours, your reviews. It does not show up visually on the page. Its job is to communicate clearly with search engines. For local service businesses, LocalBusiness schema and Service schema are worth implementing. It is a small technical lift that pays off in how your listing can appear in search results, including rich snippets.
URL structure is worth a look too. If your pages have URLs full of random numbers or session IDs, that is worth cleaning up. Clean, readable URLs like yoursite.com/roof-replacement-duluth-mn/ tell both Google and human visitors what they are about to see before they even click.
None of This Works as a One-Time Fix
The on-page SEO checklist is not a thing you run through once and then file away. Search is competitive, and it moves. A competitor who was ignoring SEO two years ago might have hired someone who knows what they are doing. Google adjusts how it weighs certain signals. Your content gets stale. Pages you optimized last year might need fresh information, new internal links, or revised title tags as your services evolve.
The sites that rank consistently are the ones that treat SEO as ongoing maintenance, not a launch task. It does not require constant heroic effort. It requires regular, honest attention to whether your site is doing its job: telling Google what you do, where you do it, and why someone should trust you enough to call.
At Lost & Found Marketing, we work with contractors who are tired of watching their competitors show up in searches they should be winning. Most of what needs to change is not complicated. It is just not done yet.
Great SEO isn’t magic, and anyone who promises overnight rankings is selling something. What works is steady, data-backed effort: a technically sound website, content that answers real questions, and a local presence Google trusts. If you’re ready for the honest version of SEO, let’s talk.