Solar Pool Ionizers

Store Audit Report

solarpoolionizers.com · May 16, 2026

Platform: Shopify
Currency: USD
Locale: en-US

📊 Summary

42
Overall Health
35
Technical
50
CRO
38
GEO

✅ Top 3 Wins

  • Strong brand storytelling: NASA-derived technology narrative creates compelling differentiation and trust across homepage, product pages, and About Us.
  • Solid SEO foundation: Product schema with aggregate ratings (4.9★), BreadcrumbList schema, canonical URLs, hreflang for 4 locales, and descriptive meta tags are all present.
  • Excellent checkout experience: Express checkout with Shop Pay, PayPal, Amazon Pay, and Google Pay; guest checkout available; Shop Pay installments ($28.12/month).

🚨 Top 3 Critical Issues

  • Excessive JavaScript bloat: 165 scripts and 64 images on the homepage causing major performance degradation, including 16+ console errors from broken/conflicting apps.
  • Duplicate & broken apps: Two review apps (Opinew + Judge.me), duplicate Kaching Bundles embeds, broken Elfsight widget (WIDGET_NOT_FOUND), and MobX version conflicts.
  • Cart has zero upsell/cross-sell: No recommended products, no free shipping bar, no savings summary, and no urgency signals — leaving significant revenue on the table.

🚀 Growth Opportunity

Solar Pool Ionizers has a strong product with genuine differentiation (NASA technology, eco-friendly) and solid organic search foundations. However, the store is significantly held back by technical debt — particularly an overcrowded app stack creating JavaScript conflicts, performance degradation, and console errors on every page load. By consolidating redundant apps (saving ~$45/month), enabling cart upsells for replacement kits (the natural cross-sell), and adding a free shipping progress bar, the store could realistically increase AOV by 15–25% and improve conversion rates by reducing page load friction. The niche positioning is a major advantage for GEO — with targeted content optimization and enhanced structured data, this store can become the go-to AI-recommended solar pool ionizer brand.

📸 Screenshots Gallery

Homepage — Desktop

Homepage Desktop

Homepage — Mobile

Homepage Mobile

Product Page — Desktop

Product Page Desktop

Cart Page — Desktop

Cart Page Desktop

Checkout Page

Checkout Page

🔍 Per-Page Issues Table

Page Issue Category Severity Recommendation
Homepage 165 scripts loaded — extreme JavaScript bloat causing slow load and render-blocking Technical 🔴 Critical Audit and remove unused/duplicate app scripts. Prioritize async loading. Target ≤40 scripts.
Homepage 16+ JavaScript console errors including MobX conflicts, broken Elfsight widget, Amai TypeError, and smart-quote URL encoding issue Technical 🔴 Critical Remove Elfsight (broken). Fix Google Merchant widget URL (smart quotes → regular quotes). Disable duplicate Kaching embed.
Homepage "Product not found" error visible in the product grid section UX 🔴 Critical Remove or replace the broken product reference in the homepage GemPages section.
Homepage AP News logo image returns 403 Forbidden — broken "As Featured In" badge UX 🟡 Warning Self-host the AP News logo instead of hotlinking from assets.apnews.com.
Homepage Hero CTA text reads "GET MY Small POOL IONIZER" — inconsistent capitalization looks unprofessional CRO 🟡 Warning Standardize CTA text, e.g. "GET MY POOL IONIZER" or "Shop Small Pool Ionizer".
Homepage Duplicate benefit card — "Reduces Chemical Dependency" appears twice in the "Why Choose" section UX 🟡 Warning Replace duplicate card with a unique benefit (e.g., "Easy Setup" or "Long-Lasting Performance").
Homepage Multiple preloaded resources (sjedhd-02.png, 221-06.png) loaded but never used — wasting bandwidth Technical 🟡 Warning Remove unused <link rel="preload"> tags from the theme template.
Homepage Missing FAQPage structured data despite FAQ section being present GEO 🟡 Warning Add FAQPage schema markup for the FAQ section — enables rich results in Google and AI citation.
Collection URL typo: /collections/solar-pool-lonizer — missing letter "i" in "ionizer" Technical 🟡 Warning Create a 301 redirect from the typo URL to a corrected URL. Update all internal links.
Collection No filter or sort functionality available for the product grid CRO 🟢 Info With only 2 products, this is acceptable currently. Add filters if catalog expands.
Product Duplicate Product schema: both theme and app generate separate Product JSON-LD blocks with different contexts Technical 🟡 Warning Consolidate into one authoritative Product schema. Remove the duplicate to avoid confusing crawlers.
Product Duplicate Organization schema on every page (one from theme, one from custom code) Technical 🟡 Warning Keep only one Organization schema — the more complete one with address and contact info.
Product Organization schema references "DiscoverMyStore" as the org name instead of "Solar Pool Ionizers" GEO 🟡 Warning Update all Organization schema to use "Solar Pool Ionizers" consistently as the brand name.
Product No sticky add-to-cart button — ATC scrolls off-screen as user reads description CRO 🟡 Warning Enable sticky/floating add-to-cart bar for better mobile and desktop conversion.
Product Product images have generic alt text: "Alt image" repeated across multiple product gallery images GEO 🟡 Warning Write unique, descriptive alt text for each image (e.g., "Solar pool ionizer floating in backyard pool").
Product Return policy in schema says "MerchantReturnNotPermitted" — may deter customers CRO 🟡 Warning If the store offers a satisfaction guarantee (stated on homepage), align schema with actual policy.
Cart No upsell or cross-sell offers in cart — replacement kits are the obvious upsell but are not suggested CRO 🔴 Critical Add replacement kit upsell in the cart drawer/page via SlideCartHQ. This is a natural, high-value cross-sell.
Cart No free shipping progress bar despite offering free shipping CRO 🟡 Warning Add a "You've earned FREE shipping!" confirmation bar to reinforce the value.
Cart No savings summary showing the discount amount ($27.49 saved) CRO 🟡 Warning Show "You're saving $27.49!" next to subtotal to reinforce value perception.
Blog Blog page heading displays "post" (lowercase) — appears auto-generated, not a proper title UX 🟡 Warning Rename the blog handle/title to something descriptive like "Pool Care Tips" or "Solar Pool Journal".
Mobile PushOwl notification popup partially overlaps hero content on mobile, obstructing the heading UX 🟡 Warning Delay the push notification prompt by 15–30 seconds or trigger it on scroll to avoid blocking content.
Sitewide OG image uses HTTP protocol instead of HTTPS Technical 🟢 Info Update og:image meta tag to use https:// to avoid mixed content warnings on social shares.
Sitewide Organization schema "sameAs" array contains 9 empty strings Technical 🟢 Info Remove empty string entries from the sameAs array — they pollute structured data.
Sitewide Phone number mismatch: JSON-LD shows (516) 494-4654, llms.txt shows (786) 882-4458 GEO 🟡 Warning Standardize the phone number across all pages, schema, and files.

🤖 GEO Audit — Generative Engine Optimization

How well-prepared is this store to appear in AI-generated answers (ChatGPT, Perplexity, Google AI Overviews, etc.)?

38
Not AI-Optimized

The store has foundational elements (llms.txt, basic schema, blog content) but lacks the depth, structured data variety, and entity consistency needed to be confidently cited by AI assistants.

5/10
llms.txt

Present but auto-generated by Shopify. Minimal — lists browse/search URLs and basic store info. Missing product details, value proposition, FAQ, and use-case content.

5/10
Structured Data Depth

Product, Organization, WebSite, and BreadcrumbList schemas present. Missing: FAQPage (FAQ section exists!), HowTo (How It Works page exists!), Review (only one review in schema).

3/10
Entity Clarity

Brand name is inconsistent: "Solar Pool Ionizers" vs. "DiscoverMyStore" vs. "Discovermystore" across schema, footer, and page content. This confuses AI entity recognition.

7/10
AI-Friendly Content Structure

Product descriptions are detailed and factual. FAQ section answers natural-language questions. NASA story provides quotable, authoritative content. Blog exists with topical articles.

8/10
AI Crawlability

robots.txt does NOT block any AI crawlers (GPTBot, ClaudeBot, PerplexityBot, etc.). All content pages are crawlable. Sitemap is accessible.

5/10
Brand Authority Signals

About page has brand story and founding narrative. "As Featured In" section links to press (Business Insider, AP News). However, AP News logo is broken (403) and some links may be paid press releases.

4/10
Conversational Query Alignment

Homepage FAQ covers basic questions. Missing: comparison content ("Solar ionizer vs chlorine"), buying guides ("Best pool ionizer for above-ground pools"), and problem-solving articles.

3/10
Multimodal Readiness

Several product images use generic alt text ("Alt image" repeated). No image captions. AI cannot understand product visuals without descriptive alt text and structured image data.

2/10
Knowledge Panel Readiness

Inconsistent brand entity naming prevents knowledge graph recognition. No Wikidata entry. No verifiable third-party citations linking back. Founder info not mentioned on About page.

Prioritized GEO Action Items

Action Difficulty Impact
Fix brand name consistency — use "Solar Pool Ionizers" everywhere in schema, content, footer Easy High
Add FAQPage schema for existing homepage FAQ section Easy High
Write unique, descriptive alt text for all product images Easy Medium
Add HowTo schema for the "How It Works" page content Easy Medium
Create custom llms-full.txt with product specs, FAQs, comparisons, and use cases Medium High
Publish comparison blog post: "Solar Pool Ionizer vs. Traditional Chlorine" for conversational queries Medium High
Add founder name and verifiable brand details to About page for knowledge panel eligibility Medium Medium
Seek genuine third-party mentions (pool industry publications, YouTube reviews) for authority signals Hard High

🎯 CRO Scorecard

🔍 Awareness (Homepage)

✅ Clear value proposition on hero
✅ "As Featured In" press logos for credibility
✅ Benefits section with icons
✅ Customer testimonials carousel
⚠️ Hero CTA text has inconsistent capitalization
⚠️ Duplicate benefit card in "Why Choose" section
❌ "Product not found" error visible in product section
❌ AP News logo broken (403)

🛍️ Consideration (Product Pages)

✅ 10 product images with gallery
✅ Star ratings with review count (4.9★, 100 reviews)
✅ Sale price with compare-at price shown
✅ Shop Pay Installments ($28.12/month)
✅ In-stock badge displayed
✅ Tabbed description (Description / Steps / Features)
✅ Cross-link to replacement kits in description
⚠️ No sticky add-to-cart
⚠️ No urgency/scarcity signals (timer, stock count)
⚠️ No comparison table between small and large ionizer

🛒 Purchase (Cart & Checkout)

✅ Clean cart layout with product info
✅ Cart count updates in header after add-to-cart
✅ Eco badge (Sprout: 1 tree planted, 5 bottles removed)
✅ Express checkout: Shop Pay, PayPal, Amazon Pay, Google Pay
✅ Guest checkout available
✅ Discount code field on checkout
❌ No cart upsell — replacement kits not suggested
❌ No free shipping bar or progress indicator
❌ No savings summary ($27.49 discount not highlighted)
⚠️ No trust badges on cart page

🔁 Retention

✅ Email newsletter signup in footer
✅ PushOwl web push notifications installed
✅ Brevo email marketing connected
✅ Pre-order functionality for replacement kits
⚠️ No loyalty/rewards program
⚠️ No subscription option for recurring replacement kit purchases
⚠️ Post-purchase upsell app installed but effectiveness unclear

🧩 App Stack Audit

App Name Purpose Perf. Impact Est. Monthly Cost Verdict Savings if Removed
Opinew Product reviews 🟡 Medium ~$19/mo Remove $19/mo
Judge.me Product reviews 🟢 Low Free – $15/mo Keep
Kaching Bundles Bundles & quantity breaks 🟡 Medium (duplicate embed) ~$14.99/mo Keep — (fix duplicate embed)
Amp Slide Cart (SlideCartHQ) Slide cart drawer 🟡 Medium (MobX conflict) ~$39/mo Keep — (fix MobX conflict)
GemPages Page builder 🟡 Medium ~$29/mo Keep
Amai Pricing by Quantity Quantity breaks 🔴 High (throws errors) ~$19.99/mo Remove $19.99/mo
Elfsight Widget platform 🔴 High (broken, loads 3x) ~$5.99/mo Remove $5.99/mo
Sprout (The Good API) Eco impact badges 🟢 Low Free – $4.99/mo Keep
PreOrder Now Pre-order functionality 🟢 Low Free – $9.99/mo Keep
Post Purchase Upsell (Northern Apps) Post-purchase upsell 🟢 Low ~$14.99/mo Keep
PushOwl Web push notifications 🟢 Low Free – $19/mo Keep
Brevo (Sendinblue) Email marketing 🟢 Low Free – $25/mo Keep
Woohoo Gamification / spin-to-win 🟡 Medium ~$7.99/mo Review $7.99/mo if removed
Facebook Pixel Ad tracking 🟢 Low Free Keep
Google Analytics / Ads Analytics & ad tracking 🟢 Low Free Keep

💰 Total Potential Savings

$44.98
per month
$539.76
per year

By removing Opinew (duplicate), Elfsight (broken), and Amai Pricing by Quantity (redundant with Kaching).

⚠️ Key App Conflicts Detected

  • Duplicate review apps: Opinew and Judge.me are both loading scripts. Choose one (recommend Judge.me for price and built-for-Shopify certification).
  • Duplicate Kaching embeds: Console warning shows "Multiple app embed blocks detected. Please disable one of them."
  • Amai + Kaching overlap: Both provide quantity break/pricing functionality. Kaching alone handles this — Amai is throwing TypeError errors.
  • MobX version conflict: SlideCartHQ loads a different version of MobX than another app, causing console errors.
  • Elfsight platform.js loads 3 times: Even though the widget is broken (WIDGET_NOT_FOUND), the platform script loads thrice.
  • Google Merchant Widget: Smart quotes ("...") used in script src attribute instead of regular quotes, causing 404 and MIME type errors.

⚙️ Theme & Code Findings

Theme Info

  • Theme ID: 128618922190
  • Type: Custom theme (not a standard Shopify free theme)
  • Page Builder: GemPages is heavily used for homepage sections
  • CSS Framework: Bootstrap (bootstrap.css + bootstrap.bundle.js loaded)

Technical Debt

  • 🔴 165 script tags on homepage — extreme bloat, target ≤40
  • 🔴 jQuery loaded alongside modern Shopify JS — legacy dependency
  • 🔴 Bootstrap CSS + JS loaded fully — likely only using grid/utilities
  • 🟡 Google Tag Manager loaded 3 separate times with different IDs
  • 🟡 Opinew scripts loaded twice (duplicate include)
  • 🟡 GemPages button/marquee scripts loaded as external assets
  • 🟡 vstar-review.js and wiremo-styles.css — possible remnants of old review apps
  • 🟡 simply-insurance.js/.css — leftover from a previous or unused feature
  • 🟢 Shopify CDN properly utilized for core assets
  • 🟢 WebP image format used for product images

🎨 Brand Identity

Color Palette

#0F5EA7

Primary Blue

#2C343C

Dark Text

#FFFFFF

Background

#F5A623

Accent Orange

#E8523F

Sale Price

Typography

  • Heading Font: Alumni Sans — good for display but lacks versatility
  • Body Font: Roboto — functional but generic; consider a more distinctive alternative

Brand Consistency Rating

6/10

Blue/white palette is consistent across pages. However, brand name inconsistency (Solar Pool Ionizers vs. DiscoverMyStore) and the footer referencing a different company hurts brand cohesion.

Logo

Solar Pool Ionizers Logo

Multi-Locale Support

🇺🇸 English (default) 🇪🇸 Spanish 🇫🇷 French 🇩🇪 German

Payment Methods

Amazon Pay, Amex, Apple Pay, Diners Club, Discover, Google Pay, JCB, Maestro, Mastercard, PayPal, Shop Pay, Twint, Union Pay, Venmo, Visa

15 payment methods — excellent coverage

🗺️ Growth Roadmap

⚡ Quick Wins

1–2 days effort

Remove Elfsight app (broken, loads 3x for nothing)
Remove Opinew — consolidate reviews on Judge.me only
Disable duplicate Kaching Bundles embed block
Fix hero CTA capitalization ("GET MY Small" → consistent)
Fix "Product not found" error on homepage grid
Self-host AP News logo to fix 403 error
Fix OG image URL from HTTP to HTTPS
Update brand name to "Solar Pool Ionizers" consistently in all schema
Remove empty strings from Organization sameAs array
Fix Google Merchant widget smart-quote URL encoding issue

📋 Medium-Term

1–4 weeks effort

Configure cart upsells — suggest replacement kits when ionizer is in cart
Add free shipping progress bar to cart
Remove Amai Pricing by Quantity (redundant with Kaching)
Add FAQPage and HowTo structured data
Create custom llms-full.txt with comprehensive product info
Add sticky add-to-cart button on product pages
Write descriptive alt text for all product images
Add savings summary to cart ("You save $27.49!")
Fix duplicate Product schema (keep theme version, remove app version)
Rename blog from "post" to a descriptive title
Remove legacy scripts (vstar-review.js, simply-insurance.js, wiremo-styles.css)

🎯 Strategic

1–3 months effort

Full performance audit: remove jQuery, tree-shake Bootstrap, reduce to ≤40 scripts
Launch replacement kit subscription program (recurring revenue)
Create comparison content: "Solar Ionizer vs Chlorine", "Best Pool Ionizer by Pool Size"
Build a product quiz/selector: "Which ionizer is right for your pool?"
Add founder story and team photos to About page for knowledge panel eligibility
Pursue genuine third-party reviews and mentions in pool industry publications
Consider migrating from custom theme to a modern, optimized Shopify 2.0 theme
Implement A/B testing on product pages via GemPages to optimize conversion rate
Add video content (product demos, installation guides) for richer product pages