"We don't put prices on our website. Every job is different."
I've heard this from contractors across every trade. HVAC, plumbing, tree service, remodeling. And I understand it — there's a real reason job pricing varies. A water heater replacement in a utility closet with easy access is different from the same job in a crawl space with corroded shut-offs.
But there's a cost to that position, and most contractors don't see it because it happens off their website.
The Search Behavior You're Missing
Every day, people in your service area search for things like:
- "how much does HVAC replacement cost near me"
- "tree removal cost [city]"
- "bathroom remodel cost estimate"
- "how much to replace water heater"
These are not casual, top-of-funnel searches. These are people who already know they need the service. They're researching before they call. They're ready to buy — they just want to know if they can afford it before picking up the phone.
The page that answers that question earns the click. If your website doesn't have that page, someone else's does.
This is one of the highest-converting search categories for local service businesses. And most contractor websites leave it completely unaddressed.
The Two Approaches That Work
For standardized services: Put the price.
If you offer flat-rate drain cleaning, a fixed HVAC tune-up, a defined service package with clear scope — publish it. "Drain camera inspection: $149. Drain cleaning (single drain): $189. Drain cleaning + camera: $279." This kind of page ranks, converts, and eliminates the quote-me-first friction that kills conversions on mobile.
For variable-price services: Publish the range and the factors.
For a custom deck build, a full bathroom remodel, a complex tree removal — you can't name a single price. But you can write a page called "How Much Does a Bathroom Remodel Cost in [City]?" that answers the question honestly:
- Basic update (vanity, fixtures, tile): $8,000–$14,000
- Mid-range (layout same, everything new): $15,000–$28,000
- Full gut with layout change: $30,000–$60,000+
Then explain what moves the number: tile selection, plumbing changes, square footage, structural issues, permits.
This page ranks for "bathroom remodel cost [city]." It attracts people who are budgeting for the project, not just dreaming about it. And it pre-qualifies leads before they pick up the phone — so the first call isn't "how much do you charge?" It's "we have $20,000 set aside for a bathroom, when can you come take a look?"
What to Do With the "Every Job Is Different" Reality
The honest version of "every job is different" is that the price varies based on real factors — not that you don't know your own pricing.
If you've done 200 roof replacements, you know:
- A standard 1,500 sq ft asphalt shingle replacement runs $8,500–$14,000
- What adds cost: steep pitch, multiple layers to tear off, rotted decking, chimney flashing
- What reduces it: simple layout, good existing decking, no permits required in your county
Put that on a page. Call it "Roof Replacement Cost in [City] — Honest Pricing" and explain exactly what you just read above. That page answers the question. It shows up in search. It sends you the leads who are actually ready to proceed.
The Trust Argument
There's a second reason to publish pricing information that has nothing to do with SEO.
The contractor industry has a trust problem. Not because contractors are untrustworthy — but because customers have been burned by hidden fees, quote bait-and-switches, and scope creep that didn't get communicated until the invoice.
A pricing page is a trust signal. It says: we know what we charge, we're not hiding it, and here's what you get for that price. That's rare enough in the trades that it differentiates you.
The customers who read your pricing page and call you are the customers you want. They came in knowing the range. They called anyway. They've already self-selected as people who can afford you and value what you do.
The customers who see your price and go find someone cheaper weren't your customers. You would've found out on the call anyway, after spending 20 minutes on an estimate they never booked.
One Page to Start With
Pick your most common job. The one your crew does three times a week. The one where you can quote a realistic price range in 30 seconds.
Write a page about it. "How Much Does [Service] Cost in [City]?" Give the range. Explain the factors. Add one photo of that job done well. End with a CTA to get a specific estimate.
That's it. One page. 400 words.
If the audit below shows you're missing keyword traffic for pricing searches, this is the fastest way to start capturing it.
Free audit that shows the keyword gaps between you and the top competitor in your market →
— Murph, VibeTokens
