Public Audit Report

dfwsolar.pro

https://dfwsolar.pro/
Scanned on August 17, 2026
65
Overall
C
75
SEO
71/97 passed
56
AEO
24/47 passed
52
GEO
26/56 passed
121
Passed
78
Failed
199
Total Checks
Needs Work
Rating

Quick Wins — Top 5 Issues to Fix

SEO — 75/100 (26 issues)

Failed Checks (26)

  • Title length: 104 characters (too long, keep under 60)meta
  • Description length: 263 chars (too long)meta
  • 52% long sentences (>20 words) — break up for readabilitycontent
  • Only 1 internal links — add more for better crawlingcontent
  • No compression detected (gzip/brotli recommended)technical
  • No hreflang tags — add if targeting multiple languagestechnical
  • No font preload/preconnect — add for faster renderingperformance
  • Missing X-Content-Type-Options headersecurity
  • No Content-Security-Policy header — XSS risksecurity
  • No About page link detected — add for credibilitytrust
  • No Contact page link detected — add for trust signalstrust
  • No Privacy Policy link — required by GDPR and improves trusttrust
  • No Terms of Service link — add for legal compliance and trusttrust
  • No author byline — add "By [Name]" for E-E-A-T trusttrust
  • Schema may be excessive: 1 JSON-LD blocks, 15.5 KB total — consider consolidatingschema
  • No Web App Manifest — add for installability and modern web signalstechnical
  • No dns-prefetch or preconnect hints — add for faster third-party loadingperformance
  • Page is JS-rendered SPA — content may not be visible to search enginestechnical
  • Only 1 first-person pronouns — add personal experience (E-E-A-T)content
  • 0% sentences use transition words — aim for 20%+content
  • Missing X-Frame-Options — clickjacking risksecurity
  • No Referrer-Policy header — may leak URL datasecurity
  • No Permissions-Policy — restrict camera/mic/geo accesssecurity
  • H1 length: 73 characters — too long, keep under 70content
  • Missing ARIA landmarks — add <main>, <nav>, and skip-to-content link for accessibilityaccessibility
  • No RSS/Atom feed in <head> — add for content discovery by aggregators and AItechnical

Passed Checks (71)

  • Title tag found: "Residential Solar Calculator & Free Estimate DFW | $0 Down S..."meta
  • Meta description found (263 chars)meta
  • Viewport meta tag found (mobile-friendly)meta
  • UTF-8 charset declaredmeta
  • Language attribute set on HTML tagmeta
  • No meta refresh redirect (good)meta
  • Robots: "index, follow, max-image-preview:large, max-snippet:-1"meta
  • meta keywords tag found — deprecated since 2009, Google ignores it. Remove to keep HTML cleanmeta
  • Single H1 tag foundcontent
  • Title-H1 alignment: 64% word overlap (good)content
  • 7 H2 tags foundcontent
  • Heading hierarchy is correctcontent
  • 587 words on page (good content depth)content
  • Readability: 33 (moderate — aim for 60+)content
  • No images found on pagecontent
  • No images to check for dimensionscontent
  • No below-fold images to lazy loadcontent
  • 1 external links foundcontent
  • No empty href attributes foundcontent
  • Open Graph title foundsocial
  • Open Graph description foundsocial
  • Open Graph image foundsocial
  • Open Graph URL foundsocial
  • og:type set to "website"social
  • og:site_name: "DFW Solar Pro"social
  • Twitter Card: "summary_large_image"social
  • Twitter title foundsocial
  • Twitter description foundsocial
  • Twitter image foundsocial
  • HTTPS enabledtechnical
  • Canonical tag foundtechnical
  • Canonical tag is self-referencing (correct)technical
  • Favicon foundtechnical
  • URL length: 21 chars (good)technical
  • URL uses hyphens or no separators (good)technical
  • No deprecated HTML tags foundtechnical
  • Text-to-HTML ratio: 15.9% (good)technical
  • Inline CSS: 0.0 KB (acceptable)performance
  • Inline JS: 15.7 KB (acceptable)performance
  • All 2 external scripts use defer/asyncperformance
  • Cache-Control: private, max-age=14400performance
  • HSTS header present — enforces HTTPSsecurity
  • 1 JSON-LD schema block(s) foundschema
  • Schema types: WebSite, Organization, Person, LocalBusiness, Service, Service, Service, Service, FAQPageschema
  • <!DOCTYPE html> declaredtechnical
  • No mixed content — all resources use HTTPStechnical
  • All 1 JSON-LD block(s) have valid syntaxschema
  • Viewport includes width=device-width (responsive)meta
  • robots.txt found and allows crawlingtechnical
  • robots.txt includes Sitemap referencetechnical
  • No AI crawlers blocked in robots.txt — AI search and training can access contenttechnical
  • sitemap.xml found with valid formattechnical
  • Sitemap contains 2 URL(s)technical
  • OG image uses absolute URL (correct)social
  • All schema types have required propertiesschema
  • Title uses "|" separator — Google may rewrite it; consider using "—" insteadmeta
  • max-image-preview:large — eligible for Google Discover large imagesmeta
  • Organization schema includes logoschema
  • Title and meta description are different (good)meta
  • OG URL matches canonical URL (consistent)social
  • Viewport allows zoom (good for accessibility)accessibility
  • 2 links on page (within limit)content
  • DOM size: ~63 elements (good)performance
  • No snippet blocking detected (good — content is fully accessible)technical
  • Schema dates consistent: published 2026-06-10, modified 2026-06-18schema
  • No render-blocking scripts in head (good)performance
  • 1 third-party script domain(s) (acceptable)performance
  • All 0 form input(s) have labels or aria-labelsaccessibility
  • No duplicate IDs found (1 unique IDs)accessibility
  • No iframes on pagesecurity
  • All 7 H2 sections have sufficient depth (avg 68 words)content
AEO — 56/100 (23 issues)

Failed Checks (22)

  • Only 1 semantic elements — add <article>, <section>, <main>discoverability
  • Only 0 content sections — segment your content betterdiscoverability
  • Few internal links — AI values interconnected contentdiscoverability
  • No definition lists (<dl>) — great for term/value pairsdiscoverability
  • Few or no lists — add bullet/numbered lists for better AI parsingstructure
  • No data tables — tables help AI compare and cite datastructure
  • 48% short sentences — shorten sentences for better AI parsingstructure
  • Few key-value patterns — use "**Label:** value" format for AIstructure
  • Only 2/5 E-E-A-T signals — add about, contact, author infocitation
  • No source citations — reference studies and data for authoritycitation
  • Few external links — cite authoritative sources for AI trustcitation
  • No recent year mentioned — AI prefers up-to-date contentcitation
  • Only 1 concise answer paragraph(s) after headings — add 2+ short summaries (40-200 chars) right after H2/H3 tagscitation
  • First paragraph too long — aim for 20-60 words for AI citationsvoice
  • Avg 24 words/sentence — simplify for AI and voicevoice
  • No summary section — add Key Takeaways for AI extractionvoice
  • Few Q&A blocks — add question headings followed by answer paragraphsvoice
  • No Table of Contents — add jump links for AI content navigationstructure
  • No video content — multimedia increases AI engagement and citation ratediscoverability
  • Statistics lack source references — attribute data to boost AI trustcitation
  • No <details>/<summary> elements — use for expandable Q&A contentstructure
  • Brand name used inconsistently (5 partial vs 2 full) — standardizecitation

Passed Checks (24)

  • Structured data found — AI can understand your contentdiscoverability
  • 587 words in HTML — good content for AI parsingdiscoverability
  • Clean URL structurediscoverability
  • Description + OG description both present — clear topic signalsdiscoverability
  • 24 named entities found — helps AI understand contextdiscoverability
  • Q&A/FAQ content detected — useful for AI answers (note: Google retired FAQ rich results in May 2026; the schema itself no longer produces SERP features)structure
  • Question-style headings found — ideal for AI snippetsstructure
  • Concise answer paragraphs after headings — great for AI citationstructure
  • Step-by-step content detected — AI loves procedural answersstructure
  • 100% concise paragraphs — scannable for AIstructure
  • Avg 68 words/section — sufficient depthstructure
  • Author information found — builds E-E-A-Tcitation
  • Publication/modification date foundcitation
  • Statistics and data found in content — highly citablecitation
  • Organization schema found — AI can identify your brandcitation
  • Topic focus: 100% — title keywords found in contentcitation
  • 20 conversational words — good for AI summariesvoice
  • Active voice dominant (0% passive) — AI-friendlyvoice
  • Pronoun density: 2.7% — engaging, user-focusedvoice
  • 7 H2/H3 headings — good content structure for AIvoice
  • No AI-blocking robots directives — AI crawlers can access contentdiscoverability
  • Freshness signal found (Last-Modified header or dateModified)citation
  • AI search crawlers not blocked in robots.txt (8/8 allowed)discoverability
  • Content updated within 90 days — AI engines strongly prefer fresh contentcitation
GEO — 52/100 (30 issues)

Failed Checks (30)

  • Few question headings — add Q&A headings for AI Overviewoverview
  • Content may be too thin for AI Overview (587 words, 7 sections)overview
  • Title and H1 don't align — confusing for AI topic matchingoverview
  • No step-by-step content — add numbered guides for AIoverview
  • Flat heading structure — add H3/H4 subheadings for depthoverview
  • No author schema — add for AI trust signalsauthority
  • No source citations — reference studies and data for authorityauthority
  • Only 1/5 trust signals — add reviews, certificationsauthority
  • No original data signals — "our research shows..." boosts AI citationauthority
  • No expert quotes — add professional opinions for credibilityauthority
  • No examples or case studies — add real-world examplesauthority
  • No links to authoritative sources — cite Google, Schema.org, etc.authority
  • Few external source domains — diversify your referencesauthority
  • No comparison content — add vs. sections for AI recommendationsformat
  • No summary section — add Key Takeaways or TL;DR for AIformat
  • No images — add visuals with descriptive ALT textformat
  • No BreadcrumbList schema — add for better AI contextformat
  • Only one list type — use both <ul> and <ol> for content varietyformat
  • Only 1/6 formatting types — use bold, lists, tables, quotes, codeformat
  • Single-perspective content — add "on the other hand..." for balanceformat
  • No conclusion — add recommendations or a verdict sectionformat
  • 1/14 semantic elements — add <article>, <figure>, <time>, etc.semantic
  • No <time> elements — wrap dates in <time datetime="...">semantic
  • Few contextual links — interlink related contentsemantic
  • Few sections have subtopics — add H3 subheadings for depthsemantic
  • Few ARIA landmarks — add <main>, <nav>, <footer> or role attributestechnical
  • Only 0 data points — adding statistics measurably boosts generative-engine visibility (GEO study, arXiv:2311.09735)authority
  • Author lacks credentials — anonymous content is a GEO penaltyauthority
  • No authoritative sameAs links — add Wikipedia/Wikidata/LinkedIn URIs to schema for entity disambiguationauthority
  • Possible keyword stuffing: "solar" at 6.4% density (26×) — diversify vocabularyauthority

Passed Checks (26)

  • Definition-style content found — featured snippet candidateoverview
  • Content freshness signals detectedoverview
  • 88% optimal paragraphs (20-80 words) — AI-friendlyoverview
  • Brand identity consistent (OG + Schema)authority
  • 4 industry terms used — domain expertise signalauthority
  • Data visualization elements found (tables/charts)format
  • Actionable advice found — AI prefers practical contentformat
  • 3 entity types in Schema — AI can classify contentsemantic
  • 100% title keywords in first 200 words — good prominencesemantic
  • Content categorization found — clear topic classificationsemantic
  • Mobile-friendly (viewport set)technical
  • HTTPS secure — trusted by AI systemstechnical
  • Page size: 23 KB — reasonabletechnical
  • Open Graph fully configured (title, description, image)technical
  • Canonical URL set — prevents AI from citing duplicatestechnical
  • Page allows AI indexing (no noindex/nosnippet)technical
  • 9 Schema types — rich structured datatechnical
  • HTML lang="en" set (add og:locale for completeness)technical
  • 587 words — sufficient depth for AI analysisoverview
  • First 200 words contain topic keywords — AI extracts primarily from the startoverview
  • Definition + list combo — strong featured snippet candidateoverview
  • max-image-preview:large — optimal AI rich result displaytechnical
  • 3/6 question types (5W1H) in headings — comprehensiveoverview
  • No hidden-text cloaking patterns detectedtrust
  • Healthy content-to-chrome ratio (~0% boilerplate)overview
  • All tested AI crawlers can access the page (GPTBot, ClaudeBot, PerplexityBot)authority

Fix These Issues Automatically

Using WordPress? Install SEO Autopilot for one-click auto-fixes on 65+ issues — with full undo support.

Get SEO Autopilot Plugin
Scan This Site Again Request Report Removal