SEO for Plumbers: The Queries That Book Jobs

Two keywords in this market look like the same question and are not. On 11 November 2026, measured through Ahrefs for the United States, seo for plumbers ran 2,117 searches a month at difficulty 5. plumber seo ran 1,387 at difficulty 4. Almost the same words, almost the same volume.
The difference is in the parent topic. Ahrefs gives seo for plumbers its own parent, meaning the phrase owns its result page. It gives plumber seo the parent hvac seo, and it gives plumbing seo the same one. Those two belong to a cluster of queries where somebody is shopping for a contractor-marketing vendor, not learning a skill.
The cost per click says the same thing louder. seo for plumbers sits at $12.00. plumber seo company sits at $25.00, because agencies bid hard on the people who are already reaching for a credit card.
This article is written for the first search. You own the company, you answer the phone, and you would like Google to send the next burst-pipe call to you instead of the franchise two towns over.
Two keywords, two different searchers
The result page for seo for plumbers is split almost down the middle, and that split is the most useful thing on it. Measured the same morning, the nine organic results were four pages selling plumbing SEO and five pages teaching it.
| Position | Site | DR | Page type | Known for |
|---|---|---|---|---|
| 2 | iboostweb.com | 69 | Service page | seo for plumbers |
| 3 | rankmetop.net | 21 | How-to guide | seo for plumbers |
| 4 | searchengineland.com | 91 | Guide | seo for plumbers |
| 5 | housecallpro.com | 89 | Listicle | plumbing seo company |
| 6 | simplywise.com | 70 | Guide | seo for plumbers |
| 7 | webfx.com | 89 | Guide | seo for plumbers |
| 8 | helium-seo.com | 65 | Guide | seo for plumbers |
| 9 | connecticallc.com | 58 | Service page | seo for plumbers |
| 10 | seo.co | 73 | Service page | plumber seo company |
Two numbers in that table matter more than the rest. A site with a domain rating of 21 holds position 3, which means authority is not what is keeping anyone out of this result page. And the single highest-traffic page on it, the one at position 5 pulling an estimated 1,326 visits a month, is a roundup of agencies whose real keyword is plumbing seo company.
That is Google telling you, in the same ten results, that half the people typing this want to hire and half want to learn. Keep track of which half you are in, because the advice written for the other half will waste your weekend.
We run this same check before writing a single article for a customer, and it is the step most content tools skip. The equivalent for your own site is simpler: look at who already ranks for the phrase you want, and ask whether those pages are built for the person you want to call you. The same logic applies whether you plumb, pave, or mow, which is why it shows up again in our notes on SEO for contractors and on landscaping SEO.
The searches that book jobs have a difficulty of zero
Nobody calls a plumber by searching seo for plumbers. They call by searching for the thing that is broken. Those queries are enormous, and their keyword difficulty is almost nothing.
| Keyword | Volume per month (US) | Difficulty | Cost per click |
|---|---|---|---|
| water heater repair | 178,513 | 0 | $13.00 |
| emergency plumber | 123,735 | 0 | $20.00 |
| emergency plumbing | 75,434 | 0 | $20.00 |
| burst pipe repair | 10,857 | 0 | $0.40 |
| burst pipe | 2,062 | 9 | $15.00 |
All five measured through Ahrefs on 11 November 2026, country United States. Treat them as a snapshot and not a promise: these figures move, and the volume for your town is a fraction of the national number.
A difficulty of zero does not mean the page is easy to win. Keyword difficulty is an estimate built from the backlinks pointing at the pages currently ranking, and local plumbing pages have very few, because a plumber in Akron does not need links to beat a plumber in Dayton. The competition is geography, not authority.
What that changes in practice: you are not fighting Search Engine Land for water heater repair. You are fighting six local companies for the version of that query that carries a location, spoken or implied. That is a fight you can win with a page and a profile, which is the whole argument of DIY SEO for small business.
Two numbers in that table are worth staring at for a second longer. emergency plumber costs $20.00 a click in Google Ads and has a difficulty of 0 in organic search. You can pay twenty dollars for that visitor today, or write the page once and have the chance to collect them for years. Nobody can guarantee a ranking from doing so, and anyone who tells you otherwise is selling. But the arithmetic is why we keep arguing the point in SEO vs Google Ads.
What Google says decides a local ranking
Google publishes the factors, and the published version is shorter than the version agencies sell. The help page on local ranking says plainly: "Local results are mainly based on relevance, distance, and popularity."
The three are defined on the same page.
- Relevance: "Relevance is how well a Business Profile matches what someone is searching for."
- Distance: "Distance refers to how far each business is from the customer who's searching."
- Prominence: "Prominence means how well-known a business is." Google adds that "This factor's also based on info like how many websites link to your business and how many reviews you have."
Distance is the one you cannot do anything about, and it is the reason the map pack is not the whole job. A customer six miles outside your pin will sometimes see three competitors before they see you, no matter how good your profile is. The web page is what reaches them, because an organic result does not get sorted by proximity the way the map does.
Google is also explicit that none of this is purchasable: "There's no way to request or pay for a better local ranking on Google." Keep that sentence handy the next time somebody offers to put you in the map pack for a monthly fee.
The Business Profile rules the guides skip
Every guide on that result page tells you to optimise your Google Business Profile. None of the three we read in full tells you the rules that constrain what you are allowed to do, and two of them give advice that collides with those rules.
Google's own guidance for businesses that travel to the customer is specific. "If you're a service-area business, you should hide your business address from customers." If you run a van out of your house, your street address does not belong on the profile, and publishing it is not a clever trick for proximity.
On how many profiles you may hold: "you're allowed one service-area Business Profile." A second profile for a second city is not an available strategy. Businesses with a real storefront that also travel are the exception, and Google calls them hybrid: they can show the address and set a service area at the same time.
There is also a size limit on the area itself. Google says the service area "shouldn't extend farther than about 2 hours of driving time from where your business is based," while noting that larger areas suit some businesses. Setting your area to the whole state because you would drive there for the right job is the kind of thing that gets a profile reviewed.
One of the top-ranking guides states that you can add up to twenty service areas. Google's page does not say that, so do not plan around the number. Set the areas you genuinely cover, keep the hours honest, and treat the profile as something you maintain weekly rather than a form you filled in once. We walk through the fields that actually move in Google Business Profile optimization.
Service pages, city pages, and the line Google calls doorway abuse
Here is the advice every guide on this result page gives, in some form: build a page for each service and a page for each city. One of them lays out the arithmetic, noting that a homepage listing five cities and four services covers twenty searches poorly, while twenty pages each match one search exactly.
The arithmetic is right. What none of them mentions is where that plan runs into a published Google policy.
Google defines doorway abuse as "when sites or pages are created to rank for specific, similar search queries," and the example it gives is almost word for word the plan above: "Having multiple domain names or pages targeted at specific regions or cities that funnel users to one page." The neighbouring policy, scaled content abuse, covers "many pages generated for the primary purpose of manipulating search rankings and not helping users."
So the question is not how many city pages you have. It is whether each one would survive being read by a person who lives there.
A city page that passes that test contains something only somebody who works in that city could write. Some examples that cost nothing but attention:
- the water hardness in that municipality, and what it does to a tankless unit's service interval
- the dominant pipe material by era of housing stock, street by street if you know it
- the permit the local building department actually requires for a water heater swap, and how long it takes
- the sewer lateral rule that applies on that side of the county line
- what a specific job there cost last month, with the reason it cost that
A city page that fails it contains your service list with the town name find-and-replaced. Google's self-assessment questions for helpful content aim directly at the difference. "Is the content primarily made to attract visits from search engines?" And: "Does your content clearly demonstrate first-hand expertise and a depth of knowledge".
A practical rule we use with customers: write the pages you can fill, in order of the revenue they represent, and stop when you run out of things you actually know. Four city pages with real local detail beat forty templated ones, and they do not put the rest of the site at risk.
Structure them so a crawler and a customer both find them. A flat pattern is enough:
/services/water-heater-repair/
/services/drain-cleaning/
/services/sewer-line-repair/
/service-areas/boise/
/service-areas/meridian/
Then link in both directions. The Boise page links to the water heater repair page, that page links back to every service area where you install them, and the services index links to all of them. Internal linking is the cheapest ranking work there is, and it is the one thing on this list that nobody can sell you. The same pattern is laid out step by step in our small business SEO checklist.
The structured data a plumbing site can actually use
Two of the three guides we read in full never mention structured data. The third has a section on it that is four sentences long and claims it produces star ratings and click-to-call buttons, which overstates what Google says.
Here is what is verifiable. There is a schema.org type for your trade: Plumber, which sits under HomeAndConstructionBusiness, which sits under LocalBusiness. Its canonical URL resolves, which is worth checking yourself for any type somebody recommends to you, because plenty of plausible-sounding schema types do not exist.
Google's documentation for local business markup lists only two required properties, name and address, and tells you to "Use the most specific LocalBusiness sub-type possible." For a service-area plumber, that is this:
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Ridgeline Plumbing",
"url": "https://example-plumbing.com/",
"telephone": "+1-208-555-0142",
"address": {
"@type": "PostalAddress",
"addressLocality": "Boise",
"addressRegion": "ID",
"postalCode": "83702",
"addressCountry": "US"
},
"areaServed": [
{ "@type": "City", "name": "Boise" },
{ "@type": "City", "name": "Meridian" },
{ "@type": "City", "name": "Eagle" }
],
"priceRange": "$$",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
}
}
Note what is missing: there is no streetAddress. The property is optional inside PostalAddress, so you can satisfy Google's requirement with locality, region and country while keeping your home address off the page. Hiding the address on your Business Profile is a profile setting and does not change what the markup needs.
Three limits from the same Google page, because they are the ones people trip over:
- Review and aggregate rating markup is recommended for sites that "capture reviews about other local businesses," not for a business marking up its own reviews.
priceRangehas to stay under 100 characters, or Google "won't show a price range for the business."- None of it is a guarantee. Google says it "does not guarantee that features that consume structured data will show up in search results."
Markup is worth twenty minutes because it removes ambiguity about who and where you are. It is not worth a retainer, and anybody pricing it as a monthly service is charging you rent on a file that changes twice a year.
Reviews: where Google's policy actually draws the line
Reviews are named in Google's own definition of prominence, and the help page says directly that "More reviews and positive ratings can help your business's local ranking." That makes them one of the few levers where the published documentation and the agency pitch agree.
What the agency pitch usually leaves out is the policy that governs how you ask. Google's contribution policies prohibit offering incentives, in the plainest possible wording: a merchant may not "Offer incentives – such as payment, discounts, free goods and/or services - in exchange for posting any review."
The second prohibition catches a more common habit. You may not "Discourage or prohibit negative reviews, or selectively solicit positive reviews from customers." Asking only the customers you know are happy is against the policy, even though it is exactly what a lot of review software is configured to do.
What is allowed is stated just as clearly. A merchant may "Solicit or encourage the posting of content that does represent a genuine experience, without offering incentives to do so." So the compliant version of a review process looks like this:
- Ask every completed job, not the ones you expect to go well.
- Ask once, in writing, with a direct link to the profile and the technician's first name in the message.
- Offer nothing. No discount, no entry into a draw, no free filter.
- Reply to all of them, including the two-star one, in public and without arguing.
- Keep no list of who to skip.
That last item is the one that turns a review process into a policy problem. Our longer treatment of the mechanics is in how to get more Google reviews, and the same discipline shows up in what works for the other trades in home service business marketing.
What this costs, and which line you can buy
The highest-ranking how-to guide on this result page publishes a number: plumber SEO costs $500 to $5,000 a month, with typical engagements between $1,500 and $5,000. That figure is from a page selling SEO services, read on 11 November 2026, so take it as the asking price rather than the market price. Our own survey of what agencies quote across trades is in how much does SEO cost.
What is worth separating is which parts of that retainer are things somebody else can do at all.
| Work | Can be bought | Why |
|---|---|---|
| Business Profile upkeep | Partly | Hours, photos and service changes come from you. A vendor can only transcribe them. |
| Review requests | No | It happens at the end of a job, by the person who did it. |
| Local detail on city pages | No | It is the knowledge you have and a writer in another state does not. |
| Keyword research | Yes | It is a measurement task with a tool and a method. |
| Writing and publishing | Yes | It is production work, and it is the line that eats the hours. |
| Technical cleanup and markup | Yes, once | A one-time job priced as a monthly one is the most common upsell. |
We should disclose the obvious: syted sells the production line in that table, which is article writing and publishing on your own domain. That is why we are confident the other rows are not worth paying for, and you should weigh the recommendation accordingly.
The honest summary is that the two rows nobody can sell you, the profile and the reviews, are also the two that move a local ranking first. Do those yourself before you buy anything. The same conclusion holds for shops and studios, which is why it reappears in SEO for auto repair shops.
How to tell whether it is working
Impressions move first, then average position, then clicks. If you look at clicks in week two and see nothing, you will conclude the work failed when it has not yet been indexed and recrawled. Nobody can guarantee a ranking or a timeline, so the point of measuring is to see direction, not to hit a date.
In Search Console, the report that answers the question is Performance, grouped by query and by page. Add the page filter for one service page, read the queries it already shows up for, and compare that list to the queries you wrote it for. A page collecting impressions for the wrong phrases is a page with the wrong title, which is a cheap fix.
If you would rather pull it as data, the API answers the same question in one call. Dimensions can be combined but not repeated, and the default row limit is 1,000, which truncates without warning:
curl -s -X POST \
"https://searchconsole.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fexample-plumbing.com%2F/searchAnalytics/query" \
-H "Authorization: Bearer $GSC_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startDate": "2026-10-12",
"endDate": "2026-11-09",
"dimensions": ["query", "page"],
"rowLimit": 5000
}' | jq -r '.rows[] | [.keys[0], .keys[1], .clicks, .impressions, (.position|floor)] | @tsv'
Alongside that, the Business Profile reports calls, direction requests and website clicks. Those are the numbers that correspond to revenue, and they often move before anything in Search Console does, because the map pack is a different surface with a different refresh.
One trap worth naming: do not judge a change by rank-checking your own queries from your own phone. Personalised and location-based results make that reading worthless. If your pages are not appearing at all, the cause is usually indexing rather than ranking, and the checks are in why is my website not showing up on Google.
The answer layer above the ten blue links
The result page we measured for seo for plumbers carries an AI Overview above the organic results, and the pages it cited were a mix of the guides and the agency roundups already in the top ten. Customer-side plumbing queries increasingly carry one too.
What that means for you is modest and worth saying modestly. Assistants and overviews quote pages that answer a question in a way that can be lifted whole, which rewards a direct first sentence under a heading phrased as the question a customer asks. It penalises nothing, but a page that buries the answer in paragraph four is harder to quote.
The practical change is small: answer first, develop after. A section titled "How much does a water heater replacement cost in Boise" should open with a range and a reason, not with a history of water heaters. That habit is the whole of what people are selling as a new discipline, and we go further into the mechanics in answer engine optimization.
What we would not do is rebuild a site around it while the measurement is this immature. Nobody has a reliable count of how many plumbing calls come from an assistant, and results vary by market. The pages that get quoted are the same pages that rank, so the work in the sections above is the work.
FAQ
How long does SEO take for a plumbing company?
Longer than a profile edit and shorter than an agency contract. Business Profile changes can surface within days, while a new service page needs to be crawled, indexed and then recrawled before its position settles. Google's own documentation describes recrawl windows in days to weeks rather than hours. Anyone quoting you a date is guessing, and no one can guarantee a ranking at any point in the process.
Do I really need a page for every city I serve?
You need a page for every city you can write about truthfully, which is usually fewer cities than you serve. Google's doorway abuse policy names "pages targeted at specific regions or cities that funnel users to one page" as an example of abuse, so a templated set with the town name swapped is a risk rather than a shortcut. Start with the two or three towns that produce the most revenue and give each one detail only a local would have.
Is local SEO for plumbers different from regular SEO?
The ranking factors are different enough to matter. Local results are sorted partly by distance, which no amount of content changes, and partly by prominence, which includes your review count. Organic results below the map pack behave more like normal search, which is why the website still carries the customers who live outside your immediate radius. You are working on two surfaces at once.
How much does SEO for plumbers cost?
The guide ranking third for this keyword publishes a range of $500 to $5,000 a month and calls $1,500 to $5,000 typical, read on 11 November 2026. That is the asking price for a full-service retainer. The subset that genuinely requires outside help is keyword research and content production, and the profile and review work that moves a local ranking first is work you cannot delegate anyway.
Should I hire a plumbing SEO agency or do it myself?
Split it by the table above rather than by the whole. Do the Business Profile and the review process yourself because nobody else can, fix the technical basics once, and buy production only if the writing is what is not happening. If you are shopping for an agency, note that the queries phrased as plumber seo company and plumber seo agency lead to a different set of pages than this one, and those pages are written to sell rather than to explain.
What schema markup should a plumbing website use?
Use the Plumber type from schema.org, which sits under LocalBusiness through HomeAndConstructionBusiness. Google requires only name and address, and you can supply locality, region and country without a street line if you work out of your home. Skip review and aggregate rating markup on your own site: Google recommends it for sites that capture reviews about other businesses, not for marking up your own.
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
