Category breakdown
- 01 Performance 98
- 02 SEO 88
- 03 AI Visibility 82
- 04 Design & UX 72
- 05 Conversion & Trust 65
Inside the grade
Performance
Exceptional load performance across both mobile (95) and desktop (100) with sub-700ms LCP on desktop and 2.4s on mobile. Total page weight is lean at 638KB mobile / 668KB desktop, and CLS is nearly perfect at 0.0006 on desktop. Zero total blocking time demonstrates excellent JavaScript optimization.
What's working
- 100/100 PageSpeed score on desktop with 677ms LCP
- 95/100 mobile performance with 2.4s LCP, well under the 2.5s threshold
- Cumulative Layout Shift of 0.0006 on desktop indicates rock-solid visual stability
- Total page weight under 670KB keeps bandwidth costs low and load times fast
- Zero total blocking time means JavaScript is non-blocking and well-optimized
What needs work
- Mobile LCP at 2.4 seconds could be pushed closer to 1.5s with image optimization
- No manifest file detected, missing opportunity for PWA capabilities
Comments for whoever manages your website
-
Keep doing whatever you're doing—98/100 performance is exceptional and should be the baseline for every listing page.Fast load times directly correlate with lower bounce rates and higher conversion, and you're already in the top 5% of sites audited.
-
Add a manifest.json file to enable 'Add to Home Screen' and basic PWA functionality.It's a small lift that improves mobile UX and signals to search engines that the site is app-grade.
SEO
Strong technical foundation with proper title tags, meta descriptions, canonical URLs, and robots directives. Three distinct JSON-LD schemas (Plumber, BreadcrumbList, FAQPage) provide rich structured data. However, the page has zero images with alt attributes, no sitemap.xml, and only 13 total links—limiting internal link equity and crawl depth.
What's working
- Comprehensive JSON-LD schema including LocalBusiness (Plumber), BreadcrumbList, and FAQPage with six Q&A pairs
- Clean meta description at 158 characters highlighting 4.9★ rating and 1922 reviews
- Canonical URL properly set to the final URL, preventing duplicate content issues
- Robots meta set to index,follow with no blocking directives
- Viewport and HTTPS properly configured
What needs work
- Zero images on the page means no opportunity for image search or visual engagement
- No sitemap.xml detected, limiting search engine discovery of the full site structure
- Only 13 total links (8 internal, 5 external) suggests very shallow site architecture
- No meta keywords (acceptable) but also no OpenGraph image beyond a dynamically generated OG endpoint
- Business hours and contact info are present in schema but not reinforced with additional on-page semantic markup
Comments for whoever manages your website
-
Generate and submit a sitemap.xml covering all 13,700+ business listings and category pages.Without a sitemap, search engines rely on shallow link crawling, and deep listings may never get indexed or ranked.
-
Add alt attributes to all images once they're uploaded, using descriptive phrases like 'Magic Plumbing service truck in South San Francisco'.Image search is a meaningful traffic source for local services, and zero alt text means zero discoverability.
-
Increase internal linking from 8 to at least 20–30 contextual links to related trades, nearby cities, and top-rated pros.Shallow link architecture limits crawl depth and distributes almost no PageRank to the rest of the 13,700-listing directory.
AI Visibility
Excellent structured data foundation with complete LocalBusiness schema including address, phone, hours, aggregateRating, and geo coordinates. The robots.txt explicitly allows GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, and anthropic-ai, signaling AI-friendly intent. However, the /llms.txt file is a generic site-level description rather than business-specific content, and the page lacks rich media (images, videos) that AI assistants increasingly cite.
What's working
- Robots.txt explicitly allows all major AI crawlers (GPTBot, ClaudeBot, OAI-SearchBot, anthropic-ai)
- Complete LocalBusiness schema with all critical fields: name, address, phone, hours, rating, geo coordinates
- FAQPage schema with six common customer questions provides direct answer fodder for AI assistants
- AggregateRating (4.9★ across 1922 reviews) is machine-readable and highly citable
- /llms.txt file present and accessible, demonstrating awareness of AI discoverability
What needs work
- Zero images means AI assistants have no visual assets to display or describe
- /llms.txt is a generic directory description, not tailored to this specific business listing
- No video content or rich media that AI assistants increasingly surface in answers
- Business has not claimed the listing, so license/insurance details are missing from schema
- No customer testimonial markup beyond the review excerpts in body text
Comments for whoever manages your website
-
Replace the generic /llms.txt site description with business-specific content: services offered, service area, specialties, and unique selling points.AI assistants parse /llms.txt for context; a generic directory blurb doesn't help them recommend this specific plumber over others.
-
Add Review schema markup to the five customer testimonials in the 'Recent reviews' section.Right now those testimonials are plain text; structured Review markup makes them citable by AI assistants answering 'who has good reviews?'
Design & UX
Clean, functional layout with logical heading hierarchy (single H1, clear H2/H3 structure) and a straightforward business-listing template. The page is text-heavy with 895 words but zero images, creating a visually monotonous experience. No forms or interactive CTAs are present—users must click external links to the business website or call the phone number. The design is utilitarian rather than engaging.
What's working
- Single H1 ('Magic Plumbing Heating & Cooling') with clear H2/H3 hierarchy for scannability
- Viewport meta tag ensures mobile responsiveness
- Theme color (#2347E5) set for browser chrome customization
- Business hours, phone, and website link are prominently displayed in the 'Business details' section
- FAQ section addresses six common customer questions in plain language
What needs work
- Zero images on a 30KB HTML page creates a wall-of-text experience with no visual relief
- No forms or interactive CTAs—conversion requires clicking away to external site or dialing phone
- No buttons detected in the markup, limiting clear action prompts
- Review excerpts are text-only with no star graphics or visual rating indicators
- No embedded map despite 'Map' H2 heading, forcing users to infer location from address text
Comments for whoever manages your website
-
Upload at least three images: a team photo, a branded truck, and a completed job, each with descriptive alt text.A 30KB page with zero images looks unfinished and gives visitors no visual reason to trust or remember you.
-
Embed a Google Map iframe in the 'Map' section instead of leaving it as a heading with no content.Users expect to see a map when you promise one, and the missing widget makes the page feel broken.
Conversion & Trust
The page prominently displays a 4.9★ rating across 1,922 Google reviews and includes five recent customer testimonials with names and timeframes. However, the listing is unclaimed, so license and insurance details are absent. There are no forms, no lead-capture mechanisms, and no direct booking flow—users must leave the site to convert. The 'Call' and 'Visit website' CTAs are external links, not tracked conversion points.
What's working
- 4.9★ rating across 1,922 reviews is prominently featured and schema-encoded
- Five recent customer testimonials with full names and timestamps build social proof
- Phone number (+1 415-441-2255) and website (magicplumbing.com) are clearly listed
- FAQ section preemptively answers objections (pricing, hours, licensing)
- Business hours show 7-day availability (8 AM – 8 PM daily), reducing friction
What needs work
- Listing is unclaimed, so license and insurance details are missing—FAQ explicitly states this gap
- No forms or lead-capture mechanism on the page; all conversions require external navigation
- No trust badges, certifications, or visual credibility markers beyond the star rating
- No embedded map or directions widget despite 'Map' and 'Directions' CTAs in the body text
- No live chat, callback request, or low-friction conversion path for users not ready to call
- Payment methods listed (credit/debit) but no pricing transparency or quote request form
Comments for whoever manages your website
-
Claim this listing immediately and populate the license number and insurance certificate fields in the backend.The FAQ explicitly tells visitors you haven't verified credentials, which kills trust and hands leads to competitors who have.
-
Add a lead-capture form with name, phone, email, and job description fields above the 'Business details' section.Right now every conversion requires leaving the site or dialing a phone number, and you're losing 20–30% of mobile users who won't do either.
-
Add trust badges (BBB, license verification, insurance carrier logos) below the phone number if the business has them.Visual credibility markers convert 8–12% better than text-only claims, especially for high-stakes home services.
AI assistant visibility
AI is the new Google — and it doesn't show a list. More people are skipping Google and asking ChatGPT, Grok, or Gemini things like “best plumber in south san francisco with good reviews” The catch: those tools don't give back ten blue links to pick from. They name one or two businesses and call it a day.
So you either get named — or that customer never hears you exist. This is about making sure when an AI gets asked about businesses like yours, yours is the one it recommends.
Estimated revenue leakage
A plumbing business with 1,922 reviews likely sees 400–800 monthly site visits; the lack of on-page forms, visual trust signals, and claim verification converts 5–10% fewer visitors than a fully optimized listing, costing 8–15 lost leads/month at $150–200 average job value.
Top three priorities
-
01
low effort
Claim the listing and add license/insurance details to schema and FAQ
Removes the single largest trust objection stated in the FAQ and unlocks 10–15% more quote requests from cautious homeowners.
-
02
low effort
Add 3–5 high-quality images (team photo, truck, completed job) with descriptive alt text
Breaks up the text wall, improves engagement time by 20–30%, and gives AI assistants visual assets to cite.
-
03
medium effort
Embed a simple quote-request form above the fold with name, phone, job description fields
Captures 15–25% of visitors not ready to call or navigate away, converting passive browsers into trackable leads.