Table of contents
Solar is the rare trade where the buyer researches for months, and the standard solar website is a JavaScript calculator wrapped in a hero image. In 2026 that combination fails twice: only 51.3% of origins pass Core Web Vitals on mobile, and 42% of JavaScript-rendered content is never indexed by AI systems.
Key Takeaways
- Only 51.3% of origins pass all three Core Web Vitals on mobile (67.8% on desktop) as of mid-2026.
- WordPress origins pass 47.3% of the time - below the web average, and WordPress runs most installer sites.
- LCP is the hardest metric at 63.7% passing, against 71.2% for INP and 78.9% for CLS.
- Passing all three vitals is associated with roughly 24% lower bounce rates.
- Typical contractor sites load in 5-8 seconds on mobile; strong builds run 1.5-2.5 seconds.
- Bounce probability rises 32% at three seconds and 90% at five seconds.
- The median top-ten result loads in 1.65 seconds; position one averages 1.4 seconds.
- Across 16 million pages, 61.94% were never indexed - templated ZIP pages are the usual casualty.
- 26% of pages on enterprise sites go unindexed against 4% on small sites.
- 71% of sites deploy schema but only 22% pass the Rich Results Test cleanly.
- FAQ schema shows the largest CTR lift at about +87%, How-To at +52%.
- 42% of JavaScript-rendered content is never indexed by AI systems - the solar calculator problem.
- Solar residential cycles run 3-9 months and commercial 6-18 months, so organic compounding beats paid.
- Commercial solar search clicks cost $15-$50 and residential leads $40-$120 - the price of every technical leak.
- With the 30% residential credit expired and CAC forecast up 40%, organic is the only channel getting cheaper.
Core Web Vitals: the baseline solar sites miss
State of Core Web Vitals data shows just over half of origins passing on mobile. Installer sites sit below that average because they ship hero video, panel galleries and a calculator bundle on the same route.
| Metric | Pass rate | Threshold | Where solar sites break it |
|---|---|---|---|
| All three (mobile) | 51.3% | - | Calculator bundle plus hero video |
| All three (desktop) | 67.8% | - | Rarely the bottleneck |
| LCP | 63.7% | 2.5s | Unoptimised rooftop photography |
| INP | 71.2% | 200ms | Savings calculator main-thread work |
| CLS | 78.9% | 0.1 | Late-loading quote widget |
| WordPress origins | 47.3% | - | Plugin stacking on lead forms |
The commercial consequence is measurable: bounce probability rises 32% at three seconds and 90% at five, while passing all three vitals correlates with 24% lower bounce rates. A typical contractor site at 5-8 seconds is discarding the top of a funnel that takes months to rebuild.

The calculator problem: JavaScript that never gets read
Every solar site wants a savings calculator, and it is usually the highest-value page on the domain. It is also usually invisible to the systems that now answer buyer questions: most AI crawlers do not execute JavaScript, and 42% of JS-rendered content is never indexed by AI systems.
| Asset | Typical build | Crawlable? | Fix |
|---|---|---|---|
| Savings calculator | Client-side React widget | No | Server-render the rate tables |
| Utility rate lookup | API call on interaction | No | Publish static rate pages |
| Panel comparison | JS tabs | Partly | Render all tabs in HTML |
| Install gallery | Lazy JS carousel | Partly | Static img with real alt text |
| Financing table | Third-party iframe | No | Duplicate as an HTML table |
| Payback chart | Canvas render | No | Add a text summary and table |
The rule is simple: if the number is a selling point, it belongs in HTML. A $2.49 per watt median marketplace price, an 11.8 kW average system and a payback that moved from 7.4 to 10.4 years between Q3 and Q4 2025 are the facts buyers search for. Ship them as text and let the widget personalise afterwards.
Indexing: the templated location-page trap
Solar marketing loves programmatic location pages - a page per ZIP, per utility, per incentive. The crawl-waste data is unforgiving: 61.94% of pages in a 16-million-page study were never indexed, and enterprise sites lose 26% of pages against 4% on small sites.
| Page type | Indexing odds | Why | Better approach |
|---|---|---|---|
| ZIP-swapped city page | Low | Near-duplicate body copy | One page per real service area |
| Utility-company page | Medium | Thin unless rates are real | Publish actual rate tables |
| Incentive page | High | Genuinely distinct after 2025 | State-by-state, dated updates |
| Install case study | High | Unique photos and numbers | Add kW, cost and payback |
| Panel brand page | Medium | Often spec-sheet copy | Add install experience and failures |
| Blog tag archive | Very low | No standalone value | Noindex, keep for navigation |
Crawl budget spent on 400 ZIP pages is crawl budget not spent on the pages that answer post-credit questions. After the 30% Section 25D credit expired on 31 December 2025, every incentive page on the web went stale at once - being the site that updates them first is a real ranking opportunity.
Schema: deployed everywhere, valid almost nowhere
A 5,000-site audit found 71% of sites deploy schema and only 22% pass the Rich Results Test. For a long research cycle, the FAQ lift matters most.
| Schema type | Solar use | Reported CTR lift | Common error |
|---|---|---|---|
| FAQPage | Incentives, payback, panels | About +87% | Answers not visible on page |
| HowTo | Permitting and install steps | About +52% | Missing step images |
| LocalBusiness | Service-area pages | Indirect | Inconsistent NAP |
| Service | Residential and C&I offers | Indirect | No areaServed |
| Product / Offer | Published system pricing | Indirect | Price without currency |
| Article | Statistics and guides | Indirect | Author with no sameAs |
Publishing pricing is worth the schema work on its own: in solar, published pricing converts 15-25% higher than quote-gated pages.

Mobile, forms and the phone call
Technical SEO ends at the conversion, not the crawl. In home services phone leads convert at 46% against 1.7% for forms, roughly 28% of business calls go unanswered, and a five-minute response window multiplies qualification by 21x.
- Put a tel: link in the sticky header, not only in the footer.
- Keep the first quote form under five fields; the calculator can capture the rest later.
- Defer every third-party script - chat widgets are a top INP offender.
- Serve rooftop photography as WebP at real display width; galleries are the usual LCP culprit.
- Preload the hero image and self-host fonts to stabilise LCP.
- Ship a valid XML sitemap that excludes noindexed templates.
- Log server-side conversions - only about 52% of CRM users fill the lead-source field.
The 2026 economics of fixing it
Organic is the only solar channel whose cost is falling. Residential CAC is forecast to rise about 40% in 2026 after the credit expiry, while B2B solar benchmarks put SEO at EUR 15-40 per lead against EUR 40-80 on Google and EUR 60-120 on LinkedIn.
| Fix | Effort | Typical impact | Payback horizon |
|---|---|---|---|
| Server-render calculator content | High | Recovers AI and organic visibility | 2-4 months |
| Image and font pipeline | Low | LCP from 4s+ to under 2.5s | Weeks |
| Prune templated ZIP pages | Medium | Crawl budget to real pages | 1-3 months |
| Valid FAQ and Service schema | Low | Up to +87% CTR on FAQ pages | Weeks |
| Defer third-party scripts | Low | INP under 200ms | Days |
| Rebuild incentive pages post-2025 | Medium | Captures stale-content gap | 1-2 months |
Site architecture for a months-long research cycle
A solar buyer returns four or five times across a quarter, often from a different device and a different entry point each time. The architecture has to make the next question one click away, and it has to keep authority concentrated on the pages that convert rather than scattered across templates.
| Layer | Pages | Internal-link job | Common mistake |
|---|---|---|---|
| Money pages | Residential, commercial, battery | Receive links from everything | Orphaned behind a menu |
| Service areas | One per genuine metro | Link up to money pages | One page per ZIP code |
| Proof | Case studies with kW and cost | Link into money pages | Photo galleries with no text |
| Education | Incentives, payback, panel guides | Answer then route | Dead-end blog posts |
| Utility rates | One per major utility | Feed the calculator content | Locked inside JavaScript |
| Trust | Warranty, service, reviews | Link from every quote form | Buried in the footer |
That structure also protects crawl budget. When 61.94% of pages go unindexed across large samples and enterprise sites lose 26% of theirs, fewer and stronger pages beat more and thinner ones every time - especially in an industry where 51% of installers service systems they did not install, so the service page is itself a demand channel.
A 90-day technical order of operations
Sequence matters, because crawl and render fixes have to land before content investment pays.
| Window | Work | Measured by |
|---|---|---|
| Days 1-15 | Crawl audit, index coverage, log-file review | Indexed vs submitted ratio |
| Days 16-30 | Image, font and script pipeline | Field LCP and INP |
| Days 31-45 | Server-render calculator and rate content | Crawlable words per key page |
| Days 46-60 | Prune and consolidate templated pages | Crawl requests to money pages |
| Days 61-75 | Schema rebuild and validation | Rich Results Test pass rate |
| Days 76-90 | Incentive and payback content refresh | Organic impressions on incentive queries |
Verdict: the cheapest channel in the post-credit year is the one nobody audits
Paid solar acquisition got more expensive in 2026 in every segment. Organic did not - it got harder to earn, which is a different problem and a solvable one. Get the site into the 51.3% that pass mobile vitals, get the numbers out of JavaScript and into HTML, stop spending crawl budget on ZIP templates, and validate the schema that 78% of sites get wrong. Pair the work with the measurement model in our solar attribution benchmarks and the reporting cadence in the solar dashboard data. Our data intelligence team and growth team run these audits end to end.
Frequently Asked Questions
Why does technical SEO matter more for solar than for other trades?
Because solar is researched, not summoned. Residential buying runs 3 to 9 months and commercial 6 to 18 months, so a homeowner touches a site repeatedly across devices before ever calling. That means every crawl, index and render failure compounds over months instead of costing one emergency call. It also means the site competes on informational queries where 42% of JavaScript-rendered content is never indexed by AI systems - and solar's signature asset, the savings calculator, is exactly that kind of content.
What are realistic Core Web Vitals targets for a solar website?
Pass all three on mobile. Only 51.3% of origins do, against 67.8% on desktop, and WordPress origins - which run most contractor sites - pass just 47.3% of the time. Largest Contentful Paint is the hardest metric at 63.7% passing, versus 71.2% for Interaction to Next Paint and 78.9% for Cumulative Layout Shift. Aim for 1.5 to 2.5 seconds on mobile; the median top-ten result loads in about 1.65 seconds while typical contractor sites take 5 to 8 seconds.
Do solar savings calculators hurt SEO?
They hurt it when they are the page rather than a feature of the page. Around 42% of JavaScript-rendered content is never indexed by AI systems, and most AI crawlers do not execute JavaScript at all, so a calculator-only page publishes nothing crawlable. Ship server-rendered text with the numbers in HTML - utility rate ranges, a $2.49 per watt median price, an 11.8 kW average system, a 10.4-year payback - and let the calculator personalise on top of that.
How many solar location pages actually get indexed?
Far fewer than installers assume. Across a 16-million-page study, 61.94% of pages were never indexed by Google, and 26% of pages on enterprise sites go unindexed against 4% on small sites. Templated ZIP-code, utility-company and city pages are the usual casualties. Publish a page per genuine service area with local utility rates, permitting notes and real installs rather than a page per ZIP with the city name swapped.
What schema should a solar company implement?
Organization plus LocalBusiness, Service for each offering, FAQPage on informational pages, and Product or Offer where pricing is published. Adoption is not the problem - 71% of sites deploy schema but only 22% pass the Rich Results Test cleanly. FAQ schema shows the largest CTR lift at roughly +87% and How-To at +52%, which suits an industry where buyers spend months asking questions about incentives, panels and payback.
Sources
State of Core Web Vitals 2026
Technical SEO Statistics 2026
Core Web Vitals Statistics 2026
Crawl Waste Report 2026
2026 Technical SEO Issues Aggregate
Schema Markup Adoption Audit
AI Crawlers and JavaScript Rendering
PV Magazine - Residential Solar Pricing and Payback
Wood Mackenzie - Residential Solar CAC Set to Spike 40%
Lead Haste - B2B Solar Lead Generation Costs
PipelineOn - Home Services Attribution


