A homeowner watching water spread across the garage floor decides with one thumb and one screen. A crawler never sees the water: it reads the HTML your server sent and rules on whether your company is eligible to be named at all. One address, six categories, the fix printed under every line it flags.
Run the free tool ↓Give it one URL and the graded report appears below in seconds. Start with the homepage, then run the page that earns, water heater replacement or sewer line repair. Free, and nothing is held back for an email.
Six categories, one letter apiece, and a written fix beneath each flagged line. The mechanics of the grade live on the main tool page. What follows is only the plumbing half.
Render-blocking files, page weight, and the platform line. Scripts and stylesheets parked in your head tag get counted, the HTML document gets weighed, and the page builder gets named whenever its fingerprint sits in the markup. Plumbing homepages pile that up fast: a rotating hero of truck photos, a review slider, a coupon popup, a booking widget, a chat bubble. All of that queues ahead of the phone number while somebody stands over a shut-off valve.
Title, description, H1 count, and the indexable line. Length prints next to your title, and a short one triggers the fix that wants roughly 50 to 60 characters. A homeowner searches the symptom, water under the slab or a toilet backing into the tub, so a title that is only the name on the truck does no work. The description fix wants 70 to 160 characters, which is the sentence a person reads at eleven at night. Headings are counted, never read, so a slideshow hero carrying a heading per slide is why a plumbing homepage returns more than one. The indexable line stays quiet until the day it fails, and the second run below shows what that costs.
Image alt text. This one comes back as a percentage of images carrying a description. Job photos land on the page straight off somebody's phone, and the license number, the after-hours promise, and the financing terms usually live inside a graphic that a crawler receives as an empty box.
Structured data, Open Graph, HTTPS, and the AI lines. Three structured data lines run in order. The first only wants JSON-LD of some kind. The second is specific, LocalBusiness or Organization, and its repair note names four fields to fill: name, address, phone, hours. That last one matters for a plumber: it either stands behind the 24 hour promise in your hero or quietly calls it a bluff. With nothing there at all, the local schema generator will build the block. Open Graph governs how the link renders in a neighborhood group thread. Security is a single check, HTTPS. Then the three AI lines: robots.txt gets read for rules that shut out ClaudeBot, Google-Extended, GPTBot, or PerplexityBot, the domain gets checked for an llms.txt file, which the llms.txt generator writes, and the markup gets a third look for anything machine-readable, which is why this category falls when the schema lines do.
This tool holds no plumbing benchmark, and nobody else should hand you one. The letter on the circle is a headline. The itemized lines under it are the job.
A strong result reads dull: one H1, a title with real length, a description present, HTTPS passing, the viewport tag there, every structured data line clean, and robots.txt turning nobody away. Performance keeps one warning you cannot clear, and the report card page explains why.
The weak result has a signature, and it is not a row of low letters. Security and mobile pass without trouble. SEO lands in the middle. Then AI readiness and structured data go down as a pair, with a page builder named on the platform line. That is a site people can use and software can barely take apart.
The limits matter here too. One page of served HTML is all it reads, so a service menu or review widget that JavaScript paints in later looks absent. Blind spots include your ratings, your Google Business Profile, your rankings, and whether the after-hours line lands on a technician, a dispatcher, or an answering service. A shop can hold a clean report and still lose the two in the morning call at the handoff.
Neither shop below exists, and neither run predicts yours.
Say a three-truck drain and water heater shop on a site a plumbing marketing vendor built a few years back. A builder is named on the platform line, page weight warns, the title is nothing but the company name, the description field is empty, the H1 count runs over because the hero rotates, the alt text share sits low across the job photos, every structured data line is short, and the AI crawler check fails on bot names no one at the shop recognizes. Do not work that list top down by severity. Split it in two. Alt text on the job photos, the title, and the description are an afternoon inside the vendor's editor. The page builder, robots.txt, and llms.txt sit with whoever controls the hosting account, which is the call to make first.
The second shop is newer: a repipe and trenchless sewer outfit that rebuilt over the slow weeks and went live in January. Every line on its report is clean except the performance item nobody can clear and one more: indexability, because the noindex tag from staging rode along with the launch. The rest of that page can sit for a month. That one line cannot sit for an hour: until it is pulled, the site is asking not to be listed.
Two buyers land on one domain. The one standing in water reads nothing and taps the first listing that looks nearby and open. The one pricing a repipe, a tankless swap, or a trenchless sewer replacement reads for days and hires whoever explained the difference. Our plumbing page makes that case at length, along with the third stream most shops ignore, the property managers and general contractors who send work over and over. This report grades the machine-readable half: not whether your tankless page explains venting, but whether the page carrying that answer is built light enough to load fast, says its subject in the title, and can be listed and quoted by something that never sees your photos.
Be plain about what is for sale in AI results. Google does sell ads in and around AI answers, and any plumbing company with a budget can buy that space. What no budget decides is which plumber the organic answer names when a homeowner asks who to call about a slab leak. The AI half of this report settles a narrower question: whether the engines are permitted through the door, and whether anything there is marked up for them. The AI visibility checker for plumbers runs the questions a homeowner would ask and reports who gets named.
Grading is free, one of more than 50 free tools we publish, with no email wall on any of them. A good half of the fix list costs nothing but an afternoon: writing a real title and a description, cutting to one H1, describing the job photos, adding a LocalBusiness block and an llms.txt file, deleting a line from robots.txt.
Only the platform line comes with an invoice. Here is what we publish: a custom website build runs $3,500 to $12,000+ one time, and ongoing SEO or local SEO runs $1,500 to $3,500 per month for most businesses, $3,500 to $7,500 per month in competitive metros or for multi-location companies. Everything is month to month, and the site, the content, and the accounts stay in your name. Both numbers are unpacked at length in the website cost guide and the SEO cost guide.
No. That line weighs the HTML document your server sends, not the photos inside it. Drain camera stills and repipe shots are judged on the alt text line instead. Bulk in the HTML tends to come from page builder output, which is why the fix under it points at the builder, not the gallery.
Add LocalBusiness to the block that already carries Plumber, then fill in name, address, phone, and hours honestly. Two separate checks are in play here. One line only asks whether any JSON-LD is present, which your Plumber block already satisfies. The line beside it accepts only LocalBusiness or Organization, spelled out, and Plumber is neither.
Describe the actual photo in one sentence, not a keyword. A corroded galvanized nipple at a water heater connection. A PEX manifold after a repipe. A camera still of roots in a clay lateral. Write what is actually in the frame, and a screen reader user gets a real description too.
Almost nobody does. Those directives usually arrive as a side effect: a plugin, a host default, or a security add-on nobody remembers installing, naming ClaudeBot, Google-Extended, GPTBot, or PerplexityBot with no one in the office weighing in. Your hosting company can strip them out in minutes. Wait until tomorrow to grade the site again.
The recommendation itself, no. Google does sell ads in and around AI answers, so paid placement exists there and any plumbing company can buy it. What no budget decides is which plumber the organic answer names when a homeowner asks who to call about a slab leak. The report grades none of that. It checks access and markup.
Two ordinary reasons, both spelled out on the main tool page. One is the cache: an address keeps its stored result for 24 hours once graded, so try again tomorrow. The other is where the change lives. If the new title only appears after JavaScript builds the page in the browser, the grader never sees it, because it reads what the server hands over and stops there.
Nobody can promise that, and this tool cannot see it. It cannot read your rankings, your traffic, your reviews, or your Google Business Profile, and has no idea whether the after-hours number reaches a person. It grades what search engines and AI engines receive. What happens after they find you is separate work.
Website Report Card: full tool page and methodology · Marketing for plumbing companies · AI Visibility Checker for Plumbers · All free tools
There is an email box under your finished result: ask for the graded report and a fix order in writing, and Brandon sends it. If you would rather walk the list with a person, we will build a free concept mockup of your plumbing site and say plainly what we would change first, from Orlando, working with local service businesses nationwide since 2008.
Book a free consultation → Or call/text directly: (407) 694-2055Tell us a little about the business and we will come back with an honest read: what we would fix first, what it costs, and whether you need us at all. Prefer to see work before you talk numbers? Get a free homepage mockup, built for your business, yours to keep either way.
Brandon reads every one of these himself. You will hear back shortly with an honest read on what we would do first, what it costs, and whether it is worth it for you.