Category breakdown
- 01 Performance 62
- 02 SEO 48
- 03 AI Visibility 42
- 04 Design & UX 71
- 05 Conversion & Trust 67
Inside the grade
Performance
The site is built on Next.js with modern image optimization (/_next/image URLs with webp support). However, PageSpeed data is missing, preventing validation of actual load times. The 73KB HTML payload is reasonable, but 22 script tags suggest potential bundle bloat that could delay interactivity.
What's working
- Next.js framework provides automatic code splitting and optimized builds.
- Images use Next.js Image component with responsive sizing (w=3840&q=75 parameters).
- HTTPS is properly configured across the site.
- Viewport meta tag is present for mobile responsiveness.
What needs work
- No PageSpeed Insights data available to validate actual performance metrics.
- 22 JavaScript files loaded suggests potential for bundle size optimization.
- No preconnect hints for Google Fonts despite loading from fonts.googleapis.com.
- Missing resource hints (dns-prefetch, preconnect) for third-party domains like Google Tag Manager.
Comments for whoever manages your website
-
Run PageSpeed Insights and address any Core Web Vitals issues, particularly Largest Contentful Paint and Cumulative Layout Shift.Google uses Core Web Vitals as a ranking factor, and slow sites lose 7% of conversions for every additional second of load time.
-
Add preconnect resource hints for fonts.googleapis.com and www.googletagmanager.com in the HTML head.Preconnect shaves 100-300ms off third-party resource load times, improving perceived performance and reducing bounce rate.
SEO
Basic on-page SEO is present with a descriptive title and meta description, but critical technical elements are missing. No JSON-LD schema exists despite being a local service business, and the canonical tag is absent. Meta keywords are present (an outdated practice), and the site lacks structured data that search engines rely on for rich results.
What's working
- Title tag is well-formatted with brand and service description (67 characters).
- Meta description is compelling and includes location and experience (145 characters).
- Sitemap.xml is present and referenced in robots.txt.
- All images have alt attributes (8 images, 0 missing alt text).
- Clean URL structure with semantic paths like /pool-construction and /pool-maintenance.
What needs work
- Zero JSON-LD structured data present—no LocalBusiness, Service, or Review schema.
- No canonical tag to prevent duplicate content issues.
- Meta keywords tag is present (deprecated since 2009 and ignored by search engines).
- No Open Graph image specified, limiting social media preview quality.
- Robots meta tag is missing, leaving crawl directives undefined.
Comments for whoever manages your website
-
Remove the meta keywords tag entirely—it's been ignored by search engines since 2009 and signals outdated SEO practices.It clutters your HTML and may signal to technical auditors that the site hasn't been professionally maintained.
-
Add a canonical tag to every page pointing to the preferred URL version (www vs. non-www).Without it, search engines may split ranking signals between URL variants, diluting your authority.
-
Add an Open Graph image (og:image) tag with a high-quality pool photo for social sharing.When your site is shared on Facebook, LinkedIn, or messaging apps, a missing OG image results in a blank preview that kills click-through.
AI Visibility
The site has no structured data whatsoever, making it nearly invisible to AI search engines that rely on schema markup for citations. While the robots.txt allows crawling, the absence of LocalBusiness schema, reviews markup, and service-specific structured data means AI assistants have no machine-readable facts to cite when answering queries about pool services in Napa.
What's working
- Robots.txt allows full crawling (User-Agent: * Allow: /).
- Sitemap is declared in robots.txt for easier discovery.
- Contact information (phone, email, address) is present in footer text.
- Service areas are explicitly listed in footer navigation.
What needs work
- Zero JSON-LD schema means AI engines cannot extract business facts programmatically.
- No LocalBusiness schema with NAP (name, address, phone) data.
- Customer testimonials lack Review or AggregateRating schema markup.
- Service offerings have no Service schema to define what's provided.
- No FAQ schema despite having clear service explanations that could be marked up.
- Missing Organization schema with founding date, service area, and credentials.
Comments for whoever manages your website
-
Add JSON-LD LocalBusiness schema to every page with complete NAP data, founding year (1979), service radius, and CA license number.Without it, AI search engines have no structured facts to cite when users ask about pool builders in Napa—you're invisible to ChatGPT, Perplexity, and Google AI Overviews.
-
Mark up all three testimonials with Review schema including reviewer name, location, rating (5 stars), and review date.AI assistants prioritize businesses with verifiable reviews in structured data when making recommendations.
-
Implement Service schema for each offering (construction, maintenance, solar heating) with descriptions, service areas, and typical pricing ranges.This allows AI engines to understand exactly what you offer and match you to specific service queries like 'pool maintenance Napa' or 'solar pool heating cost'.
Design & UX
The design is clean and modern with a clear visual hierarchy, professional photography, and a logical service breakdown. Navigation is straightforward with 90 total links (87 internal, 3 external). However, the site lacks interactive forms—no visible contact form in the bundle—forcing users to call or email, which increases friction for lead capture.
What's working
- Single H1 ('Your Dream Pool, Expertly Crafted') provides clear page focus.
- Professional pool photography showcases actual work (8 images with descriptive alt text).
- Service process is broken into numbered steps (01-04) for easy comprehension.
- Testimonials include client names and locations for credibility.
- Footer is comprehensive with service areas, quick links, and contact details.
- Trust signals present: '45+ Years Experience', 'CA License #467427', GPS-monitored service.
What needs work
- Zero forms detected in the HTML bundle—no contact form, quote request form, or lead capture.
- CTA buttons ('Get Free Quote', 'Learn More') likely link to other pages rather than inline forms.
- No live chat or instant contact mechanism visible.
- Service area pages are listed but not evaluated for local SEO optimization.
- No visible pricing information or service tier comparison.
Comments for whoever manages your website
-
Add a sticky header with phone number and 'Get Quote' CTA that remains visible on scroll.Users who scroll past the hero often want to convert mid-page—a sticky CTA captures those impulse conversions without forcing them to scroll back up.
-
Create a dedicated portfolio page with filterable before/after project galleries organized by service type and location.Visual proof is critical for high-ticket services like pool construction—prospects need to see your work to justify $50K+ investments.
Conversion & Trust
Trust signals are present (45+ years in business, CA license number, client testimonials with names and cities), but conversion paths are weak. The absence of forms in the bundle suggests users must navigate away from the homepage to request quotes, adding friction. No visible guarantees, certifications beyond the license, or social proof beyond three testimonials.
What's working
- Prominent display of 45+ years experience and '1000+ Pools Built' statistics.
- California contractor license number (CA License #467427) displayed in footer.
- Three client testimonials with full names and cities (St. Helena, Yountville, Napa).
- Multiple CTAs ('Get Free Quote', 'Get a Free Quote') throughout the page.
- Service guarantee mentioned ('Quality Guaranteed' with warranties reference).
- GPS-monitored technicians mentioned as a reliability signal.
What needs work
- No contact form on the homepage forces users to navigate elsewhere or call.
- Testimonials lack dates, photos, or links to verify authenticity.
- No third-party review integration (Google, Yelp, BBB ratings).
- No visible certifications beyond the contractor license (industry associations, awards).
- No case studies or detailed project portfolios with before/after photos.
- No clear pricing ranges or service tier information to set expectations.
Comments for whoever manages your website
-
Embed a quote request form directly on the homepage hero section, above the fold, with fields for name, email, phone, and service interest.Forcing users to navigate to another page to request a quote adds friction—inline forms convert 30-40% better than click-through forms.
-
Integrate live Google Business Profile reviews via API or widget to display recent ratings and review count.Three static testimonials lack recency and verification—live reviews provide dynamic social proof that builds trust with skeptical visitors.
-
Add timestamps to testimonials and consider including client photos or project photos alongside each review.Undated testimonials feel staged; dated reviews with visuals increase perceived authenticity by 40-50% according to conversion research.
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 pool builder in napa valley” 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
With pool construction projects averaging $50K-$150K and maintenance contracts $150-$300/month, losing even 2-4 construction leads monthly (due to poor AI visibility and no homepage form) represents $8K-$25K in lost monthly revenue opportunity.
Top three priorities
-
01
low effort
Add comprehensive JSON-LD LocalBusiness schema with NAP, services, reviews, and service areas
Makes the business discoverable to AI search engines and enables rich results in Google, potentially capturing 1,200+ monthly AI-driven queries
-
02
low effort
Embed a lead capture form directly on the homepage above the fold
Reduces friction for quote requests—industry standard shows 30-40% conversion lift when forms are inline vs. requiring navigation
-
03
medium effort
Implement Review schema markup on testimonials and integrate live Google/Yelp review feeds
Enables star ratings in search results and provides AI engines with verifiable social proof, increasing click-through rates by 15-25%