www.gratefulplumber.com
https://www.gratefulplumber.com/
Scanned on June 1, 2026
Quick Wins — Top 5 Issues to Fix
- ✗Missing title tagmeta
- ✗Missing meta descriptionmeta
- ✗No theme-color meta tag — improves mobile browser appearancemeta
- ✗34% long sentences (>20 words) — break up for readabilitycontent
- ✗3 of 51 images missing ALT text (94% have it)content
SEO — 57/100 (41 issues)
Failed Checks (41)
- ✗Missing title tagmeta
- ✗Missing meta descriptionmeta
- ✗No theme-color meta tag — improves mobile browser appearancemeta
- ✗34% long sentences (>20 words) — break up for readabilitycontent
- ✗3 of 51 images missing ALT text (94% have it)content
- ✗29 images missing width/height — causes layout shift (CLS)content
- ✗41 of 51 images use legacy formats (JPG/PNG/GIF) — convert to WebP/AVIF for 25-50% smaller filescontent
- ✗Missing og:title — poor social sharingsocial
- ✗Missing og:descriptionsocial
- ✗Missing twitter:card meta tagsocial
- ✗Missing twitter:titlesocial
- ✗Missing twitter:descriptionsocial
- ✗Missing twitter:imagesocial
- ✗No apple-touch-icon — iOS home screen will lack custom icontechnical
- ✗No hreflang tags — add if targeting multiple languagestechnical
- ✗Text-to-HTML ratio: 9.4% — too code-heavy, add more contenttechnical
- ✗Inline JS: 23.8 KB — too much, use external scriptsperformance
- ✗16 render-blocking scripts — add defer or async attributeperformance
- ✗No font preload/preconnect — add for faster renderingperformance
- ✗No Cache-Control header — browser cannot cache effectivelyperformance
- ✗No Content-Security-Policy header — XSS risksecurity
- ✗No Privacy Policy link — required by GDPR and improves trusttrust
- ✗No Terms of Service link — add for legal compliance and trusttrust
- ✗5 HTTP resource(s) on HTTPS page — security risktechnical
- ✗5 of 5 internal links are brokencontent
- ✗9 target="_blank" links missing rel="noopener" — security risksecurity
- ✗No Web App Manifest — add for installability and modern web signalstechnical
- ✗3% sentences use transition words — aim for 20%+content
- ✗Only 0% responsive images — add srcset for mobilecontent
- ✗No Referrer-Policy header — may leak URL datasecurity
- ✗No Permissions-Policy — restrict camera/mic/geo accesssecurity
- ✗1 paragraph(s) exceed 150 words — break up for readabilitycontent
- ✗228 links on page — exceeds 100 limit, may dilute link equitycontent
- ✗8 render-blocking script(s) in head — add defer or asyncperformance
- ✗6 third-party script domains — may slow page load (use.typekit.net, code.jquery.com, www.google.com...)performance
- ✗2 form input(s) without labels — bad for accessibility and screen readersaccessibility
- ✗2 duplicate ID(s) found: "fb-root" (2x), "Layer_1" (8x) — must be unique per HTML specaccessibility
- ✗2 iframe(s) without sandbox attribute — security risksecurity
- ✗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
- ✗6 of 19 H2 sections have < 50 words — add more content or merge thin sectionscontent
Passed Checks (55)
- ✓Viewport meta tag found (mobile-friendly)meta
- ✓UTF-8 charset declaredmeta
- ✓Language attribute set on HTML tagmeta
- ✓No meta refresh redirect (good)meta
- ✓Robots: "max-image-preview:large"meta
- ✓Single H1 tag foundcontent
- ✓19 H2 tags foundcontent
- ✓Heading hierarchy is correctcontent
- ✓1965 words on page (good content depth)content
- ✓Readability: 46 (moderate — aim for 60+)content
- ✓JS-based lazy loading detectedcontent
- ✓186 internal links foundcontent
- ✓34 external links foundcontent
- ✓No empty href attributes foundcontent
- ✓All link texts are descriptive (no "click here" or "read more")content
- ✓Open Graph image foundsocial
- ✓Open Graph URL foundsocial
- ✓og:type set to "article"social
- ✓og:site_name: "Grateful Plumber"social
- ✓HTTPS enabledtechnical
- ✓Canonical tag foundtechnical
- ✓Canonical tag is self-referencing (correct)technical
- ✓Favicon foundtechnical
- ✓Compression: gziptechnical
- ✓URL length: 32 chars (good)technical
- ✓URL uses hyphens or no separators (good)technical
- ✓No deprecated HTML tags foundtechnical
- ✓Inline CSS: 12.3 KB (acceptable)performance
- ✓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
- ✓Author byline found + author in schematrust
- ✓1 JSON-LD schema block(s) foundschema
- ✓Schema types: WebSiteschema
- ✓<!DOCTYPE html> declaredtechnical
- ✓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 3 URL(s)technical
- ✓0% nofollow links (1/220) — good link equity flowcontent
- ✓OG image uses absolute URL (correct)social
- ✓3 resource hint(s) (dns-prefetch/preconnect) — faster loadingperformance
- ✓All schema types have required propertiesschema
- ✓51 first-person pronouns — strong personal experiencecontent
- ✓max-image-preview:large — eligible for Google Discover large imagesmeta
- ✓H1 length: 27 characters (optimal)content
- ✓OG URL matches canonical URL (consistent)social
- ✓Viewport allows zoom (good for accessibility)accessibility
- ✓DOM size: ~1001 elements (good)performance
- ✓No snippet blocking detected (good — content is fully accessible)technical
- ✓ARIA landmarks present: main, navaccessibility
AEO — 56/100 (23 issues)
Failed Checks (23)
- ✗Missing meta description or og:description — unclear topic for AIdiscoverability
- ✗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 numbered steps or ordered lists — add for "how to" AI answersstructure
- ✗Few key-value patterns — use "**Label:** value" format for AIstructure
- ✗No Organization schema — AI may not recognize your brandcitation
- ✗No source citations — reference studies and data for authoritycitation
- ✗Topic focus: 0% — content doesn't match title keywords wellcitation
- ✗No Speakable schema — add for voice assistant optimizationvoice
- ✗No SearchAction schema — add for enhanced search presencevoice
- ✗Avg 23 words/sentence — simplify for AI and voicevoice
- ✗No summary section — add Key Takeaways for AI extractionvoice
- ✗No Last-Modified header or dateModified — AI prefers content with freshness signalscitation
- ✗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
- ✗Content not updated in 90+ days — stale content loses AI visibilitycitation
- ✗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
Passed Checks (29)
- ✓Structured data found — AI can understand your contentdiscoverability
- ✓1965 words in HTML — good content for AI parsingdiscoverability
- ✓Clean URL structurediscoverability
- ✓6 semantic HTML5 elements founddiscoverability
- ✓40 content sections — well-structured for AIdiscoverability
- ✓69 named entities found — helps AI understand contextdiscoverability
- ✓188 internal links — good topic cluster signaldiscoverability
- ✓Question-style headings found — ideal for AI snippetsstructure
- ✓18 lists found — structured content for AIstructure
- ✓Concise answer paragraphs after headings — great for AI citationstructure
- ✓66% short sentences — easy for AI to extractstructure
- ✓81% concise paragraphs — scannable for AIstructure
- ✓Avg 146 words/section — sufficient depthstructure
- ✓Author information found — builds E-E-A-Tcitation
- ✓Publication/modification date foundcitation
- ✓Statistics and data found in content — highly citablecitation
- ✓3/5 E-E-A-T signals presentcitation
- ✓25 external links — references authoritative sourcescitation
- ✓Content references 2026/2025 — fresh contentcitation
- ✓7 answer-box-ready paragraphs found after headingscitation
- ✓175 conversational words — good for AI summariesvoice
- ✓First paragraph is snippet-ready (20-60 words)voice
- ✓Active voice dominant (2% passive) — AI-friendlyvoice
- ✓Pronoun density: 5.2% — engaging, user-focusedvoice
- ✓35 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
- ✓AI crawlers allowed in robots.txt (0/4 explicitly listed)discoverability
- ✓Brand "Grateful Plumber" used consistently (12 mentions)citation
GEO — 55/100 (26 issues)
Failed Checks (26)
- ✗Title and H1 don't align — confusing for AI topic matchingoverview
- ✗No step-by-step content — add numbered guides for AIoverview
- ✗19% optimal paragraphs — aim for 20-80 words per paragraphoverview
- ✗No author schema — add for AI trust signalsauthority
- ✗No source citations — reference studies and data for authorityauthority
- ✗Incomplete brand identity — add og:site_name + Organization schemaauthority
- ✗No expert quotes — add professional opinions for credibilityauthority
- ✗No examples or case studies — add real-world examplesauthority
- ✗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
- ✗3 images missing ALT textformat
- ✗No BreadcrumbList schema — add for better AI contextformat
- ✗No data tables or charts — add structured data visualizationsformat
- ✗Only one list type — use both <ul> and <ol> for content varietyformat
- ✗Single-perspective content — add "on the other hand..." for balanceformat
- ✗No entity Schema types — add Person, Product, or Organization schemasemantic
- ✗Few data points with units — add specific numbers (e.g., "300+ users")semantic
- ✗0% title keywords in first 200 words — front-load key termssemantic
- ✗Incomplete Open Graph tags — AI uses these for contexttechnical
- ✗Only 1 Schema type(s) — add more for AI contexttechnical
- ✗Only 1 data points — add 5+ statistics for +30-40% AI visibility (Princeton study)authority
- ✗Author lacks credentials — anonymous content is a GEO penaltyauthority
- ✗No <figure>/<figcaption> — wrap images with descriptive captions for AIformat
- ✗No authoritative sameAs links — add Wikipedia/Wikidata/LinkedIn URIs to schema for Knowledge Graph alignmentauthority
Passed Checks (32)
- ✓Definition-style content found — featured snippet candidateoverview
- ✓3 question headings — matches "People Also Ask" formatoverview
- ✓Content freshness signals detectedoverview
- ✓Comprehensive content (1965 words, 19 sections)overview
- ✓3-level heading hierarchy — deep content structureoverview
- ✓2/5 trust signals foundauthority
- ✓Original research/data signals foundauthority
- ✓3 industry terms used — domain expertise signalauthority
- ✓2 links to authoritative sources — boosts credibilityauthority
- ✓13 unique external domains — diverse sourcesauthority
- ✓3/6 formatting types used — rich contentformat
- ✓Actionable advice found — AI prefers practical contentformat
- ✓Conclusion/recommendation found — helps AI provide answersformat
- ✓9/14 semantic HTML5 elements — deep semantic structuresemantic
- ✓<time> element found — machine-readable datessemantic
- ✓170 contextual links — good cross-referencingsemantic
- ✓Content categorization found — clear topic classificationsemantic
- ✓7 sections have subtopics (H3) — deep coveragesemantic
- ✓Mobile-friendly (viewport set)technical
- ✓HTTPS secure — trusted by AI systemstechnical
- ✓Page size: 128 KB — reasonabletechnical
- ✓Canonical URL set — prevents AI from citing duplicatestechnical
- ✓Page allows AI indexing (no noindex/nosnippet)technical
- ✓Language + OG locale set — clear language signaltechnical
- ✓4 ARIA landmarks found — good accessibility for AItechnical
- ✓All image ALT texts are descriptive (>5 chars)format
- ✓1965 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
- ✓4/6 question types (5W1H) in headings — comprehensiveoverview
- ✓Link anchor texts are descriptive — good AI context signalsemantic
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