Public Audit Report

petermanhvac.com

https://petermanhvac.com/
Scanned on May 27, 2026
63
Overall
C
65
SEO
68/105 passed
56
AEO
29/52 passed
66
GEO
38/58 passed
135
Passed
80
Failed
215
Total Checks
Needs Work
Rating

Quick Wins — Top 5 Issues to Fix

SEO — 65/100 (37 issues)

Failed Checks (37)

  • Description length: 202 chars (too long)meta
  • 11 title tags found — should be exactly 1meta
  • No theme-color meta tag — improves mobile browser appearancemeta
  • Title-H1 alignment: 33% word overlap — title and H1 should share key termscontent
  • Readability: 19 (difficult — simplify language)content
  • 9 images missing width/height — causes layout shift (CLS)content
  • 50 of 57 images use legacy formats (JPG/PNG/GIF) — convert to WebP/AVIF for 25-50% smaller filescontent
  • 5 non-descriptive link text(s) found ("learn more"...) — use descriptive anchor text for SEOcontent
  • Missing og:image — social shares will lack visualssocial
  • Missing twitter:imagesocial
  • No hreflang tags — add if targeting multiple languagestechnical
  • Text-to-HTML ratio: 3.4% — too code-heavy, add more contenttechnical
  • Inline CSS: 103.9 KB — too much, move to external stylesheetperformance
  • Inline JS: 40.0 KB — too much, use external scriptsperformance
  • 18 render-blocking scripts — add defer or async attributeperformance
  • No font preload/preconnect — add for faster renderingperformance
  • No Content-Security-Policy header — XSS risksecurity
  • 4 HTTP resource(s) on HTTPS page — security risktechnical
  • 5 of 5 internal links are brokencontent
  • 12 target="_blank" links missing rel="noopener" — security risksecurity
  • No Web App Manifest — add for installability and modern web signalstechnical
  • No dns-prefetch or preconnect hints — add for faster third-party loadingperformance
  • 0% sentences use transition words — aim for 20%+content
  • Only 25% responsive images — add srcset for mobilecontent
  • Hero image has loading="lazy" — delays LCP! Remove lazy from above-fold imagesperformance
  • Possible hidden text detected (font-size:0 or same-color text) — Google spam violationtechnical
  • No Referrer-Policy header — may leak URL datasecurity
  • 1 paragraph(s) exceed 150 words — break up for readabilitycontent
  • H1 length: 85 characters — too long, keep under 70content
  • 525 links on page — exceeds 100 limit, may dilute link equitycontent
  • DOM size: ~2493 elements — exceeds 1500, may slow renderingperformance
  • 8 duplicate ID(s) found: "18" (2x), "+i+dl;f.parentNode.insertBefore(j,f); })(window,document," (2x), "1d5befc0" (2x) — must be unique per HTML specaccessibility
  • 3 iframe(s) without sandbox attribute — security risksecurity
  • Paginated page without rel=next/prev — add for proper crawl chaintechnical
  • No RSS/Atom feed in <head> — add for content discovery by aggregators and AItechnical
  • No IndexNow integration — add for instant Bing/Yandex indexing on content changestechnical
  • 18 of 26 H2 sections have < 50 words — add more content or merge thin sectionscontent

Passed Checks (68)

  • Title tag found: "Trusted Indianapolis HVAC, Plumbing &amp; Electrical Experts"meta
  • Title length: 60 characters (optimal)meta
  • Meta description found (202 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
  • 26 H2 tags foundcontent
  • Heading hierarchy is correctcontent
  • 2204 words on page (good content depth)content
  • 25% long sentences (>20 words) — good readabilitycontent
  • All 57 images have ALT textcontent
  • JS-based lazy loading detectedcontent
  • 474 internal links foundcontent
  • 25 external links foundcontent
  • No empty href attributes foundcontent
  • Open Graph title foundsocial
  • Open Graph description foundsocial
  • Open Graph URL foundsocial
  • og:type set to "website"social
  • og:site_name: "Peterman Brothers"social
  • Twitter Card: "summary_large_image"social
  • Twitter title foundsocial
  • Twitter description foundsocial
  • HTTPS enabledtechnical
  • Canonical tag foundtechnical
  • Canonical tag is self-referencing (correct)technical
  • Favicon foundtechnical
  • Apple touch icon foundtechnical
  • Compression: brtechnical
  • URL length: 25 chars (good)technical
  • URL uses hyphens or no separators (good)technical
  • No deprecated HTML tags foundtechnical
  • Cache-Control: max-age=600, must-revalidateperformance
  • HSTS header present — enforces HTTPSsecurity
  • X-Content-Type-Options: nosniffsecurity
  • About page link found — builds trust and E-E-A-Ttrust
  • Contact page/email link foundtrust
  • Privacy Policy link foundtrust
  • Terms of Service link foundtrust
  • Author byline found + author in schematrust
  • 1 JSON-LD schema block(s) foundschema
  • Schema types: Place, HomeAndConstructionBusiness,Organization, WebSite, ImageObject, WebPage, Person, Articleschema
  • <!DOCTYPE html> declaredtechnical
  • All 1 JSON-LD block(s) have valid syntaxschema
  • font-display: swap detected — prevents invisible textperformance
  • 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 5 URL(s)technical
  • 0% nofollow links (0/500) — good link equity flowcontent
  • All schema types have required propertiesschema
  • 28 first-person pronouns — strong personal experiencecontent
  • max-image-preview:large — eligible for Google Discover large imagesmeta
  • Permissions-Policy header presentsecurity
  • Title and meta description are different (good)meta
  • OG URL matches canonical URL (consistent)social
  • Viewport allows zoom (good for accessibility)accessibility
  • No snippet blocking detected (good — content is fully accessible)technical
  • Schema dates consistent: published 2023-06-16T13:32:21+00:00, modified 2026-05-26T20:36:14+00:00schema
  • No render-blocking scripts in head (good)performance
  • 5 third-party script domain(s) (acceptable)performance
  • ARIA landmarks present: main, nav, skip-linkaccessibility
  • All 5 form input(s) have labels or aria-labelsaccessibility
AEO — 56/100 (23 issues)

Failed Checks (23)

  • Only 0 content sections — segment your content betterdiscoverability
  • No definition lists (<dl>) — great for term/value pairsdiscoverability
  • No code blocks — add <code>/<pre> for technical contentdiscoverability
  • No FAQ section found — add Q&A content for AI citationstructure
  • No data tables — tables help AI compare and cite datastructure
  • No concise answer paragraphs detected — add short summaries after headingsstructure
  • No numbered steps or ordered lists — add for "how to" AI answersstructure
  • Few key-value patterns — use "**Label:** value" format for AIstructure
  • No source citations — reference studies and data for authoritycitation
  • Only 0 concise answer paragraph(s) after headings — add 2+ short summaries (40-200 chars) right after H2/H3 tagscitation
  • No Speakable schema — add for voice assistant optimizationvoice
  • First paragraph too short for AI snippetsvoice
  • Avg 33 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 /llms.txt found — add one to guide AI crawlers (emerging standard)discoverability
  • No sameAs links in schema — add social profiles for brand recognitioncitation
  • Brand name inconsistent — align site name across title, og:site_name, Organization schemacitation
  • 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 (11 partial vs 7 full) — standardizecitation

Passed Checks (29)

  • Structured data found — AI can understand your contentdiscoverability
  • 2204 words in HTML — good content for AI parsingdiscoverability
  • Clean URL structurediscoverability
  • 4 semantic HTML5 elements founddiscoverability
  • Description + OG description both present — clear topic signalsdiscoverability
  • 79 named entities found — helps AI understand contextdiscoverability
  • 474 internal links — good topic cluster signaldiscoverability
  • Question-style headings found — ideal for AI snippetsstructure
  • 79 lists found — structured content for AIstructure
  • 75% short sentences — easy for AI to extractstructure
  • 97% concise paragraphs — scannable for AIstructure
  • Avg 87 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
  • 21 external links — references authoritative sourcescitation
  • Content references 2026/2025 — fresh contentcitation
  • Topic focus: 100% — title keywords found in contentcitation
  • 70 conversational words — good for AI summariesvoice
  • SearchAction schema found — sitelinks search box enabledvoice
  • Active voice dominant (6% passive) — AI-friendlyvoice
  • Pronoun density: 1.8% — engaging, user-focusedvoice
  • 28 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 crawlers allowed in robots.txt (3/4 explicitly listed)discoverability
  • Content updated within 90 days — fresh content gets 3.2x more AI citationscitation
GEO — 66/100 (20 issues)

Failed Checks (20)

  • Title and H1 don't align — confusing for AI topic matchingoverview
  • No step-by-step content — add numbered guides for AIoverview
  • 52% optimal paragraphs — aim for 20-80 words per paragraphoverview
  • No source citations — reference studies and data for authorityauthority
  • No examples or case studies — add real-world examplesauthority
  • No links to authoritative sources — cite Google, Schema.org, etc.authority
  • No FAQ Schema — add for Google rich results + AI Overviewformat
  • No HowTo Schema — add for step-by-step rich resultsformat
  • No comparison content — add vs. sections for AI recommendationsformat
  • No summary section — add Key Takeaways or TL;DR for AIformat
  • No BreadcrumbList schema — add for better AI contextformat
  • Only one list type — use both <ul> and <ol> for content varietyformat
  • Only 2/6 formatting types — use bold, lists, tables, quotes, codeformat
  • Single-perspective content — add "on the other hand..." for balanceformat
  • No <time> elements — wrap dates in <time datetime="...">semantic
  • Few data points with units — add specific numbers (e.g., "300+ users")semantic
  • Few sections have subtopics — add H3 subheadings for depthsemantic
  • Incomplete Open Graph tags — AI uses these for contexttechnical
  • Only 0 data points — add 5+ statistics for +30-40% AI visibility (Princeton study)authority
  • No authoritative sameAs links — add Wikipedia/Wikidata/LinkedIn URIs to schema for Knowledge Graph alignmentauthority

Passed Checks (38)

  • Definition-style content found — featured snippet candidateoverview
  • 2 question headings — matches "People Also Ask" formatoverview
  • Content freshness signals detectedoverview
  • Comprehensive content (2204 words, 26 sections)overview
  • 2-level heading hierarchy — deep content structureoverview
  • Author schema markup foundauthority
  • 3/5 trust signals foundauthority
  • Brand identity consistent (OG + Schema)authority
  • Original research/data signals foundauthority
  • Expert quotes or testimonials found — authority signalauthority
  • 3 industry terms used — domain expertise signalauthority
  • 10 unique external domains — diverse sourcesauthority
  • 57 images all with ALT text — AI can understand visualsformat
  • Data visualization elements found (tables/charts)format
  • Actionable advice found — AI prefers practical contentformat
  • Conclusion/recommendation found — helps AI provide answersformat
  • 3 entity types in Schema — AI can classify contentsemantic
  • 6/14 semantic HTML5 elements — deep semantic structuresemantic
  • 100% title keywords in first 200 words — good prominencesemantic
  • 424 contextual links — good cross-referencingsemantic
  • Content categorization found — clear topic classificationsemantic
  • Mobile-friendly (viewport set)technical
  • HTTPS secure — trusted by AI systemstechnical
  • Page size: 441 KB — reasonabletechnical
  • Canonical URL set — prevents AI from citing duplicatestechnical
  • Page allows AI indexing (no noindex/nosnippet)technical
  • 7 Schema types — rich structured datatechnical
  • Language + OG locale set — clear language signaltechnical
  • 4 ARIA landmarks found — good accessibility for AItechnical
  • All image ALT texts are descriptive (>5 chars)format
  • 2204 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
  • Author "Dan Horsch" 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
  • 1 image caption(s) found — helps AI understand visual contentformat

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