Catalog / goodthree.com
64

SEO audit for goodthree.com

Goodthree

other

Health 64/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)
50
pages crawled
49
indexable pages
2
errors
211
warnings
518
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Crawlability 98 1 0 0
Sitemap 98 1 0 0
Agent Readiness 71 0 49 4
Meta Description 71 0 49 0
Performance 71 0 49 147
Content 83 0 29 21
Headings 83 0 29 1
Duplicate 98 0 4 0
Canonical 99 0 1 0
Images 99 0 1 49
Cache 100 0 0 49
Security 100 0 0 99
Social 100 0 0 98
Structured Data 100 0 0 49
Titles 100 0 0 1
Findings

Errors (2 rules)

error Non-200 URL listed in sitemap

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

error Client error (4xx) response

Rule status.4xx · Crawlability · 1 occurrence(s)

Warnings (8 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 49 occurrence(s)

warning Missing canonical tag

Rule canonical.missing · Canonical · 1 occurrence(s)

warning Thin content (low word count)

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

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 4 occurrence(s)

warning Images missing alt text

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

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 49 occurrence(s)

Notices (16 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

  • https://goodthree.com/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

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

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

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 5 occurrence(s)

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

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

  • https://goodthree.com/more-work/ — this page reads as difficult (Flesch Reading Ease 44, 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://goodthree.com/work-type/client/ — this page reads as difficult (Flesch Reading Ease 35, 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://goodthree.com/work/arch-street-center/ — this page reads as difficult (Flesch Reading Ease 43, 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://goodthree.com/work/bench-mark-program/ — this page reads as difficult (Flesch Reading Ease 43, 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://goodthree.com/work/bridge/ — this page reads as difficult (Flesch Reading Ease 33, 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://goodthree.com/work/built-supplements/ — this page reads as difficult (Flesch Reading Ease 45, 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://goodthree.com/work/carton-brewing/ — this page reads as difficult (Flesch Reading Ease 50, 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://goodthree.com/work/crowdstrike/ — this page reads as difficult (Flesch Reading Ease 46, 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://goodthree.com/work/cultivate-lancaster/ — this page reads as difficult (Flesch Reading Ease 34, 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://goodthree.com/work/insight-marketing-conference/ — 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://goodthree.com/work/lancaster-city-indie-retail-week/ — this page reads as difficult (Flesch Reading Ease 41, 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://goodthree.com/work/lchra/ — this page reads as difficult (Flesch Reading Ease 36, 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://goodthree.com/work/maxs-eatery/ — this page reads as difficult (Flesch Reading Ease 40, 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://goodthree.com/work/pco-certified-organic/ — this page reads as difficult (Flesch Reading Ease 37, 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://goodthree.com/work/perfect-pots/ — this page reads as difficult (Flesch Reading Ease 44, 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://goodthree.com/work/the-deerskin-leather-shop/ — this page reads as difficult (Flesch Reading Ease 41, 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 Multiple <h1> elements

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

notice Likely hero image lacks fetchpriority=high

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

  • https://goodthree.com/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/about/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/contact/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/good-team/sign-up/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/good-team/terms-and-conditions/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/more-work/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/shop/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/thanks/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work-type/client/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/arch-street-center/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/bench-mark-program/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/bridge/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/built-supplements/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/carton-brewing/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/crowdstrike/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/cultivate-lancaster/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/icp-group/prosolutions-direct/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/imagine-goods/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/insight-marketing-conference/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/lancaster-city-housing-authority/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/pco-certified-organic/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/perfect-pots/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/ripjar/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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.
  • https://goodthree.com/work/the-deerskin-leather-shop/ — the likely hero/LCP image (goodthree_logo_web--mark.svg) 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 · 49 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 49 occurrence(s)

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

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

  • https://goodthree.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/about/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/contact/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/good-team/sign-up/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/good-team/terms-and-conditions/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/more-work/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/shop/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/thanks/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work-type/client/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/arch-street-center/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/bench-mark-program/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/bridge/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/built-supplements/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/carton-brewing/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/crowdstrike/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/cultivate-lancaster/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/icp-group/prosolutions-direct/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/imagine-goods/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/insight-marketing-conference/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/lancaster-city-housing-authority/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/pco-certified-organic/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/perfect-pots/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/ripjar/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://goodthree.com/work/the-deerskin-leather-shop/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

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

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

  • https://goodthree.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://goodthree.com/about/ — 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://goodthree.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://goodthree.com/good-team/sign-up/ — 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://goodthree.com/good-team/terms-and-conditions/ — 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://goodthree.com/more-work/ — 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://goodthree.com/shop/ — 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://goodthree.com/thanks/ — 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://goodthree.com/work-type/client/ — 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://goodthree.com/work/ — 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://goodthree.com/work/arch-street-center/ — 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://goodthree.com/work/bench-mark-program/ — 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://goodthree.com/work/bridge/ — 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://goodthree.com/work/built-supplements/ — 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://goodthree.com/work/carton-brewing/ — 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://goodthree.com/work/crowdstrike/ — 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://goodthree.com/work/cultivate-lancaster/ — 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://goodthree.com/work/icp-group/prosolutions-direct/ — 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://goodthree.com/work/imagine-goods/ — 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://goodthree.com/work/insight-marketing-conference/ — 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://goodthree.com/work/lancaster-city-housing-authority/ — 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://goodthree.com/work/pco-certified-organic/ — 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://goodthree.com/work/perfect-pots/ — 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://goodthree.com/work/ripjar/ — 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://goodthree.com/work/the-deerskin-leather-shop/ — 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 · 50 occurrence(s)

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 49 occurrence(s)

notice Title is very short

Rule title.too_short · Titles · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://goodthree.com/
Goodthree
200 yes 278 50
https://goodthree.com/about/
About – Goodthree
200 yes 344 50
https://goodthree.com/work/
Work – Goodthree
200 yes 249 50
https://goodthree.com/work/perfect-pots/
Perfect Pots – Goodthree
200 yes 433 11
https://goodthree.com/work/bench-mark-program/
Bench Mark Program – Goodthree
200 yes 661 12
https://goodthree.com/work/insight-marketing-conference/
Insight Marketing Conference – Goodthree
200 yes 285 10
https://goodthree.com/work/carton-brewing/
Carton Brewing – Goodthree
200 yes 378 8
https://goodthree.com/work/pco-certified-organic/
PCO Certified Organic – Goodthree
200 yes 415 10
https://goodthree.com/work/the-deerskin-leather-shop/
The Deerskin Leather Shop – Goodthree
200 yes 662 9
https://goodthree.com/work/maxs-eatery/
Max’s Eatery – Goodthree
200 yes 446 14
https://goodthree.com/work/cultivate-lancaster/
Cultivate Lancaster – Goodthree
200 yes 354 10
https://goodthree.com/work/arch-street-center/
Arch Street Center – Goodthree
200 yes 370 7
https://goodthree.com/more-work/
More work – Goodthree
200 yes 377 1
https://goodthree.com/work/crowdstrike/
CrowdStrike – Goodthree
200 yes 166 11
https://goodthree.com/work/lchra/
LCHRA – Goodthree
200 yes 353 10
https://goodthree.com/work/built-supplements/
Built Supplements – Goodthree
200 yes 424 11
https://goodthree.com/work/lancaster-city-indie-retail-week/
Lancaster City Indie Retail Week – Goodthree
200 yes 416 11
https://goodthree.com/work/bridge/
Bridge – Goodthree
200 yes 335 8
https://goodthree.com/contact/
Contact – Goodthree
200 yes 111 0
https://goodthree.com/good-team/sign-up/
Sign Up – Goodthree
200 yes 332 0
https://goodthree.com/good-team/terms-and-conditions/
Terms and Conditions – Goodthree
200 yes 1022 0
https://goodthree.com/shop/
Shop – Goodthree
200 yes 76 0
https://goodthree.com/thanks/
Thanks – Goodthree
200 yes 106 0
https://goodthree.com/work-type/client/
Client – Goodthree
200 yes 1329 0
https://goodthree.com/work/bloombox/
BloomBox – Goodthree
200 yes 116 0
https://goodthree.com/work/colab/
coLAB – Goodthree
200 yes 121 0
https://goodthree.com/work/holy-trinity-lutheran-church/
Holy Trinity Lutheran Church – Goodthree
200 yes 119 0
https://goodthree.com/work/holy-trinity-lutheran-church/branding/
Branding – Goodthree
200 yes 123 0
https://goodthree.com/work/icp-group/
ICP Group – Goodthree
200 yes 123 0
https://goodthree.com/work/icp-group/prosolutions-direct/
ProSolutions Direct – Goodthree
200 yes 121 0
https://goodthree.com/work/imagine-goods/
Imagine Goods – Goodthree
200 yes 121 0
https://goodthree.com/work/lancaster-city-alliance/
Lancaster City Alliance – Goodthree
200 yes 116 0
https://goodthree.com/work/lancaster-city-alliance/shop-small-dine-local-branding/
Shop Small Dine Local Branding – Goodthree
200 yes 127 0
https://goodthree.com/work/lancaster-city-housing-authority/
Lancaster City Housing Authority – Goodthree
200 yes 115 0
https://goodthree.com/work/partners-with-purpose/
Partners with Purpose – Goodthree
200 yes 115 0
https://goodthree.com/work/ripjar/
Ripjar – Goodthree
200 yes 124 0
https://goodthree.com/work/skai-blue-media/
Skai Blue Media – Goodthree
200 yes 121 0
https://goodthree.com/work/skai-blue-media/school-district-of-philadelphia-ad/
School District of Philadelphia Ad – Goodthree
200 yes 117 0
https://goodthree.com/work/strasburg-railroad/
Strasburg Railroad – Goodthree
200 yes 123 0
https://goodthree.com/work/strasburg-railroad/app-icon/
App Icon – Goodthree
200 yes 119 0
https://goodthree.com/work/teacher-benefit-strategies/
Teacher Benefit Strategies – Goodthree
200 yes 118 0
https://goodthree.com/work/teacher-benefit-strategies/branding/
Branding – Goodthree
200 yes 124 0
https://goodthree.com/work/the-yellow-tulip-project/
The Yellow Tulip Project – Goodthree
200 yes 122 0
https://goodthree.com/work/visioncorps/
VisionCorps – Goodthree
200 yes 124 0
https://goodthree.com/work/visioncorps/iconography/
Iconography – Goodthree
200 yes 120 0
https://goodthree.com/work/zach-beidler-media/
Zach Beidler Media – Goodthree
200 yes 116 0
https://goodthree.com/work/zach-beidler-media/branding/
Branding – Goodthree
200 yes 121 0
https://goodthree.com/work/zonna/
Zonna – Goodthree
200 yes 125 0
https://goodthree.com/work/zonna/branding/
Branding – Goodthree
200 yes 112 0
https://goodthree.com/author/kylel@goodthree.com/
Page not found – Goodthree
404 no 77 0

Audit your own site — free

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

Scan your site →