The service page
One job. One page. One phone call.
A service page is the page about the one thing you do. Water heater repair. Panel upgrades. Drain cleaning. Somebody has that exact problem right now, and this page is where they decide whether to call you or the next company on the list.
This playbook is the whole build. The order of the page. What goes in every block. Where the pictures go and what they have to show. How the copy should sound. Where the phone number belongs. The code the page carries. And the seven things we tell people to stop doing.
Two sister pages cover the parts this one does not repeat. The service area playbook covers town pages, one office and many towns. The hub and spoke playbook covers how the pages link to each other. This page is about one page.
Nothing on this page is a claim we have not applied to this page. We grade our own work at the bottom, in public, including the parts that failed.
Page type
Which page is this? Two rules settle it.
People mix up two page types constantly, and building the wrong one wastes months. Here are the 2 rules.
The rule
A service page lives at the root and its web address carries no town.
/water-heater-repair/, never /water-heater-repair-austin/.
If the address carries a town, it is a town page, it belongs in a folder like
/service-area/austin/water-heater-repair/, and the
service area playbook governs it,
not this one.
Why it matters that much. A service page answers can you fix this? A town page answers are you actually here? Those are different questions from different people, and a page that tries to answer both answers neither.
There is a second reason, and it is the expensive one. When you build 7 pages that are the same job with a different town pasted in, and nothing links to them, you have built what Google calls a doorway. Their spam policy names it directly.
Doorways are sites or pages created to rank for specific, similar search queries. They lead users to intermediate pages that are not as useful as the final destination. Google Search spam policies, read September 3, 2026 · 1 source
The defense is not writing better copies. The defense is a real structure where each page has its own job.
Intent
The buying question is "can you fix this?"
Somebody standing in a cold shower is not shopping for a plumbing company. They are trying to make one thing stop. They are not reading about your 30 years in business until they believe you can fix the thing.
So every block on the page answers one of 4 questions, or it gets cut.
- Do you fix this exact thing?
- Do you know why it happens?
- What happens if I wait?
- What do I do next?
Read your current service page and mark which question each paragraph answers. The paragraphs that answer none of them are why the page is long and still not working.
Architecture
The order of the page, and what each block is for.
The order is fixed. 9 blocks. Writers do not get to reorder it, because the order follows how a worried person actually reads.
| Block | Its one job |
|---|---|
| 1 Hero | Name the problem in their words. Give the phone. |
| 2 Symptoms | What it is doing right now, so they recognize themselves. |
| 3 Mechanism | Why it happens here. This is where you prove you know the trade. |
| 4 The fix | What you actually do. Scannable, not a paragraph. |
| 5 Proof | Warranty, license, years, real review substance. |
| 6 Process | What happens between the call and the problem being gone. |
| 7 Cost of waiting | What it turns into if they close the tab. |
| 8 FAQ | The questions your phone already gets. |
| 9 Final call | Ask for the call. |
The anti sameness rule
The order is fixed. What goes in it is not. If you fill these 9 blocks the same way for every company, you have built 50 pages that are the same page. Search engines and AI assistants both discount that, and a homeowner cannot tell you apart from the next tab.
Every block has to carry at least 1 fact only this business has. That is the whole difference between a page that ranks and a page that merely exists.
The hero
The first screen has to do three things.
You get about 3 seconds. In that space the page has to say what it is, prove it is local, and give them a way to call.
- The headline names the service and the city. "Water Heater Repair in Austin, TX." Not "Welcome" and not "Quality You Can Trust."
- One sentence that answers the question. Say you fix it and roughly how fast.
- A phone number they can tap. Not a form. Not a chat bubble. The number.
The title tag and the headline are not the same string
This one gets missed on almost every page we audit. The title tag is what competes in the results list against 9 other titles. The headline is what confirms they landed in the right place. Those are two different jobs, and one string cannot do both.
| Write this | |
|---|---|
| Title tag | Water Heater Repair in Austin | Same Day | Redbud Plumbing |
| Headline | Water Heater Repair in Austin, TX |
The title adds the thing that makes somebody click, and it ends with the company name. The headline stays clean. Keep the title between 50 and 60 characters or the end gets cut off.
Key takeaways
Five bullets at the top, and why they are not decoration.
Under the hero, put a short box of 3 to 5 bullets. Most people will read that box and nothing else until they decide to stay.
What belongs in it
- The answer to "can you fix it" in 1 line.
- The one case where you would tell them to replace instead of repair.
- The local reason this keeps happening.
- How pricing works, without a price.
- What counts as an emergency to you.
What does not belong in it: your founding year, your mission, or the phrase "we pride ourselves." Those are about you. The box is about them.
This box is also the block most likely to get read out loud by a voice assistant, because it is short, it is near the top, and it is already in list form.
The mechanism
Say why it happens here, or a machine will paraphrase you.
The mechanism block explains why the problem happens. It is the block that separates a real service page from a template, and it is worth more than everything else on the page.
Here is the part most people miss. When an AI assistant answers a question, it either quotes a source or it paraphrases one. A quote usually carries the business name. A paraphrase does not.
Generic text gets paraphrased, because the assistant can safely reword it. Text with a specific local detail in it gets quoted, because rewording it risks getting the detail wrong. So the local detail is what earns you the mention.
Generic. Gets paraphrased.
"Hard water can cause sediment buildup in water heaters, which reduces efficiency and shortens the life of the unit."
Local. Gets quoted.
"Central Texas sits on limestone, so a tank rated for 12 years starts failing here at 7. Houses on well water east of town scale up faster still."
Both sentences are true. Only one of them could have been written by this company.
Where that detail comes from: the service facts interview
Nobody can invent these at a desk. They come out of a technician in about 15 minutes. Ask these 8 questions and write the answers down verbatim.
- What breaks most often on this job, in this area?
- What does it cost somebody to wait a month?
- What do you find in the crawlspace here that you do not find elsewhere?
- What does the failure look like at three in the morning?
- How long does the visit really take, not the brochure number?
- What does the customer always ask you on site?
- What do you refuse to do, and why?
- What do you carry on the van specifically for this job?
Every answer has to fail the swap test. Rewrite it for a competitor in the next town. If it is still true, it was never a fact about you, and it does not go on the page.
We should be straight about something here. We built this interview for town pages first, and the version for service pages is new. It is the piece most companies are missing, including companies with otherwise good pages.
Proof, process, waiting
The three blocks everybody writes badly.
Blocks 5, 6 and 7 are where most service pages turn into brochure copy. They are also the blocks that answer the questions a nervous person is actually holding.
Proof means proof of this job, not of the company
A proof block that says "family owned since 1998" is company proof. It appears on every page of the site and it says nothing about whether you can fix a water heater.
Service proof is different. It is the warranty on this repair, the license that covers this work, and what your reviews say about this specific job. Pull the sentence out of a real review that mentions the actual service. That beats a star rating, because a star rating is a number and a sentence is evidence.
The test: if the proof block would read exactly the same on your drain cleaning page, it is not proof, it is a footer that wandered up the page.
Process removes the fear of letting a stranger in
People are not only worried about the repair. They are worried about a stranger in the house, a mess, and a bill that grows once the work starts. The process block exists to remove those three worries in order.
- What you ask on the phone, so they know the call is short.
- Whether they get an arrival window, and what happens if you run late.
- When they find out the price, and whether it can change after that.
- What you do about the mess and the old parts.
Number the steps. It is a sequence, and a numbered list tells somebody it has an end. Keep it to 5 steps or fewer. A 9 step process reads as bureaucracy, not care.
The cost of waiting is a story, not a warning
This is the block that moves somebody from reading to calling, and almost nobody writes it. The mistake is writing a threat. "Don't wait until it's too late" is a threat and everyone ignores it.
Write what actually happens instead. A water heater that drips for a month does not flood a house. It soaks the subfloor, the baseboard, and whatever is stacked beside it in the garage. The heater is the cheap part of that repair. The flooring is not.
That is concrete, it is true, and it does the work a warning cannot. Then give them the one thing they can do right now, even if they do not call you. Tell them where the shutoff valve is. Being useful before the sale is the most persuasive thing on the page.
One caution on this block. Do not put a number on the damage unless you can stand behind it. A made up repair cost is the fastest way to lose somebody who has just had a quote from a competitor and knows what the real figure looks like.
The copy
How it should sound, and the words that get cut.
Write it the way you would say it standing in somebody's garage. That is the whole rule. Here is what it means in practice.
- Sentences average under 18 words. Ours on this page average 11.
- If a plumber on a job site cannot read it in 3 seconds, rewrite it.
- One idea per sentence. Two ideas need two sentences.
- Say the plain word. "Booked jobs," not "conversions." "Missed calls," not "lost leads."
The words that get cut
| Never | Write |
|---|---|
| conversions | booked jobs |
| lost leads | missed calls |
| industry-leading | say the actual number |
| best-in-class | cut it |
| leverage | use |
| solutions | the thing you actually do |
| we pride ourselves | cut it |
Two more rules that catch a lot of bad copy. No em dashes. They are a writing tic and they read as machine written now. Use a period. And no claim without a source. If the page says 500 jobs a year, somebody has to be able to point at where that number came from. A number nobody can trace is worse than no number, because it is the one a customer will check.
Images
Pictures that prove something, and where they go.
Aim for 5 to 7 images on the page. Fewer than 3 and the page reads as a wall of text on a phone.
The rule for what they show is short: your own work, your own trucks, your own people. A stock photo of a smiling man in clean coveralls does nothing, and most homeowners recognize it instantly.
| Where | What it shows |
|---|---|
| Near the hero | Your van or your crew. Proof a real company exists. |
| In the mechanism block | The actual failure. Sediment in a bucket, a corroded rod. |
| In the fix block | The work being done. Hands, tools, the part. |
| In proof | A real before and after from a real job. |
| Near the last call | A face. The owner or the tech who shows up. |
The two things people get wrong
Alt text describes the picture, it does not repeat the keyword. "Plumber draining sediment from a water heater tank into a bucket" is right. "water heater repair austin tx" is not, and it helps nobody using a screen reader.
The picture in the mechanism block is the one that earns its place. If you only ever get 1 real photo from a job, make it that one. It shows the thing you just spent three paragraphs explaining.
Styling
How it should look, and what not to let a designer do.
This is not a brand guide. It is the short list of layout decisions that change whether the page works on a phone at 7 in the morning.
- One column of text, about 70 characters wide. Long lines are why people stop reading on a laptop.
- Body text at 16 to 18 pixels, line height near 1.6. Smaller than that is a phone accessibility problem, not a style choice.
- Headings clearly bigger than body. If someone scrolls fast, the headings alone should tell the story.
- Separate sections with space, not lines. Horizontal rules everywhere is a tell that nobody thought about spacing.
- The fix block is a two column checklist, not paragraphs. It is the block that answers "what am I paying for," so it has to be scannable.
- Tap targets at least 44 pixels tall. That is a thumb, not a mouse.
What not to let a designer do
- A hero photo so tall the headline is below the fold on a phone.
- Light gray text on white. It fails contrast and it fails eyes over 40.
- A carousel. Nobody clicks the arrows.
- An animation that delays the phone number appearing.
- A sticky bar covering the last call to action.
Bullets
Bullets or paragraphs? The block decides.
This is not a style preference, it depends on the block. We measured 7 well written service pages recently and found 0 bullet lists in the body of any of them. Every one was paragraphs under a lot of subheadings. They were still good pages, and they were still harder to scan than they needed to be.
| Block | Shape |
|---|---|
| Takeaways box | Bullets. Always. |
| Symptoms | Short bolded lead ins, then a sentence. Half list, half prose. |
| Mechanism | Paragraphs. This is the one place prose wins, because it is an argument. |
| The fix | A checklist in two columns. |
| Process | A numbered list. It is a sequence, so number it. |
| Cost of waiting | Paragraphs. It is a story about a subfloor. |
| FAQ | Question, then a direct answer in the first sentence. |
The test: if a reader could skip your bullets and lose nothing, they were decoration. If a reader could skip your paragraph and lose nothing, it should have been bullets.
Calls to action
The phone goes in four places.
This is the one that costs the most money when it is wrong. Of the 7 pages we measured, 4 had 0 tappable phone links anywhere in the body. On emergency service pages. That is not a small miss.
Put the number in 4 places, minimum 2 of them tappable links inside the page body.
- The header. Visible before any scrolling.
- The hero. As a real button, next to the headline.
- After the fix block. They now know what you do. Ask.
- The final call block. The last thing on the page.
On a phone, add a sticky bar at the bottom with the number in it. It follows them down the page, and it is the single highest value thing on a service page for a trade where people call in a panic.
Write it like this
Every number is a real link: <a href="tel:+15125550142">. A phone number as
plain text is not clickable on a phone, and asking somebody with a flashlight in one hand to
memorize 10 digits loses the call.
Say what happens next to it. "We answer at night" beats "Contact us today" because one of them is information.
The FAQ
Questions people actually ask, and the code that counts them.
Between 3 and 6 questions. Answers between 40 and 100 words, with the answer in the first sentence.
Get the questions from the phone, not from a keyword tool. Ask whoever answers the phone what people ask before they book. Those are the real ones, and they are usually about time, mess, cost and whether they have to be home.
A question written for a keyword
"What are the benefits of professional water heater repair services in Austin?"
A question somebody actually asks
"How do I know if my tank is leaking or if it is just condensation?"
Answer the second one and you have a page a person trusts. Answer the first one and you have filler.
Be honest about what the code does for you here
Mark the FAQ up with FAQPage structured data. But know what it now buys you, because
a lot of advice on this is out of date. Google restricted FAQ rich results in
2023.
Updated the FAQ structured data documentation to state that the feature is only shown for well-known, authoritative government and health websites. Google Search Central changelog, read September 3, 2026 · 1 source
So a plumbing company will not get the expandable questions in the search result. Anyone promising you that is selling something. Keep the markup anyway. It is clean, machine readable question and answer text, which is exactly the shape an AI assistant wants to read. The rich result is gone. The value to answer engines is not.
Schema
The code the page carries.
4 blocks of structured data. This is the one section of this playbook where nearly every rule comes from published documentation rather than from us.
| Type | What it says |
|---|---|
| Service | What the service is, who provides it, and the towns it covers. |
| LocalBusiness | Who you are. Name, address, phone, hours. |
| FAQPage | The questions and answers already visible on the page. |
| BreadcrumbList | Where this page sits, home to here. |
Three rules that catch most of the mistakes we see.
- The business gets a stable id and the service points at it. Give
LocalBusinessan@idlikehttps://yoursite.com/#business, then haveService.providerreference that id. Otherwise every page invents a new company. - The markup can only say what the page says. Structured data describing content that is not visible is a 1 documented violation, and it is also just lying in a format machines read literally.
- Every value has to be true. A wrong phone number in schema is the wrong number an AI assistant will read out loud. Schema is the one place an error gets repeated perfectly.
The reference pages are worth reading rather than trusting a plugin: local business, breadcrumbs, and Service on schema.org.
Internal links
Links go sideways and out, never in a ring.
At least 3 links from the body to your own pages. The direction matters more than the count.
- Sideways, to 2 or 3 other services the same customer plausibly needs next. Water heater repair links to tankless installation and to water softeners.
- Out, to the town page for the city this page names, if you have one.
- Onward, to booking or contact.
What fails: 3 links that all go to the contact page. That satisfies a checklist and helps nobody. The test is whether a reader who finishes this page still holding a problem can get where they need to go in one click.
Never link to a page that does not exist yet. A broken internal link is worse than no link.
Length
How long, and why length is not the lever.
Target 1,200 to 2,500 words. Most good service pages land in the middle.
Now the honest part, because length advice is where most SEO writing goes wrong. We looked at 626 pages across 10 client sites joined to Search Console. Service pages under 600 words sat at a median position of 11 with a median of 1 click in 90 days. So thin pages really do lose.
But pages over 600 words sat deeper on average, not higher. Length alone did not rank anything. The range above is room to be specific, not a lever to pull. A 2,000 word page that says nothing only wastes more of somebody's morning.
Write until the 4 buying questions are answered with facts only you have. Then stop. If that takes 1,300 words, you are done.
What to fix first
The stop doing list.
These are the 7 things we find most often. We found them by measuring our own client pages against our own rules, and they failed. That is where this list comes from, not from a competitor's site.
- No tappable phone number in the body. 4 of 7 pages we measured. Fix first.
- An FAQ on the page with no FAQ markup. 6 of 7 rendered questions and told machines nothing.
- No breadcrumb markup. 0 of 7 had it.
- The title tag and the headline are the same string. All 7. One of the two jobs is not being done.
- No takeaways box. The block most likely to be read, missing entirely.
- Zero bullets in the body. Everything as prose, which makes the page unscannable on a phone.
- A town in a service page address. That makes it a town page, and it belongs in a different structure.
Run this on your own page in ten minutes
| Check | Pass |
|---|---|
Tappable tel: links in the body | 2 or more |
| FAQ visible on the page has matching markup | yes |
| Breadcrumb markup present | yes |
| Title tag differs from the headline | yes |
| Title tag length | 50 to 60 |
| Takeaways box near the top | 3 to 5 bullets |
| Words in the body | 1,200 to 2,500 |
| Images that are your own work | 5 to 7 |
| Internal links, and not all to contact | 3 or more |
| A local fact that fails the swap test | every block |
Score under 7 out of 10 and the page is leaving calls on the table. The first 4 rows are the ones worth fixing this week.
Two readers
Two ways in. One per reader.
If you build the pages
Taking one service from nothing to published. Each step names the thing it produces.
- The facts file. Run the 8 question interview with a technician. Write the answers verbatim. If nobody will sit down this week, do not start writing. This is the step everyone skips and it is the step that decides the outcome.
- The address. Root level, no town in it. Check the town page structure separately.
- The title and the headline, written as two different strings.
- The nine blocks in order, each carrying at least one fact from the facts file. Mark each fact as used, so the next page in the same trade cannot reuse it.
- The photos. Your own jobs. Alt text that describes the picture.
- The phone in four places, at least two of them tappable in the body.
- The four schema blocks, with the business id shared across the site.
- The scorecard above. Run it before publish, not after.
If you own the trucks
Three questions for whoever runs your pages. You do not need to know how any of this works to ask them.
- "Pull up our water heater page on your phone. How many taps to call us?" If the answer is more than one, that is the whole conversation.
- "Show me one sentence on this page that our competitor could not have written." If they scroll for a while, the page is a template.
- "Who did you talk to on my crew before you wrote this?" If the answer is nobody, the page cannot contain anything only we know.
You do not need to audit the code. Those three questions find most of what is wrong.
Sources
What we do not know yet.
Every number on this page carries a small mark. A red mark means it comes from a published source we link. A gray mark means it is our own standard or our own measurement.
Most of the marks here are gray, and we would rather say that than dress opinion up as research. There is very little published research about service pages for local trades specifically. What exists is mostly about big publishers, and it does not transfer.
The honest part
The 7 pages behind the stop doing list were published 6 days before we measured them. That is far too new to say whether they rank or whether the phone rang. We are not claiming a result, and anybody showing you a case study built on 6 days of data is not being straight with you.
We will read those pages again on November 26, 2026 and publish what actually happened, including if it contradicts this page.
How this page is built to age
We split the rules into 2 kinds on purpose. Some are machine facts: the markup exists or it does not, the phone link is tappable or it is not. Those do not go stale. The rest are house taste, like a word count range or a heading limit, and those are dated so you know what to question later.
When we raised our own heading ceiling from 8 to 14 in September 2026, it was because our own best pages broke the old number and read fine. The number was ours, it was never sourced, and it was wrong. Assume the same about any other unsourced number here, including ours.