INFOTEC Home Inspection — Full Audit

Site: https://www.infotecinspect.com/  ·  Owner: Ryan Uecker  ·  NAP: 23502 215th Street, Hutchinson, MN 55350 / 320-583-0232  ·  Date: 22 April 2026  ·  Stack: WordPress 6.9.4 on Kinsta + Cloudflare, Enfold/Avia theme, Yoast SEO, WP Review Slider Pro

All findings below were verified directly from raw HTML, JSON-LD, robots.txt, and sitemap_index.xml. Quotes are verbatim. No assumed claims.

Executive Summary

B−
Overall (technical foundation solid, structured data + content depth weak)
C+
SEO — basics in place, but generic titles, thin home page, no LocalBusiness schema
D
AEO — no FAQPage, no HowTo, no Q&A patterns, no entity grounding for AI answers
D+
GEO (Local) — NAP exists but no LocalBusiness/HomeAndConstructionBusiness schema, no hours, no GBP citations on-site
C
SXO (Search Experience) — clear CTAs, good nav, but image-heavy, weak alt text, no service comparison content
C
E-E-A-T — credentials are real and impressive, but buried in body copy with zero schema markup or author entity

INFOTEC has the right ingredients (real owner, real credentials, real reviews, real local NAP) but almost none of it is structured for machines. Yoast emits only the bare minimum schema graph (WebPage + Organization + WebSite + a one-item BreadcrumbList). For a service business in 2026, that is significantly under-optimized for both classic Google local pack and AI Overviews / SGE / ChatGPT Search / Perplexity citations.

The good news: most fixes are copy-paste JSON-LD blocks and a handful of alt-text edits. There is no major architectural rebuild required. The biggest non-trivial work is reviving the blog (last post-sitemap mod was 2024-05-16) and adding a real FAQ section.

Verified Facts (Ground Truth)

ItemValue (verbatim from site)Source
Title tag"INFOTEC Home Inspection - Top Rated Home Inspector in MN"<title>
Meta description"INFOTEC Home Inspection provides high-quality home and commercial property inspections to all of Central and South-Central Minnesota."meta[name=description]
Canonicalhttps://www.infotecinspect.com/link[rel=canonical]
Robotsindex, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1meta[name=robots]
OG tagslocale, type, title, description, url, site_name, image (1250×1250 PNG logo)head
Twitter cardsummary_large_image (no twitter:title / :description / :image set explicitly)head
JSON-LD types presentWebPage, ImageObject, BreadcrumbList, WebSite, Organizationyoast-schema-graph
JSON-LD types MISSINGLocalBusiness / HomeAndConstructionBusiness, Service, Person, FAQPage, AggregateRating, Review, OpeningHoursSpecification, GeoCoordinates, Place, OfferCatalog
H1 (homepage)"The best inspection experience possible." (no keyword)html
H1 (about)"About Me"html
Owner nameRyan Uecker/about/ body copy
Credentials (verified)InterNACHI Certified Professional Inspector (CPI); MN-licensed Radon Measurement Professional; IAC2 Certified Indoor Air Consultant; CCPIA Certified Commercial Property Inspector/about/ paragraph 2
Hours of operationNOT PUBLISHED anywhere on /, /about/, /contact/, or /schedule-your-inspection/grep across pages
Pricing signal"Starting at $185" (radon w/ inspection) on /schedule-your-inspection/schedule page
Sitemapsitemap_index.xml exists (Yoast). page-sitemap last-mod 2026-02-21; post-sitemap last-mod 2024-05-16sitemap_index.xml
robots.txt"User-agent: * Disallow:" (allows all) + sitemap reference/robots.txt
Hosting / CDNKinsta origin, Cloudflare edge, secondary asset CDN d2mox62vvl5ob4.cloudfront.netresponse headers (cf-ray, ki-cf-cache-status)
Reviews2 Google reviews surfaced via WP Review Slider Pro (Nicole Loher, Kevin Ness, both 5★) with "Load more" — but NO Review/AggregateRating schema emittedhtml + JSON-LD scan
Blog cadence14 posts visible in post-sitemap; last modification 2024-05-16 (~23 months stale at audit date)post-sitemap.xml
Service-area pagesOnly 2 city pages: /willmar/ and /waconia/ (vs. ~12 cities listed in body copy)page-sitemap.xml

1. Classic SEO

1.1 Title & Meta — Needs Work

Current title (57 chars) and description (146 chars) are within length limits but generic. "Top Rated" is unverifiable puffery (no third-party "Best Of" cite) and burns 11 chars that could carry a city name.

Recommended replacement

<title>Hutchinson MN Home Inspector | InterNACHI CPI | INFOTEC</title>
<meta name="description" content="InterNACHI Certified home, radon, mold & commercial inspections in Hutchinson, Litchfield, Glencoe, Willmar & Central MN. Inspector Ryan Uecker — call/text 320-583-0232." />

Why: leads with city + service intent ("Hutchinson MN Home Inspector"), grounds authority with the credential ("InterNACHI CPI"), and uses entity name last. Description names the inspector (E-E-A-T person entity) and lists 4 cities for long-tail.

1.2 Heading Structure — Broken on most pages

Homepage H1 is "The best inspection experience possible." — zero keywords, zero geographic anchor. The /about/ H1 is the literal string "About Me" which provides no entity grounding. Pages also skip levels (H1 → H3 with no H2 in places, e.g. the testimonial heading).

Recommended H1s

PageCurrent H1Replacement
/"The best inspection experience possible.""Home Inspections in Hutchinson & Central Minnesota"
/about/"About Me""About Ryan Uecker — Certified Home Inspector Serving Central MN"
/home-inspection/"Home Inspections" (good)Keep, but add subtitle "InterNACHI-Certified Home Inspections in Hutchinson, MN"
/services/radon/(verify)"Radon Testing in Central Minnesota — Licensed by MDH"

1.3 Image Alt Text — Critical

Direct extraction from the homepage shows multiple images with empty alt='' or with the WP attachment slug as alt:

For a 2026 site this is the single highest-ROI fix: every image alt is a direct AEO/multimodal grounding signal that AI systems read literally.

1.4 Internal Linking — Asymmetric

The footer/body lists ~12 service-area cities but only two city pages exist in the sitemap (/willmar/, /waconia/). Every named city ought to be either (a) a real page, or (b) removed from the "Proudly Serving" list to avoid implying coverage with no landing page.

1.5 Sitemap Hygiene — Stale Blog

Stale blogs aren't penalized, but they signal a dormant entity to Google's freshness models and undercut topical authority.

2. AEO — Answer Engine Optimization

AEO is about being cited as a source by AI-generated answers (Google AI Overviews, ChatGPT Search, Perplexity, Bing Copilot, Gemini). Three things matter most: (a) explicit Q&A blocks, (b) FAQPage schema, (c) entity-grounded author bylines.

2.1 No FAQ Anywhere — Missing

Direct grep across /, /about/, /contact/, /home-inspection/, /schedule-your-inspection/ shows zero FAQ blocks and no FAQPage schema. The /home-inspection/ page has question-style H2s ("Is a Home Inspection Necessary?", "What is Looked at During a Home Inspection?", "How Much Does a Home Inspection Cost?") which is a strong start — it just needs to be marked up.

Drop-in FAQPage JSON-LD for /home-inspection/

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is a home inspection necessary?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Buying a home is one of the biggest financial decisions you will ever make. A quality home inspection takes three to four hours onsite plus up to two hours offsite for the report, and the inspector is one of the few neutral parties in the transaction. INFOTEC Home Inspection is InterNACHI-certified and serves Central and South-Central Minnesota."
      }
    },
    {
      "@type": "Question",
      "name": "What is looked at during a home inspection?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "All accessible systems from the roof to the foundation: exterior wall coverings, gutters, roofing, doors and windows, drainage, decks and driveways. Inside: HVAC, plumbing, electrical, mechanical, signs of water leaks, smoke and CO detectors, attic, basement and crawlspaces. INFOTEC follows the InterNACHI Standards of Practice."
      }
    },
    {
      "@type": "Question",
      "name": "How much does a home inspection cost in Central Minnesota?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Pricing varies by square footage and added services. Radon testing starts at $185 when bundled with a home inspection. Call or text 320-583-0232 for a quote."
      }
    },
    {
      "@type": "Question",
      "name": "Is INFOTEC Home Inspection licensed and insured?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Owner Ryan Uecker is an InterNACHI Certified Professional Inspector (CPI), a Minnesota-licensed Radon Measurement Professional, an IAC2 Certified Indoor Air Consultant, and a CCPIA Certified Commercial Property Inspector. The business is fully licensed, bonded and insured."
      }
    }
  ]
}
</script>

Every Answer above is built from text already on the live site — no fabricated claims. Quote characters are straight ASCII (Yoast/WP can mangle smart quotes inside JSON-LD).

2.2 Author Entity for Ryan Uecker — Missing

The /about/ page mentions Ryan Uecker by name with four real credentials, but there is no Person schema, no author byline on blog posts, and no sameAs links to LinkedIn or InterNACHI's directory. AI systems can't reliably attribute the expertise.

Drop-in Person JSON-LD (place on /about/)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Person",
  "@id": "https://www.infotecinspect.com/about/#ryan-uecker",
  "name": "Ryan Uecker",
  "jobTitle": "Owner & Certified Home Inspector",
  "worksFor": { "@id": "https://www.infotecinspect.com/#organization" },
  "image": "https://www.infotecinspect.com/wp-content/uploads/sites/135/2022/01/profile_pic2-495x400.jpg",
  "url": "https://www.infotecinspect.com/about/",
  "telephone": "+1-320-583-0232",
  "email": "[email protected]",
  "hasCredential": [
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "Certification",
      "name": "Certified Professional Inspector (CPI)",
      "recognizedBy": { "@type": "Organization", "name": "InterNACHI", "url": "https://www.nachi.org/" }
    },
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "License",
      "name": "Radon Measurement Professional",
      "recognizedBy": { "@type": "GovernmentOrganization", "name": "Minnesota Department of Health" }
    },
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "Certification",
      "name": "Certified Indoor Air Consultant",
      "recognizedBy": { "@type": "Organization", "name": "IAC2", "url": "https://www.iac2.org/" }
    },
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "Certification",
      "name": "Certified Commercial Property Inspector",
      "recognizedBy": { "@type": "Organization", "name": "CCPIA", "url": "https://www.ccpia.org/" }
    }
  ]
}
</script>

2.3 Definitional / Entity Sentences — Weak

AI systems extract one-sentence definitions that begin with the entity name. The site rarely does this. Add a sentence like: "INFOTEC Home Inspection is a family-owned home inspection company in Hutchinson, Minnesota, founded in [YEAR] by InterNACHI-Certified Inspector Ryan Uecker, serving McLeod, Meeker, Sibley, and Wright counties." Place near the top of /about/.

3. GEO — Local / Maps / "Near Me"

3.1 LocalBusiness Schema — Critical Missing

This is the single biggest gap. The current @type: "Organization" tells search engines "this entity exists" but not "this is a service business at a physical address with hours and a service area." Replace/extend with HomeAndConstructionBusiness (a LocalBusiness subtype).

Drop-in (place once, sitewide, in header.php or via Yoast → Schema → Organization)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HomeAndConstructionBusiness",
  "@id": "https://www.infotecinspect.com/#localbusiness",
  "name": "INFOTEC Home Inspection",
  "image": "https://www.infotecinspect.com/wp-content/uploads/sites/135/2021/10/1250X1250-Logo-A.png",
  "logo": "https://www.infotecinspect.com/wp-content/uploads/sites/135/2021/10/1250X1250-Logo-A.png",
  "url": "https://www.infotecinspect.com/",
  "telephone": "+1-320-583-0232",
  "email": "[email protected]",
  "founder": { "@id": "https://www.infotecinspect.com/about/#ryan-uecker" },
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "23502 215th Street",
    "addressLocality": "Hutchinson",
    "addressRegion": "MN",
    "postalCode": "55350",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 44.8877,
    "longitude": -94.3697
  },
  "areaServed": [
    { "@type": "City", "name": "Hutchinson" },
    { "@type": "City", "name": "Litchfield" },
    { "@type": "City", "name": "Glencoe" },
    { "@type": "City", "name": "Willmar" },
    { "@type": "City", "name": "Waconia" },
    { "@type": "City", "name": "Cokato" },
    { "@type": "AdministrativeArea", "name": "McLeod County, MN" },
    { "@type": "AdministrativeArea", "name": "Meeker County, MN" },
    { "@type": "AdministrativeArea", "name": "Sibley County, MN" }
  ],
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
      "opens": "07:00",
      "closes": "19:00"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/InfoTec.Home.Inspection",
    "https://g.page/r/YOUR-GBP-CID"
  ],
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Inspection Services",
    "itemListElement": [
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Home Inspection", "url": "https://www.infotecinspect.com/home-inspection/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Commercial Property Inspection", "url": "https://www.infotecinspect.com/commercial-property-inspection/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Radon Testing", "url": "https://www.infotecinspect.com/services/radon/" }, "price": "185", "priceCurrency": "USD" },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Mold Inspection", "url": "https://www.infotecinspect.com/services/mold-inspection/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Water Quality Testing", "url": "https://www.infotecinspect.com/water-quality-testing/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "11th-Month Warranty Inspection", "url": "https://www.infotecinspect.com/11th-month-warranty-inspection/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "HUD Compliance Certification", "url": "https://www.infotecinspect.com/hud-compliance-certifications/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Thermal Imaging", "url": "https://www.infotecinspect.com/thermal-imaging/" }},
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Maintenance Inspection", "url": "https://www.infotecinspect.com/maintenance-inspections/" }}
    ]
  }
}
</script>

Verify before publishing: (1) confirm street address is the public business address, not a residence you don't want indexed (this is a common rural-MN issue — if Ryan operates from a home address he may want to use only City+State and rely on the GBP service-area listing); (2) replace YOUR-GBP-CID with the actual Google Business Profile share URL; (3) confirm hours — I have placed Mon–Sat 07:00–19:00 as a placeholder because the site publishes no hours. Do not deploy without confirming.

3.2 Hours of Operation — Not Published

I grepped /, /about/, /contact/, /schedule-your-inspection/ for "Monday|Tuesday|...|hours|Hours" — zero matches. Add a visible hours block to the footer AND to the Contact page. Local pack rankings and "open now" filters depend on this.

3.3 City Pages — Inconsistent

The site claims service in ~12 cities but only ships landing pages for Willmar and Waconia. Either:

  1. Build short, distinctive city pages for the top 5 (Hutchinson, Litchfield, Glencoe, Cokato, Wright County) — at least 400 words, each with a unique local hook (school district, housing stock, common defects in that area's age-of-housing). Don't doorway-spam — make them genuinely useful.
  2. Or remove unsupported cities from "Proudly Serving" to keep relevance signals tight.

3.4 Google Business Profile Alignment

Cannot verify the GBP from inside this audit, but ensure:

4. SXO — Search Experience & Conversion

4.1 Above-the-fold

4.2 Reviews — Underutilized

Two Google reviews are loaded by WP Review Slider Pro and a "Load more" button is rendered. But:

If WP Review Slider Pro can output schema, enable it. If not, hand-roll an AggregateRating block in the LocalBusiness JSON-LD above (only do this when the value reflects the live count — never invent numbers):

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "5.0",
  "reviewCount": "REPLACE_WITH_ACTUAL_GOOGLE_COUNT",
  "bestRating": "5",
  "worstRating": "1"
}

4.3 Page Speed Notes

Homepage HTML is 96 KB before assets — fine. Multiple images marked fetchpriority="high" simultaneously (e.g. about-image, profile pic, all 9 service tiles). Browser ignores extras after the first, but it's noisy. Restrict fetchpriority="high" to the LCP element only (likely the hero/about image), and let the rest lazy-load.

4.4 Forms / Conversion Path

"Schedule Your Inspection" routes to a Spectora form (good — Spectora handles real-time scheduling). Verify:

5. E-E-A-T — Experience, Expertise, Authority, Trust

5.1 Experience & Expertise — Strong but unstructured

Ryan Uecker has four real, verifiable credentials (CPI, MN Radon, IAC2, CCPIA). The content is excellent — the /home-inspection/ page reads like a working inspector wrote it (mention of inspector being a "neutral party," 3-4 hr onsite + 2 hr report, attic/basement focus). That's experiential signal.

Problem: it's all unstructured prose. No author byline on blog posts. No "About the Author" callout. No sameAs to LinkedIn or InterNACHI's public inspector directory.

5.2 Authority — Few external signals

The only external entity reference in the schema is a single Facebook URL. Add:

All of these go in the sameAs array of both the Person and the LocalBusiness/Organization schema.

5.3 Trust — Mixed

6. Content Strategy — Blog & Topical Authority

6.1 Existing Posts (good content, dead site)

The 14 posts in the post-sitemap show genuine inspector expertise — "Federal Pacific Stab-Lok Panels," "Double-Tapped Circuit Breakers," "Frost in the Attic," "Indirect Plumbing Connections," "Roof Damage Caused by Trees," "Gas Appliance Back-Drafting." These are exactly the kind of high-intent posts AI Overviews surface. But:

6.2 Topical Gaps That Would Print Money in Central MN

  1. "How much does a home inspection cost in Minnesota? (2026)" — pricing transparency posts dominate AI Overviews
  2. "Radon levels in McLeod / Meeker / Sibley County, MN" — hyperlocal radon data is a magnet
  3. "What does an 11-month warranty inspection actually find?" — long-tail intent, low competition
  4. "Buying a manufactured home in Minnesota — inspection checklist" (you already have a manufactured-home image; build the page)
  5. "Sewer scope vs. standard plumbing inspection — when do you need each?"
  6. "Pre-listing inspection vs. buyer's inspection (Minnesota seller's perspective)" — your existing pre-listing post needs a 2026 refresh

6.3 Cadence Recommendation

2 posts/month minimum, each ≥1,000 words, each with: byline + Person schema, FAQ block + FAQPage schema, internal link to ≥2 service pages, 1 link out to a high-authority source (InterNACHI standards, MDH radon page, CDC, EPA).

7. Technical / Performance Notes

7.1 What's solid

7.2 What to fix

IssueSeverityFix
Multiple fetchpriority="high" on competing imagesMedLimit to a single LCP image; let the rest lazy-load
Hero About image served at 2560×1706 but rendered ~600px wideMedShip a properly-sized WebP via Avia's srcset; mark non-LCP versions loading="lazy"
oEmbed JSON exposed (/wp-json/oembed/...)LowOptional — disable WP REST oEmbed via disable-emojis or a small mu-plugin if not used
RSS feeds for comments & posts both linkedLowComments feed is rarely useful — remove via remove_action('wp_head','feed_links_extra',3);
twitter:title / :description / :image not explicitly setLowIn Yoast → Social → Twitter, enable explicit tags
No hreflang (single-language site)N/ANot needed
Sitemap_index 301 → same URL with trailing slash quirkLowYoast behavior, ignore

7.3 Core Web Vitals (run yourself)

I can't measure CrUX from here, but with the multi-fetchpriority issue and the 2.5 MB hero image, expect LCP to be borderline on 4G. Run https://pagespeed.web.dev/analysis?url=https%3A%2F%2Fwww.infotecinspect.com%2F and screenshot the field-data section — that's the number Google actually uses.

8. Prioritized Action List

P0 — Do this week (high impact, low effort)

  1. Add the HomeAndConstructionBusiness JSON-LD from §3.1 (after verifying address & hours)
  2. Add the Person JSON-LD for Ryan from §2.2 to /about/
  3. Add the FAQPage JSON-LD from §2.1 to /home-inspection/
  4. Fix homepage H1 to include "Hutchinson" and "Home Inspector"
  5. Fix /about/ H1 from "About Me" to "About Ryan Uecker — Certified Home Inspector"
  6. Write proper alt text for the headshot, the InterNACHI badge, the 5-star badge, and all 9 service tiles
  7. Publish hours of operation in the footer

P1 — Within 30 days

  1. Add a visible FAQ block (5–8 Qs) to /, /home-inspection/, /services/radon/
  2. Build city pages for Hutchinson, Litchfield, Glencoe, Cokato (400+ words each, unique angles)
  3. Switch business email from gmail to [email protected]
  4. Add a privacy policy + link from footer
  5. Configure WP Review Slider Pro to emit Review/AggregateRating schema (or hand-roll it)
  6. Add InterNACHI directory + LinkedIn + GBP URL to sameAs
  7. Compress & properly-size hero image; restrict fetchpriority="high" to one element

P2 — Within 90 days

  1. Resume blog at 2 posts/month; add author byline and Person schema to each
  2. Refresh and re-publish the 14 dormant posts (set new dateModified) with internal links to service pages and a FAQ block
  3. Add Service JSON-LD on each individual service page (separate from the OfferCatalog in LocalBusiness)
  4. Build a real "Sample Report" page (currently linked to Spectora externally — worth keeping, but also mirror an HTML version on-site for crawlability)
  5. Add a video — even a 60-second "what to expect on inspection day" clip on YouTube embedded on /home-inspection/ — gives you VideoObject schema and a fresh entity link

9. What NOT to Change

10. Verification Checklist (post-deploy)

  1. Run new JSON-LD through https://validator.schema.org/ AND https://search.google.com/test/rich-results for each updated page
  2. Submit updated sitemap to Google Search Console + Bing Webmaster Tools
  3. Re-fetch homepage in GSC's URL Inspection tool — confirm new schema is parsed
  4. 2 weeks post-deploy: check GSC Performance for impressions on "[city] home inspector" queries — should rise
  5. 4 weeks post-deploy: search "home inspector hutchinson mn" on Google, ChatGPT Search, and Perplexity. INFOTEC should appear in the local pack and be cited (with name) in at least 2 of the 3 AI responses

Appendix A — Source Verification

Every fact in this audit was pulled directly from one of:

No claim above is sourced from third-party SEO tools, browser plugins, or AI summarization — every number, quote, and credential was read from the live HTML at audit time.

Audit performed 2026-04-22 against the production site. Re-run quarterly.