← Back to case studies
Concept Audit & Redesign

Copper Leaf Pools

Scottsdale, AZ — Custom pool and spa design and construction since 2001

This is an unsolicited concept audit for educational purposes. We are not affiliated with Copper Leaf Pools.

PageSpeed scores

Source: Google PageSpeed Insights API

Mobile

14
Performance
100
SEO
87
Accessibility
73
Best Practices

Desktop

42
Performance
100
SEO
88
Accessibility
77
Best Practices

Search visibility

Source: DataForSEO Labs API

261
Domain Rank
360
Organic Keywords
700
Monthly Traffic
$6,632
Traffic Value
3
#1 Rankings
14
Top 3
30
Top 10
95
On-Page Score

Content depth

Source: DataForSEO On-Page API

1052
Homepage Words
46.3
Readability
59
Images
57
Internal Links

Benchmarks: homepage 800+ words, service pages 1,000+, blog posts 1,500+. Readability score of 46.3 (Flesch-Kincaid) indicates college-level reading — consider simplifying for a broader audience.

Technology stack

Source: DataForSEO Technologies API + On-Page API

WordPressWP Rocket 3.19.4All in One SEOApache HTTP Server

The redesign

Copper Leaf Pools — before redesignBefore
Copper Leaf Pools — after redesign conceptAfter

What we found — and how we'd fix it

We identified 13 issues on the current site that are likely costing them qualified leads every month.

criticalPerformance

Slow Mobile Page Speed

Problem

The mobile performance score is 14/100, with a First Contentful Paint of 9.5s and Largest Contentful Paint of 60.4s. Total page size is 18,473 KiB. DataForSEO reports 27 scripts loaded, 4 of which are render-blocking.

Our fix

Optimize and compress all images (est. savings of 6,251 KiB), minify CSS and JavaScript, remove unused code (1,071 KiB of unused JS), and defer the 4 render-blocking scripts. Use next-gen image formats like WebP.

Data source: Google PageSpeed Insights API + DataForSEO On-Page API

highPerformance

Enormous Network Payloads

Problem

The total network payload is 18,473 KiB — over 18 megabytes. DataForSEO measured a DOM size of 135,677 bytes. The 59 images on the homepage account for a large portion of the weight.

Our fix

Compress and lazy-load images, implement code splitting to load only what's needed per page, and use a CDN for static assets. WP Rocket (already installed) can be configured more aggressively.

Data source: Google PageSpeed Insights API + DataForSEO On-Page API

highSEO

Heading Hierarchy Misuse — H5 Used for Key Content

Problem

DataForSEO detected 12 H5 tags used for important content like "WELCOME TO COPPER LEAF POOLS," team member names, and section headers. These should be H2 or H3 tags. The H1 ("Luxury Pool Builders in Scottsdale, AZ") is correct, but the hierarchy breaks immediately after.

Our fix

Restructure headings: H1 for the page title, H2 for major sections ("Custom Pool Solutions," "From Our Clients"), H3 for subsections (service names, team members). Remove all H5 usage — that level is almost never needed.

Data source: DataForSEO On-Page API

highSEO

Images Missing Alt Text

Problem

DataForSEO flagged the no_image_alt check as failing. With 59 images on the homepage, missing alt text means Google Image Search can't index them, and screen readers can't describe them to visually impaired users.

Our fix

Add descriptive alt text to every image: "Custom infinity pool with desert landscaping in Scottsdale, AZ" rather than "pool1.jpg" or empty alt tags. Include location and service keywords naturally.

Data source: DataForSEO On-Page API (no_image_alt check: FAIL)

mediumContent

Low Content Rate

Problem

DataForSEO flagged low_content_rate — only 4.78% of the page is actual text content (6,485 bytes of text in a 135,677 byte DOM). The homepage has 1,052 words, which exceeds the 800-word benchmark, but most of the page weight is code, not content.

Our fix

Increase the text-to-code ratio by reducing DOM bloat, removing unnecessary wrapper elements, and adding more substantive content. Consider expanding service descriptions and adding an FAQ section directly on the homepage.

Data source: DataForSEO On-Page API (low_content_rate check: FAIL, plain_text_rate: 0.048)

mediumSEO

LocalBusiness Schema Only — Missing Service and FAQ Schema

Problem

Direct HTML inspection confirmed LocalBusiness schema with name, phone, and email. DataForSEO's has_micromarkup check passed, confirming schema exists. But there's no Service schema for the 10+ service pages, no FAQ schema, and no Review schema.

Our fix

Add Service schema for each service page (pool construction, spa design, hardscaping, etc.). Add FAQ schema to existing FAQ content. Add AggregateRating schema for customer reviews.

Data source: DataForSEO On-Page API (has_micromarkup: PASS) + direct HTML inspection

mediumSEO

Only Ranking for 30 Keywords in Top 10

Problem

DataForSEO Labs shows the site ranks for 360 total keywords, but only 30 are in the top 10 (3 in position 1, 11 in positions 2-3, 16 in positions 4-10). The site gets an estimated 700 monthly organic visits worth $6,632 in ad-equivalent value.

Our fix

Target high-value keywords where the site currently ranks 11-20 (64 keywords in striking distance). Optimize existing service pages for their target terms and create new content targeting gaps like "pool cost scottsdale" and "backyard remodel phoenix."

Data source: DataForSEO Labs API (domain_rank_overview + ranked_keywords)

mediumSEO

Has llms.txt but Missing llms-full.txt

Problem

Direct URL check confirmed llms.txt exists (200 status, auto-generated by AIOSEO plugin) listing pages with short descriptions. But llms-full.txt returns 404, and .well-known/ai-plugin.json returns 404.

Our fix

Create a detailed llms-full.txt with service descriptions, pricing ranges, service areas, project timelines, material specs, and FAQs. This gives AI search engines rich content to cite when recommending pool builders in Scottsdale.

Data source: Direct URL checks (llms.txt: 200, llms-full.txt: 404, ai-plugin.json: 404)

mediumTrust

Missing Testimonials and Reviews on Homepage

Problem

DataForSEO detected an H2 section titled "From Our Clients" and team member names in H5 tags, suggesting some social proof exists. However, there are no Google review embeds, no aggregate star ratings, and no structured Review schema for search engines to display.

Our fix

Embed Google Reviews directly on the homepage with star ratings. Add AggregateRating schema so Google can show stars in search results. Feature 3-5 detailed case studies with before/after photos.

Data source: DataForSEO On-Page API (htags analysis) + direct HTML inspection

lowSEO

Duplicate Meta Tags

Problem

DataForSEO detected duplicate "generator" meta tags on the page. While this specific duplicate (WP Rocket) is minor, duplicate meta tags can confuse search engine crawlers and indicate sloppy code.

Our fix

Audit all meta tags and remove duplicates. Ensure only one instance of each meta tag type exists per page. Check that WP Rocket and AIOSEO aren't both injecting the same tags.

Data source: DataForSEO On-Page API (duplicate_meta_tags check: FAIL)

lowSEO

URL Structure Flagged

Problem

DataForSEO flagged multiple URL-related checks: seo_friendly_url, seo_friendly_url_characters_check, seo_friendly_url_dynamic_check, seo_friendly_url_keywords_check, and seo_friendly_url_relative_length_check all failed for the homepage.

Our fix

Review the URL structure across the site. While the homepage URL is clean, internal page URLs should be audited for keyword inclusion, proper length, and avoidance of dynamic parameters.

Data source: DataForSEO On-Page API (5 URL checks: FAIL)

highSEO

29% Duplicate Content Across the Site

Problem

Siteliner analysis found 29% duplicate content across 62 pages, with only 37% unique content. The average page has just 535 words — in the 25th percentile compared to other sites. Duplicate content dilutes keyword authority and can trigger Google's duplicate content filter, pushing pages out of search results.

Our fix

Consolidate duplicate pages, rewrite thin pages with unique service-specific copy, and add city-targeted content. Each service page should have at least 800–1,000 words of original content with unique headings, descriptions, and local context.

Data source: Siteliner (siteliner.com)

lowContent

Lacks Topical Authority via Blog

Problem

The blog has only 5 posts (confirmed via llms.txt), with the most recent topics being pool finishes, costs, and timing. DataForSEO shows the site ranks for pool-related keywords, but content gaps exist for high-volume terms like "pool renovation phoenix" (480 vol, ranking #7).

Our fix

Create a content calendar targeting keyword gaps: "pool cost scottsdale," "backyard remodel phoenix," "pool maintenance arizona." Aim for 1,500+ word long-form posts. Publish 2-4 per month to build topical authority.

Data source: DataForSEO Labs API (ranked_keywords) + direct llms.txt inspection

Data sources used in this audit

Every finding in this audit is backed by verifiable data. No AI-generated scores or subjective ratings — just facts from industry-standard tools.

  • Google PageSpeed Insights APIPerformance, accessibility, best practices, SEO scores
  • DataForSEO On-Page APIMeta tags, headings, schema, links, images, content analysis, failing checks
  • DataForSEO Labs APIKeyword rankings, organic traffic estimates, domain rank overview
  • DataForSEO Technologies APICMS and technology stack detection
  • Siteliner62 pages scanned — 29% duplicate content, 37% unique, 535 avg words/page
  • Direct URL checksrobots.txt (200), sitemap.xml (200), llms.txt (200), llms-full.txt (404), ai-plugin.json (404)

Want an audit like this for your site?

Book a free 15-minute call. We'll review your current website and show you exactly what's costing you leads.

Book a Free Call