Catalog / thompsonenv.com
65

SEO audit for thompsonenv.com

Thompson Environmental Consulting | ServGround

otherNext.js

Health 65/100 (fair) · 17 pages crawled · generated 2026-07-29

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Thompson Environmental Consulting provides soil evaluations, septic system design, wastewater permitting, and environmental services across North Carolina with

Screenshot of thompsonenv.com
17
pages crawled
17
indexable pages
0
errors
35
warnings
154
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Canonical 72 0 16 16
Performance 72 0 16 36
Content 98 0 1 50
Headings 98 0 1 0
Robots 98 0 1 0
Agent Readiness 100 0 0 15
Cache 100 0 0 17
Images 100 0 0 2
Security 100 0 0 17
Sitemap 100 0 0 1
Findings

Warnings (5 rules)

warning Interior page canonicalizes to the homepage

Rule canonical.points_to_homepage · Canonical · 16 occurrence(s)

warning Thin content (low word count)

Rule content.thin · Content · 1 occurrence(s)

warning Missing <h1>

Rule h1.missing · Headings · 1 occurrence(s)

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 16 occurrence(s)

  • https://thompsonenv.com/ — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Alternative%20Septic%20Solutions — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Desktop%20Project%20Review — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Drip%20Dispersal%20System%20Designs — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Natural%20Resource%20Investigation — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Regulatory%20Permitting%20(Stream%20and%20Wetlands) — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Seasonal%20Highwater%20Table%20Determination — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Septic%20Final%20Inspection — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Septic%20Preconstruction%20Conference — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Septic%20System%20Design — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Soil%20Evaluation%20for%20Septic%20Suitability%20(Perc%20Testing) — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?service=Stream%20%26%20Wetland%20Delineations — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?type=quote_request — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/contact?type=service_request — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://thompsonenv.com/faq — the likely hero/LCP image (image) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

warning robots.txt blocks CSS/JS the pages need to render

Rule robots.blocks_css_js · Robots · 1 occurrence(s)

  • https://thompsonenv.com/ — robots.txt Disallow blocks render-critical CSS/JS under: /_next/static/chunks/, /_next/static/chunks/app/, /_next/static/chunks/app/site/cd/[domain]/, /_next/static/chunks/app/site/cd/[domain]/contact/, /_next/static/chunks/app/site/cd/[domain]/faq/, /_next/static/chunks/app/site/cd/[domain]/services/, /_next/static/css/ — Google's renderer can't fetch these, so the affected pages may render blank or thin. Allow the asset path(s) for Googlebot.

Notices (14 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 15 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 17 occurrence(s)

notice Canonical points to a different URL

Rule canonical.non_self · Canonical · 16 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 16 occurrence(s)

  • https://thompsonenv.com/ — this page reads as difficult (Flesch Reading Ease 38, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Alternative%20Septic%20Solutions — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Desktop%20Project%20Review — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Drip%20Dispersal%20System%20Designs — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Natural%20Resource%20Investigation — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Regulatory%20Permitting%20(Stream%20and%20Wetlands) — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Seasonal%20Highwater%20Table%20Determination — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Septic%20Final%20Inspection — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Septic%20Preconstruction%20Conference — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Septic%20System%20Design — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Soil%20Evaluation%20for%20Septic%20Suitability%20(Perc%20Testing) — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?service=Stream%20%26%20Wetland%20Delineations — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?type=quote_request — this page reads as difficult (Flesch Reading Ease 49, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/contact?type=service_request — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://thompsonenv.com/services — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 1 occurrence(s)

  • https://thompsonenv.com/services — 11 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 1 occurrence(s)

  • https://thompsonenv.com/services — the likely hero/LCP image (image.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 1 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 17 occurrence(s)

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 1 occurrence(s)

  • https://thompsonenv.com/services — 11 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 17 occurrence(s)

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 17 occurrence(s)

  • https://thompsonenv.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Alternative%20Septic%20Solutions — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Desktop%20Project%20Review — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Drip%20Dispersal%20System%20Designs — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Natural%20Resource%20Investigation — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Regulatory%20Permitting%20(Stream%20and%20Wetlands) — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Seasonal%20Highwater%20Table%20Determination — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Septic%20Final%20Inspection — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Septic%20Preconstruction%20Conference — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Septic%20System%20Design — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Soil%20Evaluation%20for%20Septic%20Suitability%20(Perc%20Testing) — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?service=Stream%20%26%20Wetland%20Delineations — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?type=quote_request — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/contact?type=service_request — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/faq — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://thompsonenv.com/services — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Missing recommended security headers

Rule security.missing_headers · Security · 17 occurrence(s)

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 1 occurrence(s)

Pages (showing 17 of 17)
URLStatusIndexableWordsIn-links
https://thompsonenv.com/
Thompson Environmental Consulting | ServGround
200 yes 1272 17
https://thompsonenv.com/contact
Thompson Environmental Consulting | ServGround
200 yes 576 17
https://thompsonenv.com/contact?type=service_request
Thompson Environmental Consulting | ServGround
200 yes 576 17
https://thompsonenv.com/faq
Thompson Environmental Consulting | ServGround
200 yes 103 17
https://thompsonenv.com/services
Thompson Environmental Consulting | ServGround
200 yes 431 17
https://thompsonenv.com/contact?service=Alternative%20Septic%20Solutions
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Desktop%20Project%20Review
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Drip%20Dispersal%20System%20Designs
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Natural%20Resource%20Investigation
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Regulatory%20Permitting%20(Stream%20and%20Wetlands)
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Seasonal%20Highwater%20Table%20Determination
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Septic%20Final%20Inspection
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Septic%20Preconstruction%20Conference
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Septic%20System%20Design
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Soil%20Evaluation%20for%20Septic%20Suitability%20(Perc%20Testing)
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?service=Stream%20%26%20Wetland%20Delineations
Thompson Environmental Consulting | ServGround
200 yes 576 2
https://thompsonenv.com/contact?type=quote_request
Thompson Environmental Consulting | ServGround
200 yes 553 1

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →