SEO Audit April 2026 Score: 44/100 2 Critical Issues WordPress + Elementor Maryland Local

SEO Audit — Elite Thermal

Full technical, content, schema, performance, and local SEO assessment for chooseelite.com. Business: home energy services (insulation, solar, HVAC, EV charging, roofing) serving 20+ Maryland cities. Platform: WordPress 6.9 + Elementor 4.0 + Yoast SEO + UICore.

Overall Score
44/100
Needs Immediate Work
Pages Audited
106
In sitemap
Critical Issues
2
Schema + Meta Descs
Service Pages
0/7
Have meta descriptions
Script Files
31
+ 32 CSS files
Location Pages
83
67% content overlap

📊 Score Summary

44
/100
Overall

Needs Immediate Work — Foundation Has Cracks

Elite Thermal has the right content strategy (programmatic location pages, clear service taxonomy) but is severely under-optimized at every level. Two critical gaps are actively suppressing rankings: zero LocalBusiness schema on a local service business, and no meta descriptions on any core service page.

The Elementor stack adds 63 resource files per page, the homepage has two H1s, 18 images have empty alt attributes, and staging pages (retro-home, retro-examples, font) are indexed and crawled. These are fixable within days and should be addressed immediately.

Technical
62
22% weight
Content
47
23% weight
On-Page
40
20% weight
Schema
18
10% weight
Performance
48
10% weight
AI Search
25
10% weight
Images
52
5% weight
CategoryScoreWeightContributionKey Finding
Technical SEO62/10022%13.6 ptsJunk pages indexed; redirect chain clean; robots OK
Content Quality47/10023%10.8 pts67% location page overlap; service pages thin on meta
On-Page SEO40/10020%8.0 ptsAll service pages missing meta desc; double H1; generic titles
Schema / Structured Data18/10010%1.8 ptsNo LocalBusiness, no address/phone, no Service schema
Performance (CWV)48/10010%4.8 ptsTTFB 0.62s OK; 63 resource files cause INP/LCP risk
AI Search Readiness25/10010%2.5 ptsNo llms.txt; missing structured contact/location data
Images52/1005%2.6 pts18 empty alt attributes; large unoptimized images
Overall44/100100%44.1 ptsNeeds Immediate Work

📄 Executive Summary

🚨 Top 5 Critical / High Issues

  • No LocalBusiness schema — zero structured contact/geo data for Google
  • All 7 core service pages missing meta descriptions entirely
  • Homepage has two H1 tags (SEO conflict)
  • Staging pages (retro-home, retro-examples, font) indexed and in sitemap
  • 18 images with blank alt="" attributes — accessibility + SEO failure

⚡ Top 5 Quick Wins

  • Add LocalBusiness schema with address, phone, geo — 1–2 hrs in Yoast
  • Write meta descriptions for all service pages — 30 min per page
  • Remove staging pages from sitemap (noindex or delete) — 15 min
  • Fix homepage second H1 (contact form heading) — 10 min in Elementor
  • Fill in all empty alt attributes on service images — 1–2 hrs

Business Context

Elite Thermal is a home energy services company serving 20+ cities across Maryland, offering insulation, QuietCool whole-house fans, HVAC, residential and commercial solar, EV charger installation, roofing, energy audits, and backup battery systems. The site targets high-intent home improvement keywords in a competitive local market.

The company has a good programmatic SEO strategy in place — 83 location pages across four service lines — but those pages share 67% word-for-word content overlap, which Google’s HCU (Helpful Content Update) flags as thin/templated content. The bigger issue: the homepage and core service pages lack the basic on-page fundamentals that all competitors will have.

The 44/100 score is recoverable. Most issues are configuration and content gaps, not structural problems. With 2–3 weeks of focused work, this site could reach 70+ and start competing aggressively for local pack and organic rankings.

What’s Working

  • Non-www → www redirect (301) correctly configured
  • HTTP → HTTPS redirect in place
  • Canonical tags present on homepage
  • Yoast SEO + sitemap index correctly structured
  • All core services have dedicated pages
  • Robots.txt is open (not blocking crawlers)
  • Facebook Pixel + Google Tag Manager installed
  • Google Site Kit connected (Analytics + Ads)
  • Phone number visible in header on all pages
  • LazyLoading on below-fold images

What’s Broken

  • No LocalBusiness structured data
  • Zero meta descriptions on service pages
  • Double H1 on homepage
  • Homepage title only references “attic insulation + Pasadena” (ignores solar, HVAC, EV)
  • 18 empty alt attributes
  • Staging pages exposed in sitemap
  • 67% content duplication across location pages
  • GTranslate auto-translations create duplicate content
  • Meta description 191 chars (over 160 limit)
  • Typo in nav: “Back Up bettery”
  • No llms.txt for AI crawlers
  • No CSP security header

🚨 Critical Findings

  • 🚫
    Critical  No LocalBusiness Schema — Google Cannot Confirm Your Business Identity

    Elite Thermal has Organization schema on the homepage but it contains no address, no telephone number, no geo coordinates, and no @type of LocalBusiness. For a company competing in local search (Google Maps, local pack, “near me” queries), this is the highest-impact schema omission possible. Google uses LocalBusiness schema to verify NAP data, determine service area, and populate the Knowledge Panel. Without it, every competitor who has it holds a structural advantage in local pack rankings.

    Current State (Yoast-generated)

    "@type": "Organization" — no address, no telephone, no geo, no areaServed, no serviceArea, no priceRange, no openingHours. Google sees your logo and social links, nothing else about your business location or services.

    Fix: Add HomeAndConstructionBusiness Schema (15 minutes in Yoast)

    In Yoast SEO → Settings → Site Representation, change Organization type to “Local Business” and fill in address, phone, and hours. Supplement with custom JSON-LD in the theme header for full coverage. See the Schema Code section below for a complete copy-paste block.

  • 🚫
    Critical  Zero Meta Descriptions on All Core Service Pages

    Every single service page — Residential Solar, Insulation, Heating & Cooling, Energy Audit, Roofing, EV Charger, Contact Us — returns no <meta name="description"> tag. Google will auto-generate snippets from page text, which are rarely optimal for click-through rates. Meta descriptions are the primary driver of CTR in organic results; for competitive service keywords in Maryland, every percent of CTR improvement compounds into meaningful traffic gains.

    Pages Confirmed Missing Meta Descriptions

    /residential-solar/ • /insulation/ • /heating-and-cooling/ • /energy-audit/ • /roofing/ • /electric-vehicle-charger/ • /contact-us/ • /quietcool/ • /commercial-solar/ • /ev-charger/ • /back-up-bettery/

    Fix: Write Compelling 130–155 Character Descriptions

    Focus on the primary keyword + service area + differentiator + call to action. Each description should be unique. See the Meta Rewrites section for ready-to-use copy for every service page.

High Priority Issues

  • High  Double H1 on Homepage

    The homepage renders two <h1> tags: “Cleaner Energy, Cooler Homes” (the hero headline) and “Get in Touch with Us!” (the contact form section). While Google technically handles multiple H1s, it creates a keyword dilution signal and confuses crawlers about the page’s primary topic. The contact form heading should be demoted to <h2> or <h3>.

  • High  Homepage Title Tag Misrepresents the Business

    Current title: “Elite Thermal- Attic Insulation in Maryland and Pasadena”. This focuses entirely on one service (attic insulation) and one location (Pasadena) for a company that also sells solar, HVAC, EV charging, roofing, and energy audits across 20+ Maryland cities. Users searching for solar panels or EV chargers will see a title that says “attic insulation” and click away. The title also lacks a space before the dash: “Elite Thermal–” should be “Elite Thermal –”.

  • High  18 Images with Empty Alt Attributes

    The homepage contains 50 images. 18 have alt="" (empty string) — including service section images for Insulation, QuietCool, HVAC, Energy Audit, EV Charger, and Backup Battery. Empty alt attributes provide zero keyword context to search engines and fail WCAG 2.1 accessibility requirements for meaningful images. Non-decorative images must have descriptive alt text.

  • High  Junk Pages Indexed and in Sitemap

    The following pages are in the sitemap and indexable, but should not be: /retro-examples/, /retro-home/ (Elementor/UICore theme demo pages), /font/ (font test page), /landing/ and /attic-insulation-landing/ (PPC landing pages that should be noindexed), /thank-you/ (conversion confirmation page). These consume crawl budget, dilute PageRank, and in the case of landing pages, create competing organic pages that hurt ad Quality Score.

  • High  Location Pages: 67% Content Duplication

    The 83 location pages (energy audits, insulation, solar, EV charger across 20 cities) share 65–68% word-for-word overlap. Spot-checking Annapolis vs Silver Spring vs Bethesda energy audit pages showed near-identical copy with only the city name swapped. Google’s Helpful Content Update specifically targets this pattern and may silently suppress these pages from ranking. Each location page needs at least 30% unique content: local landmarks, neighborhood notes, specific city energy challenges, local testimonials.

  • High  Elementor Bloat: 63 Resource Files Per Page

    Every page loads 31 JavaScript files and 32 CSS stylesheets — a total of 63 HTTP requests just for scripts and styles, before images and fonts. This is primarily Elementor Pro + BDThemes Element Pack overhead. The cumulative result is high Total Blocking Time (TBT) and delayed Interaction to Next Paint (INP), both of which are Core Web Vitals factors. The UICore theme’s CSS is also loaded as an uncached full file on every page request.

    Fix Strategy

    Enable Elementor’s built-in CSS Print Method: “Internal CSS” (already set per generator meta) but also enable “CSS Optimization” and “JavaScript Optimization” in Elementor Settings. Install WP Rocket or NitroPack to defer non-critical JS, combine CSS, and serve a static cache layer. This alone can cut TBT by 40–60%.

  • High  GTranslate Auto-Translation Creates Duplicate Content Risk

    The GTranslate plugin is installed and active (language switcher visible in top bar). Auto-translated pages at alternate language URLs (/es/, /fr/, etc.) are served with the same content in machine-translated form. Without proper hreflang tags and canonical handling, these pages can compete with English originals in Google’s index. If Elite Thermal doesn’t actively serve non-English markets, the translation should be disabled entirely. If it does, hreflang implementation needs to be verified.

📋 Medium Priority Issues

  • Medium  Homepage Meta Description is 191 Characters (Over 160 Limit)

    Current: “Elite Thermal provides energy audit, QuietCool fan installation, roofing, solar power, HVAC, and attic insulation in Maryland and Pasadena. Improve home comfort and reduce energy costs today.” (191 chars). Google truncates at ~155–160 characters in desktop SERPs. The second sentence gets cut off. Trim to 145–155 characters while keeping the CTA.

  • Medium  Service Page Titles Missing Location Keywords

    All service page titles follow the generic pattern “Service Name — Elite Thermal” (e.g., “Residential Solar — Elite Thermal”). These do not include geographic modifiers like “Maryland” or target city names, which are the keywords users actually search. Adding “Maryland” or “Anne Arundel County” to service page titles is low-effort and directly improves geo-relevance signals.

  • Medium  Typo in Navigation: “Back Up bettery”

    The Backup Battery service page is linked in the site nav and in the homepage services grid as “Back Up bettery” (lowercase b, misspelled “bettery”). This is visible to every site visitor and damages brand credibility. The URL slug is also /back-up-bettery/. Fix the display text to “Backup Battery” and consider redirecting the typo URL to a corrected slug.

  • Medium  No FAQPage or Service Schema

    FAQ sections visible on service pages are not marked up with FAQPage schema. FAQ rich results can add 2–5 additional lines to search snippets, dramatically increasing SERP real estate. Similarly, each service page should have a Service schema node linking to the Organization, describing the service, its area, and its provider. These are easy wins in a market where most competitors also skip them.

  • Medium  Organization Schema Missing Address, Phone, and Geo

    The Yoast-generated Organization schema on the homepage includes the business name, URL, logo, and two social media links, but omits address, telephone, geo coordinates, and areaServed. Even without switching to LocalBusiness type, these fields should be populated. Google cannot use schema to confirm NAP data that isn’t present.

  • Medium  No llms.txt File for AI Crawlers

    ChatGPT, Perplexity, Gemini, and Claude all crawl sites for knowledge base training and AI answer generation. Without an /llms.txt file, these systems must guess what pages are authoritative. A well-structured llms.txt pointing crawlers to service pages, location pages, and the about/contact page increases the chance of Elite Thermal being cited in AI search responses — which is increasingly where home services research begins.

  • Medium  No Blog or Content Marketing

    The site has no blog section in the sitemap. In the home energy improvement vertical, content marketing drives substantial organic traffic: “how much does attic insulation cost Maryland,” “solar panel payback period Maryland,” “whole house fan vs AC Maryland.” Competitors with active blogs will capture top-of-funnel searches that convert over time. Even 2 posts per month on service-adjacent topics would meaningfully build authority over 6 months.

  • Medium  Missing Content-Security-Policy Header

    The server returns X-Content-Type-Options: nosniff and X-XSS-Protection: 1; mode=block but no Content-Security-Policy (CSP) or Strict-Transport-Security (HSTS) header. For a site collecting contact form data and running LeadConnector (GHL), CSP is a security best practice. While not a ranking factor, Google’s “Page Experience” score includes security signals and security-conscious users will see this in browser tools.

📄 Page-by-Page Audit

PageTitleMeta DescH1RobotsIssue
/ Elite Thermal- Attic Insulation in Maryland and Pasadena (56c) 191 chars 2 H1s index High Title misleads; 2 H1s; desc over limit
/residential-solar/ Residential Solar - Elite Thermal MISSING SOLAR POWER index Critical No meta desc; title needs geo
/insulation/ Insulation - Elite Thermal MISSING Insulation index Critical No meta desc; title needs geo
/heating-and-cooling/ Heating and Cooling - Elite Thermal MISSING HEATING AND COOLING index Critical No meta desc; title needs geo
/energy-audit/ Energy Audit - Elite Thermal MISSING Energy Audit index Critical No meta desc; title needs geo
/roofing/ Roofing - Elite Thermal MISSING ROOFING index Critical No meta desc; title needs geo
/electric-vehicle-charger/ Electric Vehicle Charger - Elite Thermal MISSING EV Charger index Critical No meta desc; title needs geo
/contact-us/ Contact Us - Elite Thermal MISSING CONTACT US index High No meta desc; include service area
/energy-audits-annapolis/ Energy Audits Annapolis MD | Save Energy & Unlock Rebates Present index Medium 67% overlap with peer pages
/retro-home/ (UICore theme demo) index (!) High Dev page; add noindex immediately
/retro-examples/ (UICore theme demo) index (!) High Dev page; add noindex immediately
/font/ (font test page) index (!) High Internal tool; delete or noindex
/thank-you/ index (!) Medium Conversion page; add noindex
/landing/ index (!) High PPC landing; noindex to protect Ads QS
/back-up-bettery/ MISSING index High Typo in URL slug + title; no meta desc

Meta Description Rewrites

Ready-to-use meta descriptions for all service pages. Each is 130–155 characters with primary keyword, service area, and a CTA. Copy directly into Yoast SEO on each page.

/
Current (191 chars — truncated)
Elite Thermal provides energy audit, QuietCool fan installation, roofing, solar power, HVAC, and attic insulation in Maryland and Pasadena. Improve home comfort and reduce energy costs today.
Recommended (152 chars)
Energy upgrades for Maryland homes: insulation, solar, HVAC, roofing & EV charging. Save on energy bills with Elite Thermal. Free consultation — call today.
/ — Title Tag
Current (56c — misleading)
Elite Thermal- Attic Insulation in Maryland and Pasadena
Recommended (57c)
Elite Thermal | Solar, Insulation & HVAC Services in Maryland
/residential-solar/
Current
MISSING
Recommended (148c)
Maryland homeowners: go solar with Elite Thermal. Expert residential solar panel installation, financing options, and MD rebate guidance. Free quote.
/insulation/
Current
MISSING
Recommended (147c)
Attic and home insulation services across Maryland. Elite Thermal reduces energy loss, lowers bills, and improves comfort. BGE and Pepco rebates available.
/heating-and-cooling/
Current
MISSING
Recommended (144c)
HVAC installation, maintenance, and replacement in Maryland. Elite Thermal keeps your home comfortable year-round. Trusted by homeowners across 20+ cities.
/energy-audit/
Current
MISSING
Recommended (151c)
Schedule a professional home energy audit in Maryland. Elite Thermal identifies heat loss, air leaks & inefficiencies. Qualify for BGE rebates. Book online.
/electric-vehicle-charger/
Current
MISSING
Recommended (149c)
Level 2 EV charger installation for Maryland homes. Elite Thermal installs ChargePoint, Eaton, and Leviton units. Permitted, insured, same-week scheduling.
/roofing/
Current
MISSING
Recommended (152c)
Roof replacement and repair in Maryland from Elite Thermal. Asphalt shingles, metal, and solar-ready roofing. Licensed contractor, free estimates, fast service.

🔧 Technical SEO

Crawlability & Indexability

  • robots.txt accessible and correct (open crawling)
  • Sitemap index at /sitemap_index.xml
  • Page sitemap: 106 URLs
  • Non-www → www redirect (301) working
  • HTTP → HTTPS redirect working
  • Canonical tag present on homepage
  • Yoast SEO plugin active
  • Dev/staging pages in sitemap (retro-home, retro-examples, font)
  • PPC landing pages indexed (/landing/, /attic-insulation-landing/)
  • Thank-you page indexed and in sitemap
  • UICore template pages in sitemap (?uicore-tb=)

Security Headers

  • X-Content-Type-Options: nosniff — present
  • X-XSS-Protection: 1; mode=block — present
  • HTTPS enforced sitewide
  • X-Cache-Enabled: True (caching active)
  • Content-Security-Policy (CSP) — missing
  • Strict-Transport-Security (HSTS) — not confirmed in headers
  • Referrer-Policy — missing
  • Permissions-Policy — missing
  • security.txt at /.well-known/ — 404

Robots.txt Analysis

https://www.chooseelite.com/robots.txtValid
User-agent: *
Disallow: /wp-content/uploads/wpo/wpo-plugins-tables-list.json

# START YOAST BLOCK
User-agent: *
Disallow:

Sitemap: https://www.chooseelite.com/sitemap_index.xml
# END YOAST BLOCK

Assessment: Correctly Open

No important pages are blocked. The WPO JSON exclusion is correct (internal plugin file). Sitemap is properly declared. The second User-agent: * block with empty Disallow effectively opens everything — this is correct behavior for this site type.

Sitemap Quality Assessment

CategoryCountStatusRecommendation
Core service pages9GoodKeep; add meta descriptions
Energy audit location pages21OK — thinDifferentiate content per city
Insulation location pages21OK — thinDifferentiate content per city
Solar location pages21OK — thinDifferentiate content per city
EV charger location pages21OK — thinDifferentiate content per city
Dev/demo pages (retro-*)2RemoveAdd noindex or delete
PPC landing pages2RemoveAdd noindex to protect QS
Thank-you page1RemoveAdd noindex
Font test page1RemoveDelete or noindex
UICore TB templates2RemoveIn separate sitemap; block in robots.txt

Performance & Core Web Vitals

Server Response Times (3 runs)

DNS Lookup: 0.002s
TCP Connect: 0.152s
TTFB: 0.62s avg
Total (compressed): 0.92s avg
HTML Size: 264KB (44KB gzip)
External JS files: 31
External CSS files: 32

CWV Assessment (Lab Estimates)

TTFB: ~620ms — Needs Improvement
LCP: Likely >4s — Poor (Elementor)
INP: Likely >200ms — Poor (JS bloat)
CLS: Unknown — LeadConnector widget risk
FCP: ~1.8–2.5s — Estimated
TBT: Likely >600ms — Poor

Elementor Performance Problem

Elementor Pro is the primary performance bottleneck. The combination of 31 JS files (including BDThemes Element Pack, UICore Animate, UICore Elements, LeadConnector) and 32 CSS files creates a high Total Blocking Time that directly impacts both INP and LCP. The LeadConnector chat widget loads a full SDK bundle on every page, adding additional parse time. This is a structural issue with the platform choice, not a configuration mistake — but it can be significantly mitigated with proper caching and deferral.

Performance Quick Wins (No Platform Change Required)

1. Install WP Rocket or Perfmatters — defer all JS except jQuery and defer LeadConnector widget load until user interaction. 2. Enable Elementor’s Optimized DOM Output and CSS Optimization. 3. Add a CDN (Cloudflare free plan) for edge caching and CSS/JS aggregation. 4. Lazy-load the LeadConnector chat widget (load only after first scroll or after 3s delay). 5. Convert hero images to WebP format. These changes together can move LCP from Poor to Needs Improvement or Good.

Resource Audit (Homepage)

Resource TypeCountPrimary SourceImpact
External JS31Elementor, BDThemes, LeadConnector, GTMHigh TBT / INP risk
External CSS32Elementor, UICore, block-library, dashiconsRender blocking
Inline JS blocks21Google Tags, GTranslate, UICore config22KB added to HTML parse
Inline CSS blocks6WP emoji, Elementor per-page2KB, acceptable
Total HTML size264KBElementor markup inflationLarge DOM, slow parse
Custom font (WOFF)1Pattanakarn ExtraBold (preloaded)Font preload is correct
Google Fonts (CSS)1Poppins + ManropeRender blocking; use display=swap

📄 Schema: Current State & Fix

Current Schema Coverage

Schema TypePresentCompleteNotes
WebSiteYesYesWith SearchAction
WebPageYesPartialName and description present
OrganizationYesNoMissing address, phone, geo, areaServed
BreadcrumbListYesYesYoast-generated
ImageObjectYesYesLogo image
LocalBusinessNoMissingCritical for local SEO
HomeAndConstructionBusinessNoMissingMost specific type for this business
ServiceNoMissingAdd to each service page
FAQPageNoMissingFAQ sections exist but unmarked
AggregateRatingNoMissingAdd if reviews are collected

Add the following JSON-LD block to the <head> of every page (use a WordPress plugin like Insert Headers and Footers, or Yoast’s Local SEO add-on). Replace bracketed values with actual business data.

LocalBusiness Schema — Add to site-wide <head>Copy-Paste Ready
{
  "@context": "https://schema.org",
  "@type": "HomeAndConstructionBusiness",
  "@id": "https://www.chooseelite.com/#business",
  "name": "Elite Thermal",
  "url": "https://www.chooseelite.com/",
  "telephone": "+18889819321",
  "email": "[your@email.com]",
  "logo": {
    "@type": "ImageObject",
    "url": "https://www.chooseelite.com/wp-content/uploads/2025/04/ELITE-THERMAL-Logo-scaled.png"
  },
  "image": "https://www.chooseelite.com/wp-content/uploads/2025/05/Elite-Thermal-5.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "[Your Street Address]",
    "addressLocality": "[Your City]",
    "addressRegion": "MD",
    "postalCode": "[ZIP Code]",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "[YOUR_LAT]",
    "longitude": "[YOUR_LNG]"
  },
  "areaServed": [
    "Annapolis, MD", "Silver Spring, MD", "Gaithersburg, MD",
    "Rockville, MD", "Columbia, MD", "Bethesda, MD",
    "Bowie, MD", "Laurel, MD", "Pasadena, MD", "Crofton, MD",
    "Severna Park, MD", "Arnold, MD", "Ellicott City, MD",
    "Edgewater, MD", "Davidsonville, MD", "Potomac, MD",
    "Kensington, MD", "Riva, MD", "Burtonsville, MD",
    "Cape St. Claire, MD"
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Home Energy Services",
    "itemListElement": [
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Attic Insulation"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Residential Solar Panel Installation"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "HVAC Installation and Maintenance"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Home Energy Audit"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "QuietCool Whole House Fan Installation"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "EV Charger Installation"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Roofing"}},
      {"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Commercial Solar"}}
    ]
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "08:00",
      "closes": "18:00"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/EliteThermal",
    "https://www.instagram.com/elitethermal/",
    "https://www.youtube.com/@elitethermal"
  ],
  "priceRange": "$$"
}
FAQPage Schema — Add to service pages with FAQ sectionsTemplate
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does attic insulation cost in Maryland?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Attic insulation in Maryland typically costs $1,500–$4,000 depending on attic size, current insulation levels, and material type. Elite Thermal provides free estimates and BGE/Pepco rebates may offset 30–75% of the cost."
      }
    },
    {
      "@type": "Question",
      "name": "Does Elite Thermal offer financing?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Elite Thermal offers financing options on qualifying projects including insulation, solar, and HVAC. Contact us at (888) 981-9321 for details."
      }
    }
  ]
}

📍 Local SEO Assessment

Local Signals Found

  • Phone (888) 981-9321 visible in header
  • Maryland service area referenced in title and homepage
  • 20 cities listed with dedicated service pages
  • Facebook and Instagram linked in schema sameAs
  • Facebook Pixel installed (retargeting active)
  • Google Ads conversion tracking (AW-11491795532)

Local Signals Missing

  • Physical address not in page HTML or schema
  • No Google Maps embed on contact page
  • No AggregateRating / review count in schema
  • No LocalBusiness structured data
  • No Google Business Profile link in footer
  • Hours of operation not in HTML or schema
  • License number / contractor credentials not displayed
  • No BBB or Angi badge / trust signals

Local Pack Ranking Gap

The absence of a physical address in either the page HTML or structured data is a significant local ranking signal gap. Google cannot verify Elite Thermal’s service area without an address, and the Google Business Profile cannot be corroborated against on-page NAP data. Even for a service-area business (no public storefront), having a consistent address in schema and the contact page is best practice and a local pack ranking factor.

Location Page Strategy Assessment

Elite Thermal has built 83 location pages across 4 service lines and 20+ Maryland cities. This is the right programmatic SEO approach for a multi-city service business. The execution needs refinement:

IssueImpactFix
67% word overlap between city pagesHCU thin content riskAdd 300+ unique words per city: local landmarks, neighborhood notes, city-specific rebate programs
Identical meta descriptions across citiesLow CTR differentiationCustomize meta desc with city name and local stat or rebate
No local testimonials per cityMissed trust signalAdd 1–2 verified customer quotes per city page
No city-specific FAQMissed SERP real estateAdd 2–3 city-relevant questions with FAQPage schema
No inbound internal links to location pagesWeak PageRank flowLink to top 5 city pages from service page footer/sidebar

🤖 AI Search Readiness

AI Crawler Access

  • robots.txt does not block GPTBot, ClaudeBot, or other AI crawlers
  • HTTPS and 200 status on homepage
  • Schema present (basic WebPage/Organization)
  • No /llms.txt file — 404 returned
  • No structured service catalog for AI parsing
  • No address/location data in structured form
  • Chat widget blocks immediate content on mobile

AI Citation Readiness Score: 25/100

When users ask ChatGPT or Perplexity “best home energy company in Maryland,” Elite Thermal is unlikely to be cited because:

  • No structured contact/address data to confirm identity
  • No review count or rating in schema
  • No authoritative blog content to cite
  • No llms.txt to guide AI crawlers
  • Service catalog not machine-readable
Recommended: /llms.txtAdd to WordPress root
# Elite Thermal — llms.txt
# Home energy services across Maryland

> Elite Thermal provides insulation, solar, HVAC, EV charging,
> roofing, and energy audits for Maryland homeowners.
> Call (888) 981-9321.

## Services
- [Insulation](https://www.chooseelite.com/insulation/)
- [Residential Solar](https://www.chooseelite.com/residential-solar/)
- [Heating and Cooling](https://www.chooseelite.com/heating-and-cooling/)
- [Energy Audit](https://www.chooseelite.com/energy-audit/)
- [QuietCool Fans](https://www.chooseelite.com/quietcool/)
- [EV Charger Installation](https://www.chooseelite.com/electric-vehicle-charger/)
- [Roofing](https://www.chooseelite.com/roofing/)
- [Commercial Solar](https://www.chooseelite.com/commercial-solar/)

## Service Area
Maryland: Annapolis, Silver Spring, Bethesda, Columbia,
Gaithersburg, Rockville, Potomac, Laurel, Bowie, Pasadena,
Crofton, Severna Park, Arnold, Ellicott City, Edgewater,
Davidsonville, Kensington, Riva, Burtonsville, Cape St. Claire

## Contact
- Phone: (888) 981-9321
- Contact: https://www.chooseelite.com/contact-us/

📅 30-60-90 Day Action Plan

🚨 Days 1–30 — Critical Fixes
Add LocalBusiness JSON-LD schema to all pages
2 hrs
Write and publish meta descriptions for all 11+ service pages
3 hrs
Fix second H1 on homepage (contact form heading → H2)
15 min
Noindex: retro-home, retro-examples, font, thank-you, landing pages
30 min
Fix all 18 empty alt attributes on images
2 hrs
Fix homepage title: remove insulation-only focus, add all services
10 min
Fix typo: “Back Up bettery” → “Backup Battery” in nav and H3
10 min
Add address and phone to contact page HTML and schema
30 min
Create /llms.txt and upload to WordPress root
20 min
Trim homepage meta desc to 155 chars
5 min
⚠ Days 31–60 — On-Page & Performance
Add geo modifier to all service page titles (add “Maryland”)
1 hr
Install WP Rocket or Perfmatters, defer non-critical JS
2 hrs
Enable Cloudflare free plan for CDN + cache
1 hr
Convert hero and service images to WebP
2 hrs
Lazy-load LeadConnector widget (delay 3s or on scroll)
1 hr
Add FAQPage schema to top 4 service pages
2 hrs
Verify GTranslate hreflang or disable if not needed
1 hr
Audit + update Elementor CSS: disable dashicons if not used
1 hr
Add Google Maps embed to contact page
30 min
Add Strict-Transport-Security (HSTS) + CSP headers via Nginx
1 hr
📈 Days 61–90 — Authority & Content
Differentiate top 10 location pages with 300+ unique words each
20 hrs
Add city-specific FAQ + FAQPage schema to location pages
8 hrs
Launch blog: 2 posts targeting “cost” and “how to” keywords
4 hrs
Add AggregateRating schema (link to Google Reviews count)
1 hr
Add internal links from service pages to top 5 city pages
2 hrs
Add contractor license + insurance badge to footer
1 hr
Submit updated sitemap to Google Search Console
15 min
Set up IndexNow for faster page indexing
30 min
Add Service schema to each service page
3 hrs
Request Google Review schema endorsements from happy customers
Ongoing

Projected Score After 30-Day Fixes

CategoryCurrentAfter 30 DaysKey Improvement
Technical SEO6275Remove junk pages from sitemap, fix H1
Content Quality4755Meta descriptions written for all pages
On-Page SEO4065Meta descs + fixed title + single H1
Schema1862LocalBusiness schema with full NAP
Performance4850Minor; big gains in Days 31–60
AI Search2548llms.txt + schema address data
Images5278All empty alt attributes filled
Overall44~64+20 points from critical fixes alone