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.
📊 Score Summary
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.
| Category | Score | Weight | Contribution | Key Finding |
|---|---|---|---|---|
| Technical SEO | 62/100 | 22% | 13.6 pts | Junk pages indexed; redirect chain clean; robots OK |
| Content Quality | 47/100 | 23% | 10.8 pts | 67% location page overlap; service pages thin on meta |
| On-Page SEO | 40/100 | 20% | 8.0 pts | All service pages missing meta desc; double H1; generic titles |
| Schema / Structured Data | 18/100 | 10% | 1.8 pts | No LocalBusiness, no address/phone, no Service schema |
| Performance (CWV) | 48/100 | 10% | 4.8 pts | TTFB 0.62s OK; 63 resource files cause INP/LCP risk |
| AI Search Readiness | 25/100 | 10% | 2.5 pts | No llms.txt; missing structured contact/location data |
| Images | 52/100 | 5% | 2.6 pts | 18 empty alt attributes; large unoptimized images |
| Overall | 44/100 | 100% | 44.1 pts | Needs 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
Organizationschema on the homepage but it contains no address, no telephone number, no geo coordinates, and no@typeofLocalBusiness. 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
hreflangtags 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
FAQPageschema. FAQ rich results can add 2–5 additional lines to search snippets, dramatically increasing SERP real estate. Similarly, each service page should have aServiceschema 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
Organizationschema on the homepage includes the business name, URL, logo, and two social media links, but omits address, telephone, geo coordinates, andareaServed. 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.txtfile, 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: nosniffandX-XSS-Protection: 1; mode=blockbut noContent-Security-Policy(CSP) orStrict-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
| Page | Title | Meta Desc | H1 | Robots | Issue |
|---|---|---|---|---|---|
| / | 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.
🔧 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
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
| Category | Count | Status | Recommendation |
|---|---|---|---|
| Core service pages | 9 | Good | Keep; add meta descriptions |
| Energy audit location pages | 21 | OK — thin | Differentiate content per city |
| Insulation location pages | 21 | OK — thin | Differentiate content per city |
| Solar location pages | 21 | OK — thin | Differentiate content per city |
| EV charger location pages | 21 | OK — thin | Differentiate content per city |
| Dev/demo pages (retro-*) | 2 | Remove | Add noindex or delete |
| PPC landing pages | 2 | Remove | Add noindex to protect QS |
| Thank-you page | 1 | Remove | Add noindex |
| Font test page | 1 | Remove | Delete or noindex |
| UICore TB templates | 2 | Remove | In separate sitemap; block in robots.txt |
⚡ Performance & Core Web Vitals
Server Response Times (3 runs)
CWV Assessment (Lab Estimates)
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 Type | Count | Primary Source | Impact |
|---|---|---|---|
| External JS | 31 | Elementor, BDThemes, LeadConnector, GTM | High TBT / INP risk |
| External CSS | 32 | Elementor, UICore, block-library, dashicons | Render blocking |
| Inline JS blocks | 21 | Google Tags, GTranslate, UICore config | 22KB added to HTML parse |
| Inline CSS blocks | 6 | WP emoji, Elementor per-page | 2KB, acceptable |
| Total HTML size | 264KB | Elementor markup inflation | Large DOM, slow parse |
| Custom font (WOFF) | 1 | Pattanakarn ExtraBold (preloaded) | Font preload is correct |
| Google Fonts (CSS) | 1 | Poppins + Manrope | Render blocking; use display=swap |
📄 Schema: Current State & Fix
Current Schema Coverage
| Schema Type | Present | Complete | Notes |
|---|---|---|---|
| WebSite | Yes | Yes | With SearchAction |
| WebPage | Yes | Partial | Name and description present |
| Organization | Yes | No | Missing address, phone, geo, areaServed |
| BreadcrumbList | Yes | Yes | Yoast-generated |
| ImageObject | Yes | Yes | Logo image |
| LocalBusiness | No | Missing | Critical for local SEO |
| HomeAndConstructionBusiness | No | Missing | Most specific type for this business |
| Service | No | Missing | Add to each service page |
| FAQPage | No | Missing | FAQ sections exist but unmarked |
| AggregateRating | No | Missing | Add 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.
{
"@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": "$$"
}
{
"@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:
| Issue | Impact | Fix |
|---|---|---|
| 67% word overlap between city pages | HCU thin content risk | Add 300+ unique words per city: local landmarks, neighborhood notes, city-specific rebate programs |
| Identical meta descriptions across cities | Low CTR differentiation | Customize meta desc with city name and local stat or rebate |
| No local testimonials per city | Missed trust signal | Add 1–2 verified customer quotes per city page |
| No city-specific FAQ | Missed SERP real estate | Add 2–3 city-relevant questions with FAQPage schema |
| No inbound internal links to location pages | Weak PageRank flow | Link 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
# 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
Projected Score After 30-Day Fixes
| Category | Current | After 30 Days | Key Improvement |
|---|---|---|---|
| Technical SEO | 62 | 75 | Remove junk pages from sitemap, fix H1 |
| Content Quality | 47 | 55 | Meta descriptions written for all pages |
| On-Page SEO | 40 | 65 | Meta descs + fixed title + single H1 |
| Schema | 18 | 62 | LocalBusiness schema with full NAP |
| Performance | 48 | 50 | Minor; big gains in Days 31–60 |
| AI Search | 25 | 48 | llms.txt + schema address data |
| Images | 52 | 78 | All empty alt attributes filled |
| Overall | 44 | ~64 | +20 points from critical fixes alone |