Catalog / leodorfner.fr
65

SEO audit for leodorfner.fr

Léo Dorfner – Contemporary Watercolor Artist

other

Health 65/100 (fair) · 24 pages crawled · generated 2026-08-26

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

Contemporary artist Léo Dorfner explores watercolor to create sensitive, original, and evocative artworks.

24
pages crawled
24
indexable pages
0
errors
51
warnings
168
notices
2
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Headings 70 0 24 0
Duplicate 78 0 18 18
Content 93 0 6 30
Links 98 0 2 16
Images 99 0 1 2
Agent Readiness 100 0 0 24
Cache 100 0 0 24
Performance 100 0 0 28
Security 100 0 0 2
Structured Data 100 0 0 24
Findings

Warnings (5 rules)

warning Thin content (low word count)

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

warning Duplicate <title> across pages

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

warning Images missing alt text

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

warning Orphan page (no internal inlinks)

Rule links.orphan · Links · 2 occurrence(s)

Notices (13 rules)

notice Heading levels skip a level

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

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

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

notice Duplicate meta description across pages

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

  • https://www.leodorfner.fr/ — meta description shared by 18 pages: https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1, https://www.leodorfner.fr/text2
  • https://www.leodorfner.fr/copie-de-text-17 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/my-life-in-the-bush-of-ghosts — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/pdf — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text1 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text2
  • https://www.leodorfner.fr/text10 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text11 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text12 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text13 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text14 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text1, https://www.leodorfner.fr/text2
  • https://www.leodorfner.fr/text2 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text3 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text4 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text5 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text6 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text7 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text7aba602c3 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1
  • https://www.leodorfner.fr/text9 — meta description shared by 18 pages: https://www.leodorfner.fr/, https://www.leodorfner.fr/text14, https://www.leodorfner.fr/text1

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

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

notice Likely hero image lacks fetchpriority=high

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

  • https://www.leodorfner.fr/my-life-in-the-bush-of-ghosts — the likely hero/LCP image (img_4372-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.leodorfner.fr/selected-works — the likely hero/LCP image (take+me+to+your+heart+-+150+x+110+-+2026-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

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

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

notice Page has only one internal inlink (fragile crawl path)

Rule links.single_inlink · Links · 16 occurrence(s)

  • https://www.leodorfner.fr/copie-de-text-16 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/copie-de-text-17 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text-15 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text1 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text10 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text11 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text12 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text13 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text2 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text3 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text4 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text5 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text6 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text7 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text7aba602c3 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.
  • https://www.leodorfner.fr/text9 — only one internal link points here — if that source changes, this page becomes an orphan. Add more contextual internal links to strengthen the crawl path.

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

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

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

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

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

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

  • https://www.leodorfner.fr/ — 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.leodorfner.fr/bio — 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.leodorfner.fr/copie-de-text-16 — 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.leodorfner.fr/copie-de-text-17 — 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.leodorfner.fr/links — 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.leodorfner.fr/my-life-in-the-bush-of-ghosts — 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.leodorfner.fr/pdf — 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.leodorfner.fr/selected-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://www.leodorfner.fr/text-15 — 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.leodorfner.fr/text1 — 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.leodorfner.fr/text10 — 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.leodorfner.fr/text11 — 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.leodorfner.fr/text12 — 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.leodorfner.fr/text13 — 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.leodorfner.fr/text14 — 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.leodorfner.fr/text2 — 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.leodorfner.fr/text3 — 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.leodorfner.fr/text4 — 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.leodorfner.fr/text5 — 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.leodorfner.fr/text6 — 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.leodorfner.fr/text7 — 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.leodorfner.fr/text7aba602c3 — 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.leodorfner.fr/text9 — 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.leodorfner.fr/texts — 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 target=_blank link without rel=noopener (tab-napping)

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

  • https://www.leodorfner.fr/links — 4 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://www.leodorfner.fr/pdf — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
Pages (showing 24 of 24)
URLStatusIndexableWordsIn-links
https://www.leodorfner.fr/bio
Contemporary Watercolor Artist | Léo Dorfner
200 yes 859 24
https://www.leodorfner.fr/links
Links – Galleries & More | Léo Dorfner
200 yes 29 24
https://www.leodorfner.fr/my-life-in-the-bush-of-ghosts
Léo Dorfner – Contemporary Watercolor Artist
200 yes 16 24
https://www.leodorfner.fr/selected-works
Artworks – Watercolor & Mixed Media | Léo Dorfner
200 yes 1414 24
https://www.leodorfner.fr/texts
Press & Critical Texts | Léo Dorfner
200 yes 1430 24
https://www.leodorfner.fr/copie-de-text-16
Critical Essay by Julie Chaizemartin | Léo Dorfner
200 yes 1494 1
https://www.leodorfner.fr/copie-de-text-17
Léo Dorfner – Contemporary Watercolor Artist
200 yes 1260 1
https://www.leodorfner.fr/text-15
Critical Essay by Marc Donnadieu | Léo Dorfner
200 yes 1034 1
https://www.leodorfner.fr/text1
Léo Dorfner – Contemporary Watercolor Artist
200 yes 672 1
https://www.leodorfner.fr/text10
Léo Dorfner – Contemporary Watercolor Artist
200 yes 570 1
https://www.leodorfner.fr/text11
Léo Dorfner – Contemporary Watercolor Artist
200 yes 354 1
https://www.leodorfner.fr/text12
Léo Dorfner – Contemporary Watercolor Artist
200 yes 189 1
https://www.leodorfner.fr/text13
Léo Dorfner – Contemporary Watercolor Artist
200 yes 1080 1
https://www.leodorfner.fr/text2
Léo Dorfner – Contemporary Watercolor Artist
200 yes 851 1
https://www.leodorfner.fr/text3
Léo Dorfner – Contemporary Watercolor Artist
200 yes 399 1
https://www.leodorfner.fr/text4
Léo Dorfner – Contemporary Watercolor Artist
200 yes 18 1
https://www.leodorfner.fr/text5
Léo Dorfner – Contemporary Watercolor Artist
200 yes 1868 1
https://www.leodorfner.fr/text6
Léo Dorfner – Contemporary Watercolor Artist
200 yes 1016 1
https://www.leodorfner.fr/text7
Léo Dorfner – Contemporary Watercolor Artist
200 yes 1239 1
https://www.leodorfner.fr/text7aba602c3
Léo Dorfner – Contemporary Watercolor Artist
200 yes 855 1
https://www.leodorfner.fr/text9
Léo Dorfner – Contemporary Watercolor Artist
200 yes 389 1
https://www.leodorfner.fr/
Léo Dorfner – Contemporary Watercolor Artist
200 yes 18 0
https://www.leodorfner.fr/pdf
Léo Dorfner – Contemporary Watercolor Artist
200 yes 19 0
https://www.leodorfner.fr/text14
Léo Dorfner – Contemporary Watercolor Artist
200 yes 532 0

Audit your own site — free

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

Scan your site →