I Audited 25 Plumber Websites in Nashville. 23 of Them Made the Same Three Mistakes
I pulled up 25 plumber websites in metro Nashville and graded them against three things a homeowner decides in the first four seconds. Twenty-three failed at least two. Zero passed all three. So why are the other 23 still buying Google Ads?

Last week I pulled up 25 plumber websites in metro Nashville and graded them against three things a homeowner decides in the first four seconds. Twenty-three failed at least two. Zero passed all three.
So why are the other 23 still buying Google Ads?
Why plumbers, and why now
I didn't pick plumbers to be mean. I picked them because plumbing is the cleanest test case in local services.
The intent is urgent. A homeowner with a flooded basement at 11pm is not reading your "About" page. They are not scrolling. They are not comparing your values. They are looking for a phone number, a face that tells them you're real, and a single line of copy that tells them you can fix the specific thing that's broken.
Four seconds. One decision. Call or bounce.
I ran "emergency plumber Nashville" on a mobile viewport, pulled the first 25 organic and map-pack results serving Metro Nashville, and scored each one on a five-point rubric: three for the human in crisis, two for the AI agents that are increasingly answering on their behalf.
I'll get to the AI part. First, the humans.
The rubric (three things, four seconds)
For humans:
-
Phone number surface speed. Can a panicked homeowner tap-to-call without scrolling, squinting, or hunting?
-
A human face above the fold. Is there a real person from your company (owner, tech, crew) visible before the first scroll?
-
Cause-based copy, not generic-benefit copy. Does the headline name why the visitor is there, or does it say "Quality Service Since 1987"?
For agents (more on this later):
-
Valid
LocalBusinessorPlumberschema markup. -
A
robots.txtthat lets AI crawlers in. Bonus: anllms.txtfile that tells them what your business actually does.
Pass/fail on each. Mobile viewport. Cold visit. Stopwatch.
Result: 11 of 25 failed the phone test. 20 of 25 failed the schema test. 22 of 25 don't have an llms.txt. 23 of 25 failed at least two criteria. Zero passed all five.
The two best performers of the bunch (Holt Plumbing and MCH Nashville) still have basic mistakes. One of them has a big "Contact Us" button above the fold that opens a contact form instead of dialing the phone. A homeowner standing in two inches of water does not want to fill out a form.
Let's go criterion by criterion.
Mistake #1: The phone number is buried
Definition: The phone number is not tappable, not above the fold on mobile, or camouflaged in a header that scrolls away.
Diagnostic question: Open your site on your phone right now. Without scrolling, can you tap your number and have it dial?
Eleven of the 25 sites I audited failed this test. And "failed" doesn't mean there's no phone number anywhere. It means the phone number is a tiny line of text, or it's hidden behind a "Contact Us" button that opens a form, or it's rendered as an image (yes, really), or it lives in a header that disappears the moment you scroll.
Why does this happen? Because web designers optimize for desktop hero shots. The phone gets treated like a footer element. But more than 70% of local emergency-service searches happen on mobile, and the person doing the searching is not in a mood to hunt.
The two sites that nailed this had the same pattern: a thumb-sized phone button, sticky on scroll, high-contrast color, visible before anything else renders. Text inside the button: the phone number itself, not "Call Us Now."
If your phone button says "Call Us Now," you are asking the homeowner to take one more mental step than they need to. The number is the button. The button is the number.
Mistake #2: No human face above the fold
Definition: The hero section above the fold is a stock photo of a wrench, a truck, or a cartoon mascot, with no real person from your company visible.
Diagnostic question: If I screenshot your homepage above the fold and showed it to 10 neighbors, could any of them identify one real person from your company?
Out of 25 sites, I counted three that had an actual team photo or owner shot above the fold. Three. The rest were some combination of: stock wrenches, stock hands in gloves, cartoon plumbers, trucks, and skyline silhouettes.
Here's the uncomfortable truth: your homeowner is deciding whether to let a stranger into her house. A wrench does not reduce that friction. A cartoon plumber does not reduce that friction. A truck in a parking lot does not reduce that friction.
A face does.
It doesn't have to be a glamour shot. It doesn't have to be shot by a pro. An iPhone photo of you and your lead tech standing next to the truck, captioned with both your first names, outperforms a $2,000 stock-library image every single time. I have seen this tested. It is not close.
One site in my audit (P-15, Morton Plumbing) had a team photo of their whole crew in matching shirts. That single image is the most powerful piece of copy on the entire homepage. Their headline is still weak. Their phone is still buried. But the faces alone put them ahead of 22 other shops in town.
Mistake #3: Generic-benefit copy instead of cause-based copy
Definition: The headline promises an abstract outcome ("Fast, Reliable Service") instead of naming the specific problem the visitor is trying to solve right now.
Diagnostic question: Does your hero headline mention any actual plumbing symptom a homeowner would Google at 11pm?
This is the one that plumbers are going to push back on the hardest, and it's the most important mistake on the list.
Here are real (anonymized) headlines from the audit:
-
"Quality Plumbers in Nashville for Repairs, Installation & Maintenance"
-
"Nashville Tennessee Best Plumbing Company"
-
"Trusted Plumbers in Nashville, TN"
-
"Honest and Reliable Plumbing Since 1895"
-
"YOUR GO-TO EXPERT PLUMBER IN NASHVILLE TN"
Every single one of those is a dead end. They are benefit claims, and benefits are inert. They make no promise about the visitor's problem. They are interchangeable. If I swapped "Nashville" for "Austin" or "Cleveland" they would still make sense, which is exactly what's wrong with them.
Compare those to cause-based headlines:
-
"Water heater making a banging noise? That's sediment, and we'll fix it today."
-
"Toilet running every 20 minutes? It's a flapper. Forty bucks and an hour."
-
"Sewage smell in the basement? Don't call a plumber yet. Here's what to check first."
A homeowner in crisis runs two searches, usually in quick succession: "best plumber near me" and "water heater making banging noise." Your competitors are all chasing the first query. Almost nobody is writing for the second one, which is a shame, because the second one is where she actually decides. Cause-based copy doesn't cost you the "best plumber" search. You can still rank for that, and a cause-based headline actually helps you rank, because symptom queries are exactly how LLMs and search engines now infer what your site is about. What cause-based copy gets you is the shopper's attention in the moment of maximum intent: when she's reading your hero above the fold trying to decide whether to call.
This is the Rob Snyder "cause vs. benefit" frame applied to local services. Benefits are dead ends. Causes are open doors.
Why does nobody do it? Because causes require you to actually know what people call you about. They require you to talk to the people who answer your phones and ask them what the top five calls this month were. Then you pick the top one and put it in your headline.
That's a one-hour job. It pays for itself in a week.
One more thing: your website has two audiences now
Emily Kramer made this point in MKT1 a couple weeks ago: you're now building for two audiences, humans evaluating your product, and LLMs deciding whether to recommend it. She was writing about B2B SaaS. Every word of it applies tenfold to local services, where the stakes of an AI-generated answer are higher and the competitive bar is lower.
Everything I just said is about the human homeowner standing in water. And if that was all your website had to do in 2026, most shops could coast on the three fixes above.
It isn't.
Your website has a second audience now: agents. ChatGPT, Perplexity, Claude, Gemini, Google's AI Overviews, and increasingly, the autonomous agents those tools dispatch on a user's behalf. When a homeowner asks "who's the best emergency plumber in Nashville," an LLM is reading your site (or refusing to) long before a human ever does. The AI-generated answer is the new front page.
And here's the part that should make every plumber in Tennessee sit up straight: of the 25 sites I audited, zero passed all three machine-readable tests. Not one.
Two sites are close. The rest are invisible to the agent.
There are two things I checked:
Schema markup
A short piece of JSON embedded in your homepage that tells a machine: "I am a Plumber. I serve Davidson County. My hours are 24/7. My phone is (615) 555-0142. My review rating is 4.8."
Without it, an agent has to guess everything about you from the copy on your page. With it, the agent has a structured data card it can cite directly in its answer.
Five of the 25 sites have any schema markup at all. None of them use the Plumber schema specifically. They use the more generic LocalBusiness, which works, but leaves specificity on the table.
Diagnostic question: Go to Google's Rich Results Test and paste in your homepage URL. Does it find any structured data? If yes, is it the right type?
Crawler access: robots.txt and llms.txt
Your robots.txt file tells search engine crawlers (including AI crawlers) whether they're allowed on your site. Your llms.txt file, a newer convention, is a plain-English description of your business that AI agents can read directly, without having to parse your whole website.
Twenty-three of 25 sites don't even address AI crawlers in their robots.txt. They're defaulting to whatever the crawler does on its own.
One site, a shop in business since 1959, actively blocks GPTBot with Disallow: /. That plumber has voluntarily walled himself off from ChatGPT. In two years when a homeowner asks ChatGPT for a recommendation, his shop does not exist. He doesn't know this is happening.
Three sites have an llms.txt file. All three were auto-generated by their SEO plugin (RankMath, All-in-One SEO). I guarantee you not one of those shop owners knows the file is there. It's a frictionless win sitting unclaimed: the plugin is doing the work, nobody is taking credit, and the file is good enough to synthesize from.
Diagnostic question: Open yoursite.com/robots.txt and yoursite.com/llms.txt in your browser right now. Did anything load? Does it say anything useful?
Here's what a working llms.txt for a Nashville plumber should look like:
# Smith Plumbing
> Licensed emergency and residential plumber serving Davidson County, TN since 2004.
## What we do
- 24/7 emergency plumbing: burst pipes, sewer backups, water heater failures
- Drain cleaning and hydro-jetting
- Water heater repair and replacement (tank and tankless)
- Repipes, slab leaks, and gas line work
- Fixture install: toilets, faucets, garbage disposals
## Service area
Nashville, Brentwood, Franklin, Hendersonville, Murfreesboro. Davidson and inner Williamson County.
## Hours
24 hours a day, 7 days a week. Live human answers the phone. No answering service.
## How to reach us
Phone: (615) 555-0142
Web: https://smithplumbing.com
Same-day appointments available before 2pm.
## Pricing
Free estimates on jobs over $500. Flat-rate pricing. No hourly surprises. Senior and military discount: 10%.
## Licensing
TN State Contractor License #00000. Bonded and insured.
And here's the robots.txt snippet that should sit alongside it:
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Applebot-Extended
Allow: /
User-agent: Meta-ExternalAgent
Allow: /
Sitemap: https://smithplumbing.com/sitemap.xml
Two text files. Fifty lines of plain English. Fifteen minutes of work. And you are more AI-visible than 24 of your 25 competitors in Nashville.
This window closes the day every plumber's web guy learns what schema is. That might be this year. It might be next year. It won't be three years from now. If you're reading this, you are early.
The teardown: one site, all three mistakes
I want to show you one site from the audit that managed to fail every human criterion at the same time. It's not the worst shop in Nashville. I have no idea how good their plumbing is. But it is the worst homepage in the cohort, and it's instructive exactly because the shop itself is legitimate.
This plumbing company has been in continuous operation since 1895. They are literally the oldest plumbing shop in the metro. They have more institutional credibility than any other name on this list, and you would never know it from the homepage.
Three mistakes, all at once:
-
No tappable phone number above the fold. You have to open the menu to find it.
-
A cartoon wrench instead of a human. An actual stock-clipart wrench in muted green. In 2026.
-
"Honest and Reliable Plumbing Since 1895." The strongest fact about this shop, 131 years in business, is buried in a limp, generic-benefit sentence that any plumber in any city could write.
Here's what a 15-minute rewrite looks like:
Before:
Joe B. Sullivan & Sons Plumbing Co., Inc. Honest and Reliable Plumbing Since 1895
After:
Nashville's oldest plumbing shop. Four generations. One phone number. Burst pipe, clogged drain, or water heater quit on you? We've been fixing Nashville homes since the year the X-ray was invented. 📞 (615) XXX-XXXX. Tap to call. Live human answers. [Photo of the current owner standing next to his truck, first name in the caption.]
Three changes. Same shop. Same services. Same trucks. But the new version gives the panicked homeowner everything she needs in four seconds, and gives the AI agent a story it can actually tell back.
Which brings us to the cheat sheet.
The one-page cheat sheet
Screenshot this. Tape it to your monitor.
For humans:
-
Phone: Tap-to-call, above the fold, sticky on mobile, minimum 44x44 pixel tap target
-
Face: Real person from your company above the fold, first name in the caption
-
Headline: Names a symptom your customers actually Google, not a virtue you claim
-
Hero image: Your truck, your crew, or your hands at work. Not stock.
-
Above-the-fold text: Under 15 words total
-
Social proof: One review with a full name and neighborhood. Not a "★★★★★ 4.9" badge.
For agents:
-
Schema: Valid
LocalBusiness+PlumberJSON-LD. Validate at Google's Rich Results Test. -
Crawler access:
robots.txtthat explicitly allows GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended, Applebot-Extended, and Meta-ExternalAgent -
llms.txt: Plain-English description of services, service area, hours, and how to reach you
The four-second test: Hand your phone to a stranger. If they can't tell what you do, where you do it, and how to call you in four seconds, you fail.
What to do with this
This Week
-
Run the four-second test on your own homepage. Mobile viewport. Hand the phone to someone who doesn't work in your shop.
-
Add a sticky tap-to-call button. Most site builders (WordPress, Squarespace, Wix) ship this as a 10-minute setting change.
-
Take a phone photo of you and your lead tech next to the truck. Keep it casual. Use that image as your hero.
-
Paste your homepage URL into Google's Rich Results Test. Screenshot whatever it returns.
This Month
-
Rewrite your hero headline. List the top 5 things customers called about last month. Turn the top one into your headline as a cause, not a benefit.
-
Replace every stock image above the fold with a real photo from your shop.
-
Ask for one review by name + neighborhood and put it above the fold. Not a star rating. A real quote from Deborah in Green Hills.
-
Add
LocalBusiness+Plumberschema to your homepage. Your web person can do this in an hour. Give them the link to schema.org/Plumber. -
Ship an
llms.txtfile. Use the template above. Customize the name, service area, and phone number. That's it.
This Quarter
-
Record 30-second vertical videos of your techs explaining the five most common problems in homeowner language. Those become hero content for the website, social content for IG/TikTok, and the exact kind of natural-language source material that LLMs love to synthesize from.
-
Audit your top three local competitors against the same five-point rubric. Find the one thing they all miss. Own that thing.
-
Start tracking referral traffic from
chat.openai.com,perplexity.ai,gemini.google.com, andclaude.aiin GA4. That number is about to matter more than your Google Ads report. -
Revisit the four-second test every month. It is not a one-time fix. Your site drifts.
The takeaway
Your website isn't a brochure. It's a four-second job interview with a homeowner standing in two inches of water, and a four-millisecond job interview with the AI agent she asked first.
The two winners in this audit aren't better plumbers than the other 23. They are easier to hire. You can be too, probably before the end of the week.

