Catalog / johnmitchell.net
63

SEO audit for johnmitchell.net

John Mitchell Fine Paintings | Old Master, British & European Paintings

portfolio

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

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

Browse 17th-20th century Old Master paintings. London gallery & art dealer specialising in British, European & alpine art. Authenticate, ship worldwide.

50
pages crawled
48
indexable pages
2
errors
111
warnings
446
notices
0
orphan pages
1
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 92 1 10 5
Crawlability 97 1 2 0
Performance 71 0 48 143
Images 92 0 14 61
Titles 93 0 11 1
Meta Description 95 0 9 24
Duplicate 96 0 7 3
Agent Readiness 97 0 5 13
Headings 98 0 4 19
Indexability 99 0 1 0
Canonical 100 0 0 6
Content 100 0 0 45
Security 100 0 0 55
Social 100 0 0 62
Structured Data 100 0 0 6
URL 100 0 0 3
Findings

Errors (2 rules)

error Broken internal link (target 4xx/5xx)

Rule links.broken_internal · Links · 1 occurrence(s)

error Client error (4xx) response

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

Warnings (11 rules)

warning Control has no accessible name

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

warning Near-duplicate page content

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

warning Duplicate <title> across pages

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

warning Images missing alt text

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

warning noindex + nofollow (blocks link equity flow)

Rule index.noindex_nofollow · Indexability · 1 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 10 occurrence(s)

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

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

warning Redirect chain (multiple hops)

Rule redirect.chain · Crawlability · 2 occurrence(s)

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 11 occurrence(s)

Notices (25 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

notice Canonical points to a different URL

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

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

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

  • https://johnmitchell.net/ — 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://johnmitchell.net/about/ — 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://johnmitchell.net/artists/ — 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://johnmitchell.net/artists/112-joshua-cristall/works/ — 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://johnmitchell.net/artworks/ — 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://johnmitchell.net/artworks/108-julius-caesar-ibbetson-the-falls-of-tivoli/ — 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://johnmitchell.net/artworks/categories/1/ — 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://johnmitchell.net/contact/ — 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://johnmitchell.net/events-and-exhibitions/ — this page reads as 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://johnmitchell.net/exhibitions/ — 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://johnmitchell.net/exhibitions/9-james-hart-dyke-yosemite/overview/ — 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://johnmitchell.net/gabriel-loppe-alpine-paintings-specialist/ — 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://johnmitchell.net/gabriel-loppe-pays-homage-to-mont-blanc/ — this page reads as difficult (Flesch Reading Ease 48, 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://johnmitchell.net/gallery-notes/ — 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://johnmitchell.net/james-hart-dyke-about/ — this page reads as difficult (Flesch Reading Ease 48, 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://johnmitchell.net/mailing-list/ — 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://johnmitchell.net/news/ — 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://johnmitchell.net/news/10-mont-blanc-the-summit-paintings-exhibition/ — 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://johnmitchell.net/peaks-and-glaciers/ — this page reads as very difficult (Flesch Reading Ease 26, 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://johnmitchell.net/peaks-and-glaciers/catalogues/ — 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://johnmitchell.net/press/ — 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://johnmitchell.net/press/5-90-years-of-john-mitchell-fine-paintings/ — 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://johnmitchell.net/publication/ — 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://johnmitchell.net/publications/ — this page reads as very difficult (Flesch Reading Ease 20, 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://johnmitchell.net/publications/10-gallery-notes-june-2021/ — 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 · 3 occurrence(s)

notice Multiple <h1> elements

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

notice Image alt text is keyword-stuffed (repetition / low variety)

Rule images.alt_stuffed · Images · 2 occurrence(s)

  • https://johnmitchell.net/artists/55-gabriel-loppe/works/ — 1 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.
  • https://johnmitchell.net/peaks-and-glaciers/ — 1 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.

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

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

notice Likely hero image lacks fetchpriority=high

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

  • https://johnmitchell.net/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/about/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artists/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artists/112-joshua-cristall/works/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artists/112-joshua-cristall/works/62-joshua-cristall-an-arcadian-idyll-c.1841/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artists/36-julius-caesar-ibbetson/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artworks/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artworks/108-julius-caesar-ibbetson-the-falls-of-tivoli/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artworks/?skip=80 — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/artworks/categories/1/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/exhibitions/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/exhibitions/9-james-hart-dyke-yosemite/overview/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/gabriel-loppe-alpine-paintings-specialist/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/gabriel-loppe-pays-homage-to-mont-blanc/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/gallery-notes/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/james-hart-dyke-about/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/news/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/news/10-mont-blanc-the-summit-paintings-exhibition/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/peaks-and-glaciers/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/peaks-and-glaciers/catalogues/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/press/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/press/5-90-years-of-john-mitchell-fine-paintings/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/publication/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/publications/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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://johnmitchell.net/publications/10-gallery-notes-june-2021/ — the likely hero/LCP image (yh5baeaaaaalaaaaaabaaeaaaibraa7) 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 · 44 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 5 occurrence(s)

  • https://johnmitchell.net/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://johnmitchell.net/artists/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://johnmitchell.net/artists/36-julius-caesar-ibbetson/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://johnmitchell.net/artworks/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://johnmitchell.net/artworks/categories/1/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.

notice Meta description too long

Rule meta_desc.too_long · Meta Description · 21 occurrence(s)

notice Meta description too short

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

notice Missing Open Graph tags

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

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

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

notice Large HTML document

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

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

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

  • https://johnmitchell.net/ — 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://johnmitchell.net/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://johnmitchell.net/artists/ — 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://johnmitchell.net/artists/112-joshua-cristall/works/ — 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://johnmitchell.net/artworks/ — 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://johnmitchell.net/artworks/108-julius-caesar-ibbetson-the-falls-of-tivoli/ — 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://johnmitchell.net/artworks/categories/1/ — 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://johnmitchell.net/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://johnmitchell.net/events-and-exhibitions/ — 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://johnmitchell.net/exhibitions/ — 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://johnmitchell.net/exhibitions/9-james-hart-dyke-yosemite/overview/ — 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://johnmitchell.net/gabriel-loppe-alpine-paintings-specialist/ — 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://johnmitchell.net/gabriel-loppe-pays-homage-to-mont-blanc/ — 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://johnmitchell.net/gallery-notes/ — 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://johnmitchell.net/james-hart-dyke-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://johnmitchell.net/mailing-list/ — 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://johnmitchell.net/news/ — 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://johnmitchell.net/news/10-mont-blanc-the-summit-paintings-exhibition/ — 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://johnmitchell.net/peaks-and-glaciers/ — 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://johnmitchell.net/peaks-and-glaciers/catalogues/ — 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://johnmitchell.net/press/ — 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://johnmitchell.net/press/5-90-years-of-john-mitchell-fine-paintings/ — 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://johnmitchell.net/publication/ — 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://johnmitchell.net/publications/ — 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://johnmitchell.net/publications/10-gallery-notes-june-2021/ — 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 · 48 occurrence(s)

  • https://johnmitchell.net/ — 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://johnmitchell.net/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://johnmitchell.net/artists/ — 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://johnmitchell.net/artists/112-joshua-cristall/works/ — 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://johnmitchell.net/artworks/ — 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://johnmitchell.net/artworks/108-julius-caesar-ibbetson-the-falls-of-tivoli/ — 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://johnmitchell.net/artworks/categories/1/ — 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://johnmitchell.net/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://johnmitchell.net/events-and-exhibitions/ — 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://johnmitchell.net/exhibitions/ — 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://johnmitchell.net/exhibitions/9-james-hart-dyke-yosemite/overview/ — 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://johnmitchell.net/gabriel-loppe-alpine-paintings-specialist/ — 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://johnmitchell.net/gabriel-loppe-pays-homage-to-mont-blanc/ — 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://johnmitchell.net/gallery-notes/ — 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://johnmitchell.net/james-hart-dyke-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://johnmitchell.net/mailing-list/ — 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://johnmitchell.net/news/ — 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://johnmitchell.net/news/10-mont-blanc-the-summit-paintings-exhibition/ — 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://johnmitchell.net/peaks-and-glaciers/ — 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://johnmitchell.net/peaks-and-glaciers/catalogues/ — 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://johnmitchell.net/press/ — 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://johnmitchell.net/press/5-90-years-of-john-mitchell-fine-paintings/ — 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://johnmitchell.net/publication/ — 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://johnmitchell.net/publications/ — 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://johnmitchell.net/publications/10-gallery-notes-june-2021/ — 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 Deep page has no BreadcrumbList structured data

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

notice Missing recommended security headers

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

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

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

notice Title tag is identical to the H1 (missed keyword variation)

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

notice Underscores in URL path (prefer hyphens)

Rule url.underscores · URL · 1 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://johnmitchell.net/
John Mitchell Fine Paintings | Old Master, British & European Paintings
200 yes 540 49
https://johnmitchell.net/about/
John Mitchell Fine Paintings
200 yes 1263 48
https://johnmitchell.net/artworks/
Artworks | John Mitchell Fine Paintings
200 yes 1434 48
https://johnmitchell.net/artworks/categories/1/
European Paintings | John Mitchell Fine Paintings
200 yes 654 48
https://johnmitchell.net/contact/
Contact | John Mitchell Fine Paintings
200 yes 299 48
https://johnmitchell.net/gallery-notes/
John Mitchell Fine Paintings
200 yes 1068 48
https://johnmitchell.net/mailing-list/
Join our mailing list | John Mitchell Fine Paintings
200 yes 318 48
https://johnmitchell.net/peaks-and-glaciers/
Peaks & Glaciers | John Mitchell Fine Paintings
200 yes 776 48
https://johnmitchell.net/peaks-and-glaciers/catalogues/
Catalogues | John Mitchell Fine Paintings
200 yes 394 48
https://johnmitchell.net/publication/
John Mitchell Fine Paintings
200 yes 317 2
https://johnmitchell.net/artworks/categories/1/300-cornelis-bega-young-woman-with-wine-glass-1663/
Cornelis Bega, Young woman with wine glass, 1663 | John Mitchell Fine Paintings
200 yes 943 3
https://johnmitchell.net/publications/10-gallery-notes-june-2021/
Publication: Gallery Notes - June 2021 | John Mitchell Fine Paintings
200 yes 399 2
https://johnmitchell.net/artworks/115-georges-tairraz-ii-les-praz-church-chamonix/
Georges Tairraz II, Les Praz Church, Chamonix | John Mitchell Fine Paintings
200 yes 351 2
https://johnmitchell.net/artworks/124-john-thomas-serres-views-in-the-bay-of-naples-a-1794/
John Thomas Serres, Views in the Bay of Naples - a pair (2) : Procida and Ischia seen from the Capo di Miseno with a warship of the Kingdom of the Two Sicilies, 1794 | John Mitchell Fine Paintings
200 yes 384 2
https://johnmitchell.net/artworks/125-john-thomas-serres-views-in-the-bay-of-naples-a-1794/
John Thomas Serres, Views in the Bay of Naples - a pair (2) : A cave at Sorrentum in the Bay of Naples looking towards Ischia, 1794 | John Mitchell Fine Paintings
200 yes 384 2
https://johnmitchell.net/artworks/146-william-callow-chermignon-crans-montana-switzerland-c.1865/
William Callow, Chermignon, Crans-Montana, Switzerland, c.1865 | John Mitchell Fine Paintings
200 yes 399 2
https://johnmitchell.net/artworks/109-anthony-vandyke-copley-fielding-llanberis-lake-with-dolbadarn-castle-1814/
Anthony Vandyke Copley Fielding, Llanberis lake with Dolbadarn castle, 1814 | John Mitchell Fine Paintings
200 yes 326 1
https://johnmitchell.net/artworks/130-robert-cleveley-an-admirals-conference-off-the-isle-of-wight/
Robert Cleveley, An Admirals' Conference off the Isle of Wight - a pair (2) | John Mitchell Fine Paintings
200 yes 329 1
https://johnmitchell.net/artworks/149-john-cleveley-the-elder-a-british-frigate-and-other-shipping-off-tenerife/
John Cleveley the Elder, A British frigate and other shipping off Tenerife | John Mitchell Fine Paintings
200 yes 341 1
https://johnmitchell.net/artworks/153-william-anderson-small-frigate-and-other-vessels-offshore-1797/
William Anderson, Small frigate and other vessels offshore, 1797 | John Mitchell Fine Paintings
200 yes 326 1
https://johnmitchell.net/artworks/?skip=80
Artworks | John Mitchell Fine Paintings
200 yes 1224 1
https://johnmitchell.net/artists/55-gabriel-loppe/overview/
Gabriel Loppé - Overview | John Mitchell Fine Paintings
200 yes 465 11
https://johnmitchell.net/artists/
European Paintings | John Mitchell Fine Paintings
200 yes 654 8
https://johnmitchell.net/artists/133-thomas-sidney-cooper/works/
Thomas Sidney Cooper - Works | John Mitchell Fine Paintings
200 yes 293 7
https://johnmitchell.net/artists/112-joshua-cristall/works/
Joshua Cristall - Works | John Mitchell Fine Paintings
200 yes 290 6
https://johnmitchell.net/artists/55-gabriel-loppe/biography/
Gabriel Loppé - Biography | John Mitchell Fine Paintings
200 yes 1410 5
https://johnmitchell.net/artists/55-gabriel-loppe/news/
Gabriel Loppé - News | John Mitchell Fine Paintings
200 yes 431 5
https://johnmitchell.net/artists/55-gabriel-loppe/video/
Gabriel Loppé - Video | John Mitchell Fine Paintings
200 yes 285 5
https://johnmitchell.net/artists/55-gabriel-loppe/works/
Gabriel Loppé - Works | John Mitchell Fine Paintings
200 yes 507 5
https://johnmitchell.net/artists/36-julius-caesar-ibbetson/
European Paintings | John Mitchell Fine Paintings
200 yes 654 2
https://johnmitchell.net/artworks/108-julius-caesar-ibbetson-the-falls-of-tivoli/
Julius Caesar Ibbetson, The Falls of Tivoli | John Mitchell Fine Paintings
200 yes 323 1
https://johnmitchell.net/artworks/126-john-clover-loch-coruisk-isle-of-skye/
John Clover, Loch Coruisk, Isle of Skye | John Mitchell Fine Paintings
200 yes 318 1
https://johnmitchell.net/artworks/138-julius-caesar-ibbetson-ferry-at-conway/
Julius Caesar Ibbetson, Ferry at Conway | John Mitchell Fine Paintings
200 yes 323 1
https://johnmitchell.net/artworks/148-robert-cleveley-shipping-in-the-downs/
Robert Cleveley, Shipping in the Downs | John Mitchell Fine Paintings
200 yes 320 1
https://johnmitchell.net/news/10-mont-blanc-the-summit-paintings-exhibition/
Mont Blanc: The Summit Paintings | John Mitchell Fine Paintings
200 yes 583 2
https://johnmitchell.net/artists/112-joshua-cristall/works/62-joshua-cristall-an-arcadian-idyll-c.1841/
Joshua Cristall, An Arcadian Idyll, c.1841 | John Mitchell Fine Paintings
200 yes 337 1
https://johnmitchell.net/press/5-90-years-of-john-mitchell-fine-paintings/
90 years of John Mitchell Fine Paintings
200 yes 631 1
https://johnmitchell.net/exhibitions/
Exhibitions | John Mitchell Fine Paintings
200 yes 646 1
https://johnmitchell.net/exhibitions/9-james-hart-dyke-yosemite/overview/
James Hart Dyke: Yosemite - Overview | John Mitchell Fine Paintings
200 yes 535 1
https://johnmitchell.net/gabriel-loppe-alpine-paintings-specialist/
John Mitchell Fine Paintings
200 yes 1234 1
https://johnmitchell.net/content/feature/124/artworks-446-gabriel-loppe-sisikon-in-winter-with-the-urirotstock-lake-luzern/
Gabriel Loppé, Sisikon in winter with the Urirotstock, Lake Luzern, Switzerland | John Mitchell Fine Paintings
200 yes 308 1
https://johnmitchell.net/gabriel-loppe-pays-homage-to-mont-blanc/
Gabriel Loppé pays homage to Mont Blanc | John Mitchell Fine Paintings
200 yes 905 1
https://johnmitchell.net/artworks/137-john-cleveley-the-younger-vessels-becalmed-offshore/
John Cleveley the Younger, Vessels becalmed offshore | John Mitchell Fine Paintings
200 yes 322 0
https://johnmitchell.net/events-and-exhibitions/
events and exhibitions | John Mitchell Fine Paintings
200 yes 1327 0
https://johnmitchell.net/james-hart-dyke-about/
John Mitchell Fine Paintings
200 yes 949 0
https://johnmitchell.net/news/
News | John Mitchell Fine Paintings
200 yes 1029 0
https://johnmitchell.net/press/
Press | John Mitchell Fine Paintings
200 yes 296 0
https://johnmitchell.net/publications/
Gallery notes page for publication links | John Mitchell Fine Paintings
200 yes 547 0
https://johnmitchell.net/hey
Not found
404 no 15 1
https://johnmitchell.net/usr/library/documents/main/exhibitions/9/jhd-yosemite-catalogue_21112024t10113.437_638677806634495479.pdf 200 no 0 1

Audit your own site — free

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

Scan your site →