Short answer: Follow the WHAT-versus-WHERE rule: service pages answer what you do, location pages answer where you do it — never mix them. Give each service page a complete anatomy that ranks and books jobs, put your pricing on the page, point your Google Business Profile at the right page, and tie everything together with deliberate internal linking.
The most common contractor website has a "Services" page that lists twelve things in a bullet list and a homepage that says "welcome." That structure tells Google nothing and converts nobody. This post answers the two questions that actually matter: first, how your service pages should connect to each other and to your service area (the architecture), and second, what goes on each page so it ranks and books jobs (the anatomy).
Everything here is written for service-area trades, plumbers, HVAC shops, roofers, electricians, where customers do not come to you and every page has to prove where you work and what you do.
A service page answers WHAT you do. A location page answers WHERE you do it. Most contractor sites fail because they confuse the two, building "drain cleaning in Springfield," "drain cleaning in Riverside," and "drain cleaning in Oakdale" as twelve near-identical pages with swapped city names. Google reads that as one page copied eleven times, and it ranks none of them well.
The structure that works:
The split test for whether a service earns its own page: does it have distinct intent, distinct pricing, and a distinct crew or timeline? "Toilet repair," "faucet repair," and "disposal repair" can share a general plumbing-repairs page. "Sewer line replacement" has its own pricing, its own permits, its own week-long timeline, and it gets its own page. When in doubt, one strong page beats three thin ones.
Keep the URL structure clean and shallow. Search Engine Land's guide to location-specific sites recommends folder patterns like /service-area/city-name/service-name for multi-service companies operating across many towns, and warns that pages buried five levels deep struggle to get crawled. For most single-location trades, a simple /services/ hub with one level of service pages is all the depth you need.
The right number of service pages for most trades: one per core service you actually sell. Every page needs unique content, real photos, and genuine proof, so depth wins over count.
Architecture decides which pages exist. Anatomy decides whether each page ranks and converts. Every service page should carry these twelve elements:
Most contractor pages hide pricing behind "call for a quote." That is a conversion leak. The first question every homeowner has is what it costs, and the page that answers it wins the call over the page that does not. You do not need exact prices, you need an honest range: "$150 to $400 for most drain cleanings, depending on access and severity." Then add what moves the number up or down, so the range stays credible: after-hours visits, permit fees, the difference between a repair and a replacement. A page with a range out-converts a page with no price at all, every time.
Your Google Business Profile has a website link and, for many trades, an appointment or booking link. Point them deliberately:
Whatever the link points at, that page must be your best page: fast, complete, and conversion-ready. And the NAP on it must match the profile exactly. The profile-to-website connection is one of the first things our profile optimization checklist verifies, and it is one of the most commonly broken.
Pages do not rank in isolation; they rank as a structure. The linking pattern for a trades site:
When you consolidate or retire a page, update the links that pointed at it. A link to a redirected page is a vote for a page that no longer exists.
Zero coverage of this exists elsewhere, and it is wide open. When an AI assistant recommends a contractor, it extracts from pages structured the way assistants read:
The monthly version, testing which of your pages AI assistants actually cite for real homeowner questions, is our AEO and LLM optimization service. The structure above is the DIY foundation it builds on.
One per core service you actually sell, which for most trades is five to ten. A plumber might have drain cleaning, water heater installation, sewer line replacement, leak detection, and emergency plumbing. More pages is not better: every page needs unique content, real photos, and genuine proof, and thin extra pages dilute the strong ones.
No. Create city pages only where you have real local proof: completed jobs, customer reviews from that town, photos, and something genuinely local to say. Every other town stays on the service page and the service-area hub. A dozen city pages with swapped names read as thin content to Google, and they cannibalize each other.
Long enough to answer the customer's real questions, which usually lands between 800 and 1,500 words for trades service pages. Length is not the goal; completeness is. A page that covers what is included, pricing, timeline, proof, and FAQs at 900 words beats a 2,000-word page that says nothing twice. Answer first, expand where it helps.
Yes, as ranges, and this is one of the highest-converting additions a trades page can make. A page with a realistic range, like '$150 to $400 for most drain cleanings,' out-converts a page with no price at all, because it answers the first question every homeowner has. Add what moves the price up or down so the range stays honest.
Yes, and it is cheap to add. LocalBusiness schema with your name, phone, hours, area served, and services gives both Google and AI assistants machine-readable facts about your business. Service schema can describe individual offerings, and FAQ schema makes your questions eligible for rich results. Validate everything with Google's Rich Results Test before publishing.
Our free audit scores every page against your money keywords, finds the thin and cannibalized ones, and tells you exactly what to consolidate, rewrite, or rebuild, plus whether AI assistants name you or your competitor.
Delivered within 48 hours. Yours to keep.