palmetto.com
https://palmetto.com/local/virginia/richmond/
Scanned on July 8, 2026
Quick Wins — Top 5 Issues to Fix
- ✗Title length: 69 characters (too long, keep under 60)meta
- ✗Description length: 27 chars (too short)meta
- ✗Title-H1 alignment: 25% word overlap — title and H1 should share key termscontent
- ✗40% long sentences (>20 words) — break up for readabilitycontent
- ✗1 of 3 images use legacy formats (JPG/PNG/GIF) — convert to WebP/AVIF for 25-50% smaller filescontent
SEO — 77/100 (25 issues)
Failed Checks (25)
- ✗Title length: 69 characters (too long, keep under 60)meta
- ✗Description length: 27 chars (too short)meta
- ✗Title-H1 alignment: 25% word overlap — title and H1 should share key termscontent
- ✗40% long sentences (>20 words) — break up for readabilitycontent
- ✗1 of 3 images use legacy formats (JPG/PNG/GIF) — convert to WebP/AVIF for 25-50% smaller filescontent
- ✗7 non-descriptive link text(s) found ("learn more"...) — use descriptive anchor text for SEOcontent
- ✗No hreflang tags — add if targeting multiple languagestechnical
- ✗Inline CSS: 89.2 KB — too much, move to external stylesheetperformance
- ✗Inline JS: 33.6 KB — too much, use external scriptsperformance
- ✗No Cache-Control header — browser cannot cache effectivelyperformance
- ✗No Strict-Transport-Security headersecurity
- ✗Missing X-Content-Type-Options headersecurity
- ✗No Content-Security-Policy header — XSS risksecurity
- ✗No Contact page link detected — add for trust signalstrust
- ✗Schema may be excessive: 6 JSON-LD blocks, 12.1 KB total — consider consolidatingschema
- ✗Web fonts without font-display: swap — may cause FOITperformance
- ✗URL lacks title keywords — use a descriptive URL slugtechnical
- ✗No Web App Manifest — add for installability and modern web signalstechnical
- ✗Schema missing required props: Organization: url; Product: imageschema
- ✗Missing X-Frame-Options — clickjacking risksecurity
- ✗No Referrer-Policy header — may leak URL datasecurity
- ✗No Permissions-Policy — restrict camera/mic/geo accesssecurity
- ✗4 paragraph(s) exceed 150 words — break up for readabilitycontent
- ✗Missing ARIA landmarks — add <main>, <nav>, and skip-to-content link for accessibilityaccessibility
- ✗1 iframe(s) without sandbox attribute — security risksecurity
Passed Checks (80)
- ✓Title tag found: "Richmond, VA Solar Installation: 2026 Costs, Incentives &..."meta
- ✓Year 2026 in title with dateModified — legitimate freshness signalmeta
- ✓Meta description found (27 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: "follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"meta
- ✓Single H1 tag foundcontent
- ✓12 H2 tags foundcontent
- ✓Heading hierarchy is correctcontent
- ✓4549 words on page (good content depth)content
- ✓Readability: 43 (moderate — aim for 60+)content
- ✓All 3 images have ALT textcontent
- ✓All 3 images have width/height attributes (prevents CLS)content
- ✓JS-based lazy loading detectedcontent
- ✓25 internal links foundcontent
- ✓21 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 "article"social
- ✓og:site_name: "Palmetto | Your Energy, Your Way"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
- ✓Compression: enabled (vary: accept-encoding)technical
- ✓URL length: 45 chars (good)technical
- ✓URL uses hyphens or no separators (good)technical
- ✓URL is lowercase (good)technical
- ✓No deprecated HTML tags foundtechnical
- ✓Text-to-HTML ratio: 12.1% (good)technical
- ✓No external scriptsperformance
- ✓Font preload/preconnect found — faster font loadingperformance
- ✓About page link found — builds trust and E-E-A-Ttrust
- ✓Privacy Policy link foundtrust
- ✓Terms of Service link foundtrust
- ✓Author byline found + author in schematrust
- ✓6 JSON-LD schema block(s) foundschema
- ✓Schema types: Organization, WebSite, ImageObject, WebPage, Person, Article, BreadcrumbList, LocalBusiness, Product, WebApplication, FAQPageschema
- ✓<!DOCTYPE html> declaredtechnical
- ✓No mixed content — all resources use HTTPStechnical
- ✓All 6 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 1 URL(s)technical
- ✓All 5 checked internal links are workingcontent
- ✓0% nofollow links (0/46) — good link equity flowcontent
- ✓OG image uses absolute URL (correct)social
- ✓All 14 target="_blank" links have rel="noopener"security
- ✓2 resource hint(s) (dns-prefetch/preconnect) — faster loadingperformance
- ✓33 first-person pronouns — strong personal experiencecontent
- ✓Only 33% responsive images — add srcset for mobilecontent
- ✓max-image-preview:large — eligible for Google Discover large imagesmeta
- ✓Organization schema includes logoschema
- ✓H1 length: 25 characters (optimal)content
- ✓Title and meta description are different (good)meta
- ✓OG URL matches canonical URL (consistent)social
- ✓Viewport allows zoom (good for accessibility)accessibility
- ✓59 links on page (within limit)content
- ✓DOM size: ~987 elements (good)performance
- ✓No snippet blocking detected (good — content is fully accessible)technical
- ✓Trailing slash consistent between URL and canonicaltechnical
- ✓Schema dates consistent: published 2025-08-18T23:45:32+00:00, modified 2026-07-01T08:53:54+00:00schema
- ✓No render-blocking scripts in head (good)performance
- ✓0 third-party script domain(s) (acceptable)performance
- ✓All 0 form input(s) have labels or aria-labelsaccessibility
- ✓No duplicate IDs found (52 unique IDs)accessibility
- ✓1 feed(s) discovered (RSS) — aids content discoverytechnical
- ✓All 12 H2 sections have sufficient depth (avg 377 words)content
AEO — 88/100 (6 issues)
Failed Checks (5)
- ✗No definition lists (<dl>) — great for term/value pairsdiscoverability
- ✗Few key-value patterns — use "**Label:** value" format for AIstructure
- ✗Avg 21 words/sentence — simplify for AI and voicevoice
- ✗No video content — multimedia increases AI engagement and citation ratediscoverability
- ✗Brand "Palmetto | Your Energy, Your Way" mentioned only 0 time(s) — repeat for entity recognitioncitation
Passed Checks (41)
- ✓Structured data found — AI can understand your contentdiscoverability
- ✓4549 words in HTML — good content for AI parsingdiscoverability
- ✓Clean URL structurediscoverability
- ✓3 semantic HTML5 elements founddiscoverability
- ✓11 content sections — well-structured for AIdiscoverability
- ✓Description + OG description both present — clear topic signalsdiscoverability
- ✓138 named entities found — helps AI understand contextdiscoverability
- ✓25 internal links — good topic cluster signaldiscoverability
- ✓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
- ✓8 lists found — structured content for AIstructure
- ✓1 data table(s) foundstructure
- ✓Concise answer paragraphs after headings — great for AI citationstructure
- ✓Step-by-step content detected — AI loves procedural answersstructure
- ✓60% short sentences — easy for AI to extractstructure
- ✓95% concise paragraphs — scannable for AIstructure
- ✓Avg 916 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
- ✓5/5 E-E-A-T signals presentcitation
- ✓Source citations found — increases AI trustcitation
- ✓20 external links — references authoritative sourcescitation
- ✓Content references 2026/2025 — fresh contentcitation
- ✓Topic focus: 100% — title keywords found in contentcitation
- ✓3 answer-box-ready paragraphs found after headingscitation
- ✓127 conversational words — good for AI summariesvoice
- ✓First paragraph is snippet-ready (20-60 words)voice
- ✓Active voice dominant (7% passive) — AI-friendlyvoice
- ✓Pronoun density: 2.2% — engaging, user-focusedvoice
- ✓Summary/conclusion section found — AI can extract key pointsvoice
- ✓21 H2/H3 headings — good content structure for AIvoice
- ✓3 Q&A blocks — perfect format for AI extractionvoice
- ✓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
- ✓Table of Contents detected — helps AI navigate long contentstructure
- ✓Statistics with source attribution — highly credible for AI citationcitation
- ✓1 collapsible section(s) (<details>) — interactive AI-friendly contentstructure
GEO — 90/100 (7 issues)
Failed Checks (7)
- ✗Title and H1 don't align — confusing for AI topic matchingoverview
- ✗No original data signals — "our research shows..." boosts AI citationauthority
- ✗No links to authoritative sources — cite Google, Schema.org, etc.authority
- ✗No <time> elements — wrap dates in <time datetime="...">semantic
- ✗Few ARIA landmarks — add <main>, <nav>, <footer> or role attributestechnical
- ✗No <figure>/<figcaption> — wrap images with descriptive captions for AIformat
- ✗Possible keyword stuffing: "solar" at 4.6% density (134×) — diversify vocabularyauthority
Passed Checks (52)
- ✓Definition-style content found — featured snippet candidateoverview
- ✓4 question headings — matches "People Also Ask" formatoverview
- ✓Content freshness signals detectedoverview
- ✓Comprehensive content (4549 words, 12 sections)overview
- ✓Step-by-step content detected — AI Overview friendlyoverview
- ✓3-level heading hierarchy — deep content structureoverview
- ✓77% optimal paragraphs (20-80 words) — AI-friendlyoverview
- ✓Author schema markup foundauthority
- ✓Source citations found — increases AI trustauthority
- ✓4/5 trust signals foundauthority
- ✓Brand identity consistent (OG + Schema)authority
- ✓Expert quotes or testimonials found — authority signalauthority
- ✓Case study or examples found — AI values concrete examplesauthority
- ✓4 industry terms used — domain expertise signalauthority
- ✓11 unique external domains — diverse sourcesauthority
- ✓Comparison content detected — AI loves comparingformat
- ✓Summary/conclusion section foundformat
- ✓3 images all with ALT text — AI can understand visualsformat
- ✓BreadcrumbList schema found — helps AI understand site structureformat
- ✓Data visualization elements found (tables/charts)format
- ✓Both ordered and unordered lists used — content varietyformat
- ✓3/6 formatting types used — rich contentformat
- ✓Multi-perspective content found — balanced analysisformat
- ✓Actionable advice found — AI prefers practical contentformat
- ✓Conclusion/recommendation found — helps AI provide answersformat
- ✓6 entity types in Schema — AI can classify contentsemantic
- ✓5/14 semantic HTML5 elements — deep semantic structuresemantic
- ✓100% title keywords in first 200 words — good prominencesemantic
- ✓44 contextual links — good cross-referencingsemantic
- ✓Content categorization found — clear topic classificationsemantic
- ✓5 sections have subtopics (H3) — deep coveragesemantic
- ✓Mobile-friendly (viewport set)technical
- ✓HTTPS secure — trusted by AI systemstechnical
- ✓Page size: 233 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
- ✓11 Schema types — rich structured datatechnical
- ✓Language + OG locale set — clear language signaltechnical
- ✓All image ALT texts are descriptive (>5 chars)format
- ✓4549 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
- ✓30 data points found — statistics measurably boost generative-engine visibility (GEO study, arXiv:2311.09735)authority
- ✓Author "Nathan Healy" has credentials — strong E-E-A-T signalauthority
- ✓max-image-preview:large — optimal AI rich result displaytechnical
- ✓4/6 question types (5W1H) in headings — comprehensiveoverview
- ✓Link anchor texts are descriptive — good AI context signalsemantic
- ✓3 authoritative sameAs links — helps entity disambiguation (note: sameAs alone does not create a Knowledge Panel)authority
- ✓No hidden-text cloaking patterns detectedtrust
- ✓Healthy content-to-chrome ratio (~12% 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