Catalog / shannonharrisart.com
76

SEO audit for shannonharrisart.com

Shannon Harris Art

otherNext.js

Health 76/100 (good) · 50 pages crawled · generated 2026-08-26

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

Original paintings, hand-painted wallpaper, pillows, and collegiate pieces by Shannon Harris — from a Birmingham, Alabama studio.

Screenshot of shannonharrisart.com
50
pages crawled
49
indexable pages
0
errors
34
warnings
470
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Duplicate 86 0 23 21
Canonical 94 0 10 0
Budget 99 0 1 0
Agent Readiness 100 0 0 31
Cache 100 0 0 29
Content 100 0 0 96
Crawlability 100 0 0 1
Images 100 0 0 54
Meta Description 100 0 0 7
Performance 100 0 0 165
Security 100 0 0 49
Social 100 0 0 16
Structured Data 100 0 0 1
Findings

Warnings (5 rules)

warning robots.txt-disallowed URL receives internal links (crawl-budget leak)

Rule budget.disallow_linked · Budget · 1 occurrence(s)

  • https://www.shannonharrisart.com/auburn — internal links point to https://www.shannonharrisart.com/auburn, which robots.txt disallows for Googlebot — Googlebot discovers the URL, checks robots, then rejects it without indexing, wasting crawl budget and losing the link equity. Remove the internal links, or use noindex instead of Disallow if the page should be fetchable. Linked from: https://www.shannonharrisart.com/, https://www.shannonharrisart.com/portfolio, https://www.shannonharrisart.com/wallpaper.

warning Duplicate page content

Rule duplicate.content · Duplicate · 2 occurrence(s)

warning Near-duplicate page content

Rule duplicate.near · Duplicate · 19 occurrence(s)

warning Duplicate <title> across pages

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

Notices (20 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

notice No main landmark for AI agents

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

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

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

notice Low text-to-HTML ratio

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

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

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

  • https://www.shannonharrisart.com/ — this page reads as very difficult (Flesch Reading Ease 30, 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://www.shannonharrisart.com/about — this page reads as difficult (Flesch Reading Ease 39, 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://www.shannonharrisart.com/chord-and-canvas — this page reads as difficult (Flesch Reading Ease 42, 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://www.shannonharrisart.com/collections/alabama — 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://www.shannonharrisart.com/collections/auburn — 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://www.shannonharrisart.com/collections/coastal — this page reads as difficult (Flesch Reading Ease 42, 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://www.shannonharrisart.com/collections/collegiate — 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://www.shannonharrisart.com/collections/collegiate-christmas-collection — 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://www.shannonharrisart.com/collections/georgia — 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://www.shannonharrisart.com/collections/mississippi-state — 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://www.shannonharrisart.com/collections/montevallo — this page reads as difficult (Flesch Reading Ease 42, 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://www.shannonharrisart.com/collections/ole-miss — 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://www.shannonharrisart.com/collections/original-works — 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://www.shannonharrisart.com/collections/skylines-and-lakes — this page reads as very difficult (Flesch Reading Ease 28, 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://www.shannonharrisart.com/contact — 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://www.shannonharrisart.com/contact?subject=Wholesale%20%2F%20Bookstore%20Partnership — 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://www.shannonharrisart.com/custom-orders — 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://www.shannonharrisart.com/pillows — 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://www.shannonharrisart.com/portfolio — 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://www.shannonharrisart.com/products/pheasant — 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://www.shannonharrisart.com/trade — 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://www.shannonharrisart.com/wallpaper — 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://www.shannonharrisart.com/wallpaper/blue-willow — 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://www.shannonharrisart.com/works-on-paper — 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://www.shannonharrisart.com/works-on-paper/watercolor-landscapes — this page reads as difficult (Flesch Reading Ease 42, 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 Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 21 occurrence(s)

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 5 occurrence(s)

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

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

  • https://www.shannonharrisart.com/ — 3 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.
  • https://www.shannonharrisart.com/collections/auburn — 1 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.
  • https://www.shannonharrisart.com/collections/collegiate — 4 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.
  • https://www.shannonharrisart.com/collections/collegiate-christmas-collection — 4 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.
  • https://www.shannonharrisart.com/collections/ole-miss — 1 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.
  • https://www.shannonharrisart.com/collections/skylines-and-lakes — 2 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.
  • https://www.shannonharrisart.com/pillows — 10 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.
  • https://www.shannonharrisart.com/portfolio — 2 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.
  • https://www.shannonharrisart.com/products/denny-chimes — 1 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.
  • https://www.shannonharrisart.com/works-on-paper — 2 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.
  • https://www.shannonharrisart.com/works-on-paper/faces — 1 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 · 49 occurrence(s)

  • https://www.shannonharrisart.com/ — the likely hero/LCP image (image) 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://www.shannonharrisart.com/about — the likely hero/LCP image (image) 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://www.shannonharrisart.com/chord-and-canvas — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/alabama — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/auburn — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/collegiate — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/collegiate-christmas-collection — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/georgia — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/mississippi-state — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/montevallo — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/ole-miss — the likely hero/LCP image (image) 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://www.shannonharrisart.com/collections/skylines-and-lakes — the likely hero/LCP image (image) 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://www.shannonharrisart.com/contact — the likely hero/LCP image (image) 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://www.shannonharrisart.com/contact?subject=Wholesale%20%2F%20Bookstore%20Partnership — the likely hero/LCP image (image) 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://www.shannonharrisart.com/custom-orders — the likely hero/LCP image (image) 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://www.shannonharrisart.com/faq — the likely hero/LCP image (image) 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://www.shannonharrisart.com/pillows — the likely hero/LCP image (image) 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://www.shannonharrisart.com/portfolio — the likely hero/LCP image (image) 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://www.shannonharrisart.com/products/pheasant — the likely hero/LCP image (image) 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://www.shannonharrisart.com/showroom — the likely hero/LCP image (image) 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://www.shannonharrisart.com/trade — the likely hero/LCP image (image) 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://www.shannonharrisart.com/wallpaper — the likely hero/LCP image (image) 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://www.shannonharrisart.com/wallpaper/blue-willow — the likely hero/LCP image (image) 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://www.shannonharrisart.com/works-on-paper — the likely hero/LCP image (image) 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://www.shannonharrisart.com/works-on-paper/watercolor-landscapes — the likely hero/LCP image (image) 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 · 38 occurrence(s)

notice Meta description too short

Rule meta_desc.too_short · Meta Description · 1 occurrence(s)

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

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

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

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

  • https://www.shannonharrisart.com/collections/alabama — 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://www.shannonharrisart.com/collections/auburn — 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://www.shannonharrisart.com/collections/coastal — 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://www.shannonharrisart.com/collections/georgia — 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://www.shannonharrisart.com/collections/mississippi-state — 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://www.shannonharrisart.com/collections/montevallo — 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://www.shannonharrisart.com/collections/ole-miss — 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://www.shannonharrisart.com/portfolio — 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://www.shannonharrisart.com/products/auburn-basketball — 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://www.shannonharrisart.com/products/denny-chimes — 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://www.shannonharrisart.com/products/georgia-arches — 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://www.shannonharrisart.com/products/homewood — 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://www.shannonharrisart.com/products/jordan-hare — 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://www.shannonharrisart.com/products/lake-martin — 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://www.shannonharrisart.com/products/lake-mitchell — 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://www.shannonharrisart.com/products/mobile — 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://www.shannonharrisart.com/products/paint-me-a-birmingham — 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://www.shannonharrisart.com/products/pheasant — 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://www.shannonharrisart.com/products/reid-chapel — 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://www.shannonharrisart.com/products/smith-lake — 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://www.shannonharrisart.com/products/the-grove — 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://www.shannonharrisart.com/products/tiger-eye — 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://www.shannonharrisart.com/products/toomers-corner — 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://www.shannonharrisart.com/products/trees-of-tradition — 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://www.shannonharrisart.com/wallpaper/blue-willow — 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://www.shannonharrisart.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://www.shannonharrisart.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://www.shannonharrisart.com/chord-and-canvas — 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://www.shannonharrisart.com/collections/alabama — 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://www.shannonharrisart.com/collections/auburn — 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://www.shannonharrisart.com/collections/collegiate — 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://www.shannonharrisart.com/collections/collegiate-christmas-collection — 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://www.shannonharrisart.com/collections/georgia — 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://www.shannonharrisart.com/collections/mississippi-state — 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://www.shannonharrisart.com/collections/montevallo — 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://www.shannonharrisart.com/collections/ole-miss — 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://www.shannonharrisart.com/collections/skylines-and-lakes — 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://www.shannonharrisart.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://www.shannonharrisart.com/contact?subject=Wholesale%20%2F%20Bookstore%20Partnership — 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://www.shannonharrisart.com/custom-orders — 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://www.shannonharrisart.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://www.shannonharrisart.com/pillows — 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://www.shannonharrisart.com/portfolio — 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://www.shannonharrisart.com/products/pheasant — 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://www.shannonharrisart.com/showroom — 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://www.shannonharrisart.com/trade — 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://www.shannonharrisart.com/wallpaper — 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://www.shannonharrisart.com/wallpaper/blue-willow — 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://www.shannonharrisart.com/works-on-paper — 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://www.shannonharrisart.com/works-on-paper/watercolor-landscapes — 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 Blocked by robots.txt

Rule robots.blocked · Crawlability · 1 occurrence(s)

notice Deep page has no BreadcrumbList structured data

Rule schema.breadcrumb_missing · Structured Data · 1 occurrence(s)

notice Missing recommended security headers

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.shannonharrisart.com/
Shannon Harris Art
200 yes 834 49
https://www.shannonharrisart.com/about
About — Shannon Harris Art
200 yes 438 49
https://www.shannonharrisart.com/chord-and-canvas
Chord & Canvas — Shannon Harris Art
200 yes 350 49
https://www.shannonharrisart.com/collections/coastal
Coastal — Shannon Harris Art
200 yes 375 49
https://www.shannonharrisart.com/collections/collegiate
Collegiate Collection — Shannon Harris Art
200 yes 726 49
https://www.shannonharrisart.com/collections/collegiate-christmas-collection
Collegiate Ornaments & Keepsakes — Shannon Harris Art
200 yes 575 49
https://www.shannonharrisart.com/collections/original-works
Original Works — Shannon Harris Art
200 yes 297 49
https://www.shannonharrisart.com/collections/skylines-and-lakes
Skylines, Nature & Coast — Shannon Harris Art
200 yes 782 49
https://www.shannonharrisart.com/contact
Contact — Shannon Harris Art
200 yes 297 49
https://www.shannonharrisart.com/custom-orders
Custom Orders & Commissions — Shannon Harris Art
200 yes 438 49
https://www.shannonharrisart.com/faq
FAQ — Shannon Harris Art
200 yes 785 49
https://www.shannonharrisart.com/pillows
Pillows — Shannon Harris Art
200 yes 550 49
https://www.shannonharrisart.com/portfolio
Portfolio — Shannon Harris Art
200 yes 705 49
https://www.shannonharrisart.com/showroom
Showroom — Shannon Harris Art
200 yes 402 49
https://www.shannonharrisart.com/trade
Retail & University Partners — Shannon Harris Art
200 yes 347 49
https://www.shannonharrisart.com/wallpaper
Wallpaper — Shannon Harris Art
200 yes 570 49
https://www.shannonharrisart.com/works-on-paper
Works on Paper — Shannon Harris Art
200 yes 361 49
https://www.shannonharrisart.com/products/auburn-basketball
Auburn Basketball — Shannon Harris Art
200 yes 372 11
https://www.shannonharrisart.com/products/toomers-corner
Toomers Corner — Shannon Harris Art
200 yes 372 11
https://www.shannonharrisart.com/products/trees-of-tradition
Trees Of Tradition — Shannon Harris Art
200 yes 373 11
https://www.shannonharrisart.com/products/jordan-hare
New Samford Hall — Shannon Harris Art
200 yes 373 9
https://www.shannonharrisart.com/products/denny-chimes
Denny Chimes — Shannon Harris Art
200 yes 373 6
https://www.shannonharrisart.com/products/tiger-eye
Tiger Eye — Shannon Harris Art
200 yes 372 8
https://www.shannonharrisart.com/products/paint-me-a-birmingham
Paint Me A Birmingham — Shannon Harris Art
200 yes 388 9
https://www.shannonharrisart.com/products/homewood
Homewood — Shannon Harris Art
200 yes 385 8
https://www.shannonharrisart.com/products/mobile
Mobile — Shannon Harris Art
200 yes 385 8
https://www.shannonharrisart.com/products/georgia-arches
Georgia Arches — Shannon Harris Art
200 yes 389 3
https://www.shannonharrisart.com/products/reid-chapel
Reid Chapel — Shannon Harris Art
200 yes 328 3
https://www.shannonharrisart.com/products/the-grove
The Grove — Shannon Harris Art
200 yes 389 3
https://www.shannonharrisart.com/products/smith-lake
Smith Lake — Shannon Harris Art
200 yes 360 5
https://www.shannonharrisart.com/works-on-paper/faces
Faces · Works on Paper — Shannon Harris Art
200 yes 347 2
https://www.shannonharrisart.com/products/lake-martin
Lake Martin — Shannon Harris Art
200 yes 355 4
https://www.shannonharrisart.com/products/lake-mitchell
Lake Mitchell — Shannon Harris Art
200 yes 360 4
https://www.shannonharrisart.com/products/montgomery
Montgomery — Shannon Harris Art
200 yes 385 7
https://www.shannonharrisart.com/products/pheasant
Pheasant — Shannon Harris Art
200 yes 385 2
https://www.shannonharrisart.com/products/huntsville
Huntsville — Shannon Harris Art
200 yes 385 5
https://www.shannonharrisart.com/contact?subject=Wholesale%20%2F%20Bookstore%20Partnership
Contact — Shannon Harris Art
200 yes 297 1
https://www.shannonharrisart.com/wallpaper/blue-willow
Blue Willow Wallpaper — Shannon Harris Art
200 yes 427 1
https://www.shannonharrisart.com/works-on-paper/botanicals
Botanicals · Works on Paper — Shannon Harris Art
200 yes 279 1
https://www.shannonharrisart.com/works-on-paper/feathers
Feathers · Works on Paper — Shannon Harris Art
200 yes 277 1
https://www.shannonharrisart.com/works-on-paper/watercolor-landscapes
Watercolor Landscapes · Works on Paper — Shannon Harris Art
200 yes 282 1
https://www.shannonharrisart.com/products/atlanta
Atlanta — Shannon Harris Art
200 yes 385 1
https://www.shannonharrisart.com/products/nashville
Nashville — Shannon Harris Art
200 yes 385 1
https://www.shannonharrisart.com/collections/alabama
Alabama Art & Prints — Shannon Harris Art
200 yes 255 0
https://www.shannonharrisart.com/collections/auburn
Auburn Art & Prints — Shannon Harris Art
200 yes 412 0
https://www.shannonharrisart.com/collections/georgia
Georgia Art & Prints — Shannon Harris Art
200 yes 290 0
https://www.shannonharrisart.com/collections/mississippi-state
Mississippi State Art & Prints — Shannon Harris Art
200 yes 279 0
https://www.shannonharrisart.com/collections/montevallo
Montevallo Art & Prints — Shannon Harris Art
200 yes 279 0
https://www.shannonharrisart.com/collections/ole-miss
Ole Miss Art & Prints — Shannon Harris Art
200 yes 290 0
https://www.shannonharrisart.com/auburn 0 no 0 49

Audit your own site — free

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

Scan your site →