Catalog / joelpinto.net
58

SEO audit for joelpinto.net

Hochzeitsfotograf Joel Pinto Photography Pforzheim/ Enzkreis

otherWix

Health 58/100 (fair) · 14 pages crawled · generated 2026-08-26

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

Hochzeitsfotograf gesucht ? ► Auf www.joelpinto.net klicken ► Joel Pinto Photography buchen ► Entspannt und zufrieden sein

Screenshot of joelpinto.net
14
pages crawled
12
indexable pages
2
errors
28
warnings
104
notices
2
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Structured Data 86 2 0 11
Headings 87 0 6 0
Agent Readiness 89 0 5 0
Content 89 0 5 15
Duplicate 91 0 4 5
Links 94 0 3 2
Budget 96 0 2 0
Indexability 96 0 2 0
Meta Description 98 0 1 8
Cache 100 0 0 1
Crawlability 100 0 0 1
Images 100 0 0 2
Performance 100 0 0 44
Security 100 0 0 14
Social 100 0 0 1
Findings

Errors (1 rules)

error JSON-LD block missing @context or @type

Rule schema.no_context_type · Structured Data · 2 occurrence(s)

Warnings (10 rules)

warning Control has no accessible name

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

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 2 occurrence(s)

  • https://www.joelpinto.net/booking-calendar/after-wedding-shooting — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.joelpinto.net/book-online.
  • https://www.joelpinto.net/booking-calendar/international-wedding — this noindex page has 1 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.joelpinto.net/book-online.

warning Thin content (low word count)

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

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Page is noindex

Rule index.noindex · Indexability · 2 occurrence(s)

warning Orphan page (no internal inlinks)

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

warning Internal link points to a redirect

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

warning Missing meta description

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

Notices (19 rules)

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

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

notice Duplicate meta description across pages

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

notice Likely hero image lacks fetchpriority=high

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

  • http://www.joelpinto.net/ — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/ — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/agb — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/awards — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/best-of — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/book-online — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/booking-calendar/after-wedding-shooting — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/booking-calendar/international-wedding — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/datenschutz — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/impressum — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/photo-albums — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/service — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/service-page/after-wedding-shooting — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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.joelpinto.net/service-page/international-wedding — the likely hero/LCP image (11062b_94a6580a67244d17a4dc923b54b99fb4~mv2.png) 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 · 2 occurrence(s)

notice Internal link has no anchor text / accessible name

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

  • https://www.joelpinto.net/book-online — 2 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 Page has only one internal inlink (fragile crawl path)

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

  • http://www.joelpinto.net/ — 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 · 3 occurrence(s)

  • http://www.joelpinto.net/ — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
  • https://www.joelpinto.net/ — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt
  • https://www.joelpinto.net/best-of — a <meta name="keywords"> tag is present — Google has ignored it since 2009; remove it to cut template debt

notice Meta description too long

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

notice Meta description too short

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

notice Missing Open Graph tags

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

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

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

  • http://www.joelpinto.net/ — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/ — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/agb — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/awards — 11 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/best-of — 55 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/book-online — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/booking-calendar/after-wedding-shooting — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/booking-calendar/international-wedding — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/datenschutz — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/impressum — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/photo-albums — 34 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/service — 7 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/service-page/after-wedding-shooting — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.joelpinto.net/service-page/international-wedding — 4 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

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

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

  • https://www.joelpinto.net/photo-albums — 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 · 14 occurrence(s)

  • http://www.joelpinto.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://www.joelpinto.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://www.joelpinto.net/agb — 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.joelpinto.net/awards — 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.joelpinto.net/best-of — 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.joelpinto.net/book-online — 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.joelpinto.net/booking-calendar/after-wedding-shooting — 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.joelpinto.net/booking-calendar/international-wedding — 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.joelpinto.net/datenschutz — 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.joelpinto.net/impressum — 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.joelpinto.net/photo-albums — 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.joelpinto.net/service — 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.joelpinto.net/service-page/after-wedding-shooting — 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.joelpinto.net/service-page/international-wedding — 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 Slow server response

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

notice URL redirects to another URL

Rule redirect.single · Crawlability · 1 occurrence(s)

notice Deep page has no BreadcrumbList structured data

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

Pages (showing 14 of 14)
URLStatusIndexableWordsIn-links
https://www.joelpinto.net/
Hochzeitsfotograf Joel Pinto Photography Pforzheim/ Enzkreis
200 yes 811 14
https://www.joelpinto.net/awards
AWARDS | joelpintophotography
200 yes 24 14
https://www.joelpinto.net/best-of
Hochzeitsbilder Galerie | Joel Pinto Photography in Friolzheim
200 yes 486 14
https://www.joelpinto.net/photo-albums
KUNDENGALERIE | joelpintophotography
200 yes 25 14
https://www.joelpinto.net/service
Service | Joel Pinto Photography | Friolzheim
200 yes 255 14
https://www.joelpinto.net/agb
AGB | joelpintophotography
200 yes 2005 2
https://www.joelpinto.net/datenschutz
DATENSCHUTZ | joelpintophotography
200 yes 2771 2
https://www.joelpinto.net/impressum
IMPRESSUM | joelpintophotography
200 yes 382 2
http://www.joelpinto.net/
Hochzeitsfotograf Joel Pinto Photography Pforzheim/ Enzkreis
200 yes 811 1
https://www.joelpinto.net/book-online
Online buchen | joelpintophotography
200 yes 50 2
https://www.joelpinto.net/booking-calendar/after-wedding-shooting
After Wedding Shooting - joelpintophotography
200 no 33 1
https://www.joelpinto.net/booking-calendar/international-wedding
International Wedding - joelpintophotography
200 no 33 1
https://www.joelpinto.net/service-page/after-wedding-shooting
After Wedding Shooting | joelpintophotography
200 yes 75 0
https://www.joelpinto.net/service-page/international-wedding
International Wedding | joelpintophotography
200 yes 87 0

Audit your own site — free

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

Scan your site →