Catalog / yummyphotography.pl
65

SEO audit for yummyphotography.pl

Strona główna

media

Health 65/100 (fair) · 9 pages crawled · generated 2026-07-29

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

Fotografia kulinarna i produktowa dla marek. Stylizowane zdjęcia jedzenia, packshoty, content do social media i stron www. Warsztaty fotograficzne. Profesjonalne sesje foto.

Screenshot of yummyphotography.pl
9
pages crawled
9
indexable pages
0
errors
22
warnings
140
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Headings 70 0 9 0
Duplicate 80 0 6 9
Images 83 0 5 13
Content 93 0 2 15
Agent Readiness 100 0 0 13
Cache 100 0 0 9
Meta Description 100 0 0 9
Performance 100 0 0 31
Security 100 0 0 18
Sitemap 100 0 0 2
Social 100 0 0 18
Titles 100 0 0 2
URL 100 0 0 1
Findings

Warnings (4 rules)

warning Thin content (low word count)

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

warning Duplicate <title> across pages

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

warning Images missing alt text

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

Notices (21 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 4 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 · 8 occurrence(s)

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

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

notice Duplicate meta description across pages

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

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

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

  • https://yummyphotography.pl/ — 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://yummyphotography.pl/about — 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://yummyphotography.pl/mentoring — 8 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://yummyphotography.pl/oferta — 23 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://yummyphotography.pl/portfolio — 130 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://yummyphotography.pl/warsztaty — 24 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 · 7 occurrence(s)

  • https://yummyphotography.pl/ — the likely hero/LCP image (ec52a197-b8d3-41f6-afc0-30f86073d8cd.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://yummyphotography.pl/about — the likely hero/LCP image (177d8fdf-970b-4e86-b29a-f80b733fb019.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://yummyphotography.pl/contact — the likely hero/LCP image (icon-email.svg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://yummyphotography.pl/mentoring — the likely hero/LCP image (33855947-dda3-4fce-985e-e76b3c351988.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://yummyphotography.pl/oferta — the likely hero/LCP image (6218ef1c-ae42-4e1b-8619-f1f86c564888.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://yummyphotography.pl/portfolio — the likely hero/LCP image (37cab24e-341e-48c8-af1a-a414b1281961.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://yummyphotography.pl/warsztaty — the likely hero/LCP image (c5edcb53-de3d-4509-979d-53c660263c81.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 · 7 occurrence(s)

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

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

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

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

  • https://yummyphotography.pl/ — 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://yummyphotography.pl/about — 2 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://yummyphotography.pl/mentoring — 8 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://yummyphotography.pl/oferta — 23 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://yummyphotography.pl/portfolio — 130 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://yummyphotography.pl/warsztaty — 28 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 · 9 occurrence(s)

  • https://yummyphotography.pl/ — 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://yummyphotography.pl/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://yummyphotography.pl/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://yummyphotography.pl/mentoring — 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://yummyphotography.pl/oferta — 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://yummyphotography.pl/polityka-cookie — 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://yummyphotography.pl/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://yummyphotography.pl/regulamin-warsztat%C3%B3w — 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://yummyphotography.pl/warsztaty — 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 · 9 occurrence(s)

  • https://yummyphotography.pl/ — 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://yummyphotography.pl/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://yummyphotography.pl/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://yummyphotography.pl/mentoring — 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://yummyphotography.pl/oferta — 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://yummyphotography.pl/polityka-cookie — 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://yummyphotography.pl/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://yummyphotography.pl/regulamin-warsztat%C3%B3w — 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://yummyphotography.pl/warsztaty — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Missing recommended security headers

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

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

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

  • https://yummyphotography.pl/ — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/about — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/contact — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/mentoring — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/oferta — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/polityka-cookie — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/portfolio — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/regulamin-warsztat%C3%B3w — 1 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".
  • https://yummyphotography.pl/warsztaty — 3 external link(s) use target="_blank" without rel="noopener" — the opened page can hijack your tab (reverse tab-napping). Add rel="noopener noreferrer".

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 2 occurrence(s)

notice Title is very short

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

notice Non-ASCII characters in URL path

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

Pages (showing 9 of 9)
URLStatusIndexableWordsIn-links
https://yummyphotography.pl/
Strona główna
200 yes 296 9
https://yummyphotography.pl/about
Fotografia kulinarna i produktowa dla marek. Warsztaty fotograficzne.
200 yes 333 9
https://yummyphotography.pl/contact
Fotografia kulinarna i produktowa dla marek. Warsztaty fotograficzne.
200 yes 30 9
https://yummyphotography.pl/mentoring
Fotografia kulinarna i produktowa dla marek. Warsztaty fotograficzne.
200 yes 371 9
https://yummyphotography.pl/oferta
Fotografia kulinarna i produktowa dla marek. Warsztaty fotograficzne.
200 yes 246 9
https://yummyphotography.pl/polityka-cookie
Polityka-Cookie
200 yes 351 9
https://yummyphotography.pl/portfolio
Fotografia kulinarna i produktowa dla marek. Warsztaty fotograficzne.
200 yes 148 9
https://yummyphotography.pl/regulamin-warsztat%C3%B3w
Regulamin
200 yes 895 9
https://yummyphotography.pl/warsztaty
Fotografia kulinarna i produktowa dla marek. Warsztaty fotograficzne.
200 yes 855 9

Audit your own site — free

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

Scan your site →