Catalog / bjoernfranck.com
65

SEO audit for bjoernfranck.com

IT-Dienstleister | Geschäfts und Privatkunden | Henstedt-Ulzburg

other

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

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

IT-Dienstleistungen | Unternehmen | Privatpersonen | Henstedt-Ulzburg | IT-Dienstleistungen | IT-Support | über 20 Jahre erfahrung | schenll & zuverlässig

Screenshot of bjoernfranck.com
25
pages crawled
25
indexable pages
0
errors
33
warnings
210
notices
1
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Performance 70 0 25 100
Duplicate 95 0 4 6
Content 98 0 2 18
Links 98 0 2 10
Agent Readiness 100 0 0 14
Crawlability 100 0 0 1
Headings 100 0 0 10
Security 100 0 0 25
Structured Data 100 0 0 26
Findings

Warnings (6 rules)

warning Thin content (low word count)

Rule content.thin · Content · 2 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 Orphan page (no internal inlinks)

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

warning Internal link points to a redirect

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

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

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

Notices (14 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

notice Duplicate meta description across pages

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

notice Likely hero image lacks fetchpriority=high

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

  • https://bjoernfranck.com/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/active-directory-sicherheitsanalyse/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/api-schnittstellen/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/cloud/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/cyber-security-check/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/datenschutz — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/datenschutzerklaerung/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/evil-employee/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/externe-it-infrastruktur/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/geschaeftskunden/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/gestohlene-hardware/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/impressum/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/infrastuktur/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/interne-it-infrastuktur/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/it-security/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/it-services/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/it-sicherheit/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/kontakt/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/managed-services/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/mobile-applikationen/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/passwort-audit/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/privatkunden/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/projekte/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/ueber-mich/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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://bjoernfranck.com/web-applikationen/ — the likely hero/LCP image (cropped-website_logo_new_v02-300x43-1.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 Page has only one internal inlink (fragile crawl path)

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

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

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

  • https://bjoernfranck.com/ — 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://bjoernfranck.com/active-directory-sicherheitsanalyse/ — 1 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://bjoernfranck.com/api-schnittstellen/ — 1 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://bjoernfranck.com/cloud/ — 1 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://bjoernfranck.com/cyber-security-check/ — 1 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://bjoernfranck.com/datenschutz — 1 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://bjoernfranck.com/datenschutzerklaerung/ — 1 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://bjoernfranck.com/evil-employee/ — 1 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://bjoernfranck.com/externe-it-infrastruktur/ — 1 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://bjoernfranck.com/geschaeftskunden/ — 1 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://bjoernfranck.com/gestohlene-hardware/ — 1 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://bjoernfranck.com/impressum/ — 1 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://bjoernfranck.com/infrastuktur/ — 1 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://bjoernfranck.com/interne-it-infrastuktur/ — 1 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://bjoernfranck.com/it-security/ — 1 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://bjoernfranck.com/it-services/ — 1 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://bjoernfranck.com/it-sicherheit/ — 1 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://bjoernfranck.com/kontakt/ — 1 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://bjoernfranck.com/managed-services/ — 1 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://bjoernfranck.com/mobile-applikationen/ — 1 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://bjoernfranck.com/passwort-audit/ — 1 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://bjoernfranck.com/privatkunden/ — 1 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://bjoernfranck.com/projekte/ — 1 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://bjoernfranck.com/ueber-mich/ — 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://bjoernfranck.com/web-applikationen/ — 1 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 · 25 occurrence(s)

  • https://bjoernfranck.com/ — 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://bjoernfranck.com/active-directory-sicherheitsanalyse/ — 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://bjoernfranck.com/api-schnittstellen/ — 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://bjoernfranck.com/cloud/ — 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://bjoernfranck.com/cyber-security-check/ — 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://bjoernfranck.com/datenschutz — 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://bjoernfranck.com/datenschutzerklaerung/ — 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://bjoernfranck.com/evil-employee/ — 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://bjoernfranck.com/externe-it-infrastruktur/ — 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://bjoernfranck.com/geschaeftskunden/ — 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://bjoernfranck.com/gestohlene-hardware/ — 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://bjoernfranck.com/impressum/ — 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://bjoernfranck.com/infrastuktur/ — 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://bjoernfranck.com/interne-it-infrastuktur/ — 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://bjoernfranck.com/it-security/ — 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://bjoernfranck.com/it-services/ — 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://bjoernfranck.com/it-sicherheit/ — 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://bjoernfranck.com/kontakt/ — 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://bjoernfranck.com/managed-services/ — 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://bjoernfranck.com/mobile-applikationen/ — 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://bjoernfranck.com/passwort-audit/ — 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://bjoernfranck.com/privatkunden/ — 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://bjoernfranck.com/projekte/ — 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://bjoernfranck.com/ueber-mich/ — 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://bjoernfranck.com/web-applikationen/ — 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 · 25 occurrence(s)

  • https://bjoernfranck.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://bjoernfranck.com/active-directory-sicherheitsanalyse/ — 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://bjoernfranck.com/api-schnittstellen/ — 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://bjoernfranck.com/cloud/ — 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://bjoernfranck.com/cyber-security-check/ — 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://bjoernfranck.com/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://bjoernfranck.com/datenschutzerklaerung/ — 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://bjoernfranck.com/evil-employee/ — 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://bjoernfranck.com/externe-it-infrastruktur/ — 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://bjoernfranck.com/geschaeftskunden/ — 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://bjoernfranck.com/gestohlene-hardware/ — 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://bjoernfranck.com/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://bjoernfranck.com/infrastuktur/ — 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://bjoernfranck.com/interne-it-infrastuktur/ — 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://bjoernfranck.com/it-security/ — 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://bjoernfranck.com/it-services/ — 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://bjoernfranck.com/it-sicherheit/ — 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://bjoernfranck.com/kontakt/ — 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://bjoernfranck.com/managed-services/ — 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://bjoernfranck.com/mobile-applikationen/ — 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://bjoernfranck.com/passwort-audit/ — 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://bjoernfranck.com/privatkunden/ — 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://bjoernfranck.com/projekte/ — 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://bjoernfranck.com/ueber-mich/ — 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://bjoernfranck.com/web-applikationen/ — 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 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)

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 25 occurrence(s)

  • https://bjoernfranck.com/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/active-directory-sicherheitsanalyse/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/api-schnittstellen/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/cloud/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/cyber-security-check/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/datenschutz — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/datenschutzerklaerung/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/evil-employee/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/externe-it-infrastruktur/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/geschaeftskunden/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/gestohlene-hardware/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/impressum/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/infrastuktur/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/interne-it-infrastuktur/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/it-security/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/it-services/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/it-sicherheit/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/kontakt/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/managed-services/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/mobile-applikationen/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/passwort-audit/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/privatkunden/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/projekte/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/ueber-mich/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
  • https://bjoernfranck.com/web-applikationen/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.
Pages (showing 25 of 25)
URLStatusIndexableWordsIn-links
https://bjoernfranck.com/
IT-Dienstleister | Geschäfts und Privatkunden | Henstedt-Ulzburg
200 yes 533 25
https://bjoernfranck.com/cloud/
Cloud Computing | bjoernfranck.com
200 yes 432 25
https://bjoernfranck.com/datenschutzerklaerung/
Datenschutzerklärung | bjoernfranck.com | IT-Dienstleistungen
200 yes 5234 25
https://bjoernfranck.com/geschaeftskunden/
Geschäftskunden | bjoernfranck.com | IT-Dienstleistungen
200 yes 285 25
https://bjoernfranck.com/impressum/
Impressum | bjoernfranck.com | IT-Dienstleistungen
200 yes 120 25
https://bjoernfranck.com/infrastuktur/
Infrastuktur | bjoernfranck.com | IT-Dienstleistungen
200 yes 439 25
https://bjoernfranck.com/it-security/
IT-Security | bjoernfranck.com | IT-Dienstleistungen
200 yes 984 25
https://bjoernfranck.com/it-services/
IT-Services | bjoernfranck.com | IT-Dienstleistungen
200 yes 613 25
https://bjoernfranck.com/it-sicherheit/
IT-Sicherheit | bjoernfranck.com | IT-Dienstleistungen
200 yes 396 25
https://bjoernfranck.com/kontakt/
Kontakt | bjoernfranck.com | IT-Dienstleistungen
200 yes 104 25
https://bjoernfranck.com/managed-services/
Managed Services | bjoernfranck.com | IT-Dienstleistungen
200 yes 318 25
https://bjoernfranck.com/projekte/
Projekte | bjoernfranck.com | IT-Dienstleistungen
200 yes 2263 25
https://bjoernfranck.com/ueber-mich/
Über mich | bjoernfranck.com | IT-Dienstleistungen
200 yes 546 25
https://bjoernfranck.com/gestohlene-hardware/
Gestohlene Hardware | bjoernfranck.com | IT-Dienstleistungen
200 yes 440 6
https://bjoernfranck.com/datenschutz
Datenschutzerklärung | bjoernfranck.com | IT-Dienstleistungen
200 yes 5234 1
https://bjoernfranck.com/active-directory-sicherheitsanalyse/
AD-Sicherheitsanalyse | bjoernfranck.com | IT-Dienstleistungen
200 yes 465 1
https://bjoernfranck.com/api-schnittstellen/
API-Schnittstellen | bjoernfranck.com | IT-Dienstleistungen
200 yes 430 1
https://bjoernfranck.com/cyber-security-check/
Cyber Security Check | bjoernfranck.com | IT-Dienstleistungen
200 yes 420 1
https://bjoernfranck.com/evil-employee/
Evil Employee | bjoernfranck.com | IT-Dienstleistungen
200 yes 473 1
https://bjoernfranck.com/externe-it-infrastruktur/
Externe Infrastuktur | bjoernfranck.com | IT-Dienstleistungen
200 yes 435 1
https://bjoernfranck.com/interne-it-infrastuktur/
Interne IT-Infrastuktur | bjoernfranck.com | IT-Dienstleistungen
200 yes 482 1
https://bjoernfranck.com/mobile-applikationen/
Mobile Applikationen | bjoernfranck.com | IT-Dienstleistungen
200 yes 396 1
https://bjoernfranck.com/passwort-audit/
Passwort-Audit | bjoernfranck.com | IT-Dienstleistungen
200 yes 439 1
https://bjoernfranck.com/web-applikationen/
Web-Applikationen | bjoernfranck.com | IT-Dienstleistungen
200 yes 606 1
https://bjoernfranck.com/privatkunden/
Privatkunden | bjoernfranck.com | IT-Dienstleistungen
200 yes 425 0

Audit your own site — free

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

Scan your site →