Catalog / kropf-holz.ch
62

SEO audit for kropf-holz.ch

Willkommen! Ihr Zimmermann und Schreiner in Zürich ǀ Kropf Holz GmbH

other

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

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

Wir erledigen alles, was mit Holz zu tun hat. Ihr Spezialist in Zürich für Dachfenster, Bodenroste und allgemeine Zimmerei- und Schreinerarbeiten.

Screenshot of kropf-holz.ch
50
pages crawled
43
indexable pages
2
errors
93
warnings
515
notices
0
orphan pages
1
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Crawlability 94 1 6 4
Links 98 1 0 12
Performance 72 0 47 104
Agent Readiness 89 0 19 37
Duplicate 95 0 9 6
Images 96 0 6 41
Titles 98 0 4 2
Headings 99 0 1 0
Robots 99 0 1 0
Cache 100 0 0 37
Canonical 100 0 0 6
Content 100 0 0 37
Meta Description 100 0 0 15
Security 100 0 0 75
Social 100 0 0 74
Structured Data 100 0 0 3
URL 100 0 0 62
Findings

Errors (2 rules)

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

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

error Client error (4xx) response

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

Warnings (10 rules)

warning Control has no accessible name

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

warning Near-duplicate page content

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

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://kropf-holz.ch/ — https://www.kropf-holz.ch/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Missing <h1>

Rule h1.missing · Headings · 1 occurrence(s)

warning Images missing alt text

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

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 10 occurrence(s)

  • https://kropf-holz.ch/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Thermo-2-Plus/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Insektenschutz/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Katzen/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Start/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Ueber-uns/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Zimmerei-Schreinerei/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Zimmerei-Schreinerei/Aktuelles/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Sonnenschutz/ — the likely hero/LCP image (picture-200) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

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

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

warning robots.txt blocks CSS/JS the pages need to render

Rule robots.blocks_css_js · Robots · 1 occurrence(s)

  • https://kropf-holz.ch/ — robots.txt Disallow blocks render-critical CSS/JS under: /.cm4all/handler.php/, /.cm4all/widgetres.php/cm4all.com.widgets.CookiePolicy/ — Google's renderer can't fetch these, so the affected pages may render blank or thin. Allow the asset path(s) for Googlebot.

warning Title likely truncated in SERP (too wide)

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

Notices (28 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

  • https://kropf-holz.ch/ — no llms.txt found at the site root — add one so AI agents get a curated site summary

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

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

notice Canonical points to a different URL

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

notice Duplicate meta description across pages

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

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

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

  • https://kropf-holz.ch/ — 1 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.
  • https://kropf-holz.ch/Start/ — 1 image(s) have keyword-stuffed alt text — the same word repeated several times, or a long low-variety keyword list. Google's image guidance asks for short, descriptive alt text, not keyword lists; rewrite it to describe the image.

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

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

notice Likely hero image lacks fetchpriority=high

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

  • https://kropf-holz.ch/Dachfenster/ — the likely hero/LCP image (dw1rdlncmwdudlibf4_gkfpvdjrmkt7rlittuln7jzs.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://kropf-holz.ch/Dachfenster/Anfrage/ — the likely hero/LCP image (picture-200) 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://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Dachfenster-Typen/index.php/ — the likely hero/LCP image (gr%c3%b6ssentabelle.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://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/ — the likely hero/LCP image (photo-1618826411640-d6df44dd3f7a) 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://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/index.php/ — the likely hero/LCP image (photo-1618826411640-d6df44dd3f7a) 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://kropf-holz.ch/Katzen/Katzentuere/ — the likely hero/LCP image (katze_r.gif) 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachfenster/ — the likely hero/LCP image (velux-107535-02-300x424.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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Fensterlaeden/ — the likely hero/LCP image (windisch01-580.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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Pergola/ — the likely hero/LCP image (arbeiten-0567.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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Terrassenrost/ — the likely hero/LCP image (twinson_muster1.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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Terrassenrost/index.php/ — the likely hero/LCP image (twinson_muster1.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 · 37 occurrence(s)

notice Internal link has no anchor text / accessible name

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

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

Rule meta.keywords_present · Content · 37 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 · 37 occurrence(s)

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

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

notice Large HTML document

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

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

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

  • https://kropf-holz.ch/ — 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://kropf-holz.ch/Dachfenster/ — 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://kropf-holz.ch/Dachfenster/Anfrage/ — 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://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Dachfenster-Typen/index.php/ — 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://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Thermo-2-Plus/ — 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://kropf-holz.ch/Insektenschutz/ — 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://kropf-holz.ch/Insektenschutz/Anfrage/ — 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://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/ — 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://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/index.php/ — 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://kropf-holz.ch/Katzen/ — 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://kropf-holz.ch/Katzen/Katzentuere/ — 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://kropf-holz.ch/Start/ — 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://kropf-holz.ch/Ueber-uns/ — 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://kropf-holz.ch/Ueber-uns/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://kropf-holz.ch/Ueber-uns/Kontakt/index.php/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Aktuelles/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Boden/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dach/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachausstieg-und-Lukarne/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachfenster/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachstockausbau/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Decke/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Terrassenrost/index.php/ — 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 · 37 occurrence(s)

  • https://kropf-holz.ch/ — 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://kropf-holz.ch/Dachfenster/ — 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://kropf-holz.ch/Dachfenster/Anfrage/ — 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://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Dachfenster-Typen/index.php/ — 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://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Thermo-2-Plus/ — 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://kropf-holz.ch/Insektenschutz/ — 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://kropf-holz.ch/Insektenschutz/Anfrage/ — 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://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/ — 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://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/index.php/ — 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://kropf-holz.ch/Katzen/ — 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://kropf-holz.ch/Katzen/Katzentuere/ — 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://kropf-holz.ch/Start/ — 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://kropf-holz.ch/Ueber-uns/ — 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://kropf-holz.ch/Ueber-uns/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://kropf-holz.ch/Ueber-uns/Kontakt/index.php/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Aktuelles/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Boden/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dach/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachausstieg-und-Lukarne/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachfenster/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachstockausbau/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Decke/ — 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://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Terrassenrost/index.php/ — 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 · 3 occurrence(s)

notice Missing recommended security headers

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

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

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

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

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

notice URL is very long

Rule url.too_long · URL · 9 occurrence(s)

notice Uppercase letters in URL path

Rule url.uppercase · URL · 45 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://kropf-holz.ch/Zimmerei-Schreinerei/Shop/index.php/;focus=HSTPTP_cm4all_com_widgets_Shop_5872834$3aHSTPTP_cm4all_com_widgets_Shop_5872834_viewcart&path=&frame=HSTPTP_cm4all_com_widgets_Shop_5872834$3aHSTPTP_cm4all_com_widgets_Shop_5872834_viewcart?subAction=updateCart 200 yes 1 3
https://kropf-holz.ch/Dachfenster/
Allgemeine Informationen VELUX Dachfenster ǀ Kropf Holz GmbH Zürich
200 yes 980 37
https://kropf-holz.ch/Dachfenster/Anfrage/
Anfrageformular ǀ Kropf Holz GmbH Zürich
200 yes 618 37
https://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Thermo-2-Plus/
Das neue Thermo 2 Plus Fenster von VELUX
200 yes 712 37
https://kropf-holz.ch/Dachfenster/Konfigurator/
Kropf Holz GmbH Zürich Höngg ǀ Zimmerei ǀ Schreinerei ǀ Treppenbau ǀ - Konfigurator
200 yes 420 37
https://kropf-holz.ch/Dachfenster/Termin-buchen/
Kropf Holz GmbH Zürich Höngg ǀ Zimmerei ǀ Schreinerei ǀ Treppenbau ǀ - Termin buchen
200 yes 421 37
https://kropf-holz.ch/Insektenschutz/
Kropf Holz GmbH Zürich Höngg ǀ Zimmerei ǀ Schreinerei ǀ Treppenbau ǀ - ǀ Insektenschutz
200 yes 896 37
https://kropf-holz.ch/Insektenschutz/Anfrage/
Kropf Holz GmbH Zürich Höngg ǀ Zimmerei ǀ Schreinerei ǀ Treppenbau ǀ - Anfrage
200 yes 438 37
https://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/
Fallschutz für Haustiere
200 yes 796 37
https://kropf-holz.ch/Katzen/
Katzentreppe, Katzentüre & Hundetüre ǀ Kropf Holz GmbH Zürich
200 yes 724 37
https://kropf-holz.ch/Katzen/Katzentuere/
Katzentreppe und Katzentüre ǀ Kropf Holz GmbH Zürich
200 yes 1160 37
https://kropf-holz.ch/Start/
Willkommen! Ihr Zimmermann und Schreiner in Zürich ǀ Kropf Holz GmbH
200 yes 765 37
https://kropf-holz.ch/Ueber-uns/
Kropf Holz stellt sich vor ǀ Kropf Holz GmbH Zürich
200 yes 593 37
https://kropf-holz.ch/Ueber-uns/Kontakt/
Kontaktinformationen ǀ Kropf Holz GmbH Zürich
200 yes 570 37
https://kropf-holz.ch/Zimmerei-Schreinerei/
Zimmerei ǀ Schreinerei ǀ Treppenbau ǀ Glaserei ǀ Kropf Holz GmbH Zürich
200 yes 526 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Aktuelles/
Aktuelles ǀ Kropf Holz GmbH Zürich
200 yes 570 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/
Die Vielfalt unserer Arbeiten ǀ Kropf Holz GmbH Zürich
200 yes 1023 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Boden/
Unsere Arbeiten: Boden ǀ Kropf Holz GmbH Zürich
200 yes 552 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dach/
Unsere Arbeiten: Dachstuhl ǀ Kropf Holz GmbH Zürich
200 yes 498 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachausstieg-und-Lukarne/
Dachasusstieg und Lukarne ǀ Kropf Holz GmbH Zürich
200 yes 487 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachfenster/
VELUX Dachfenster ǀ Kropf Holz GmbH Zürich
200 yes 561 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Dachstockausbau/
Dachstockausbau ǀ Kropf Holz GmbH Zürich
200 yes 463 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Decke/
Deckenverkleidungen ǀ Kropf Holz GmbH Zürich
200 yes 411 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Fenster/
Unsere Arbeiten: Fenster ǀ Kropf Holz GmbH Zürich
200 yes 434 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Fensterlaeden/
Fensterläden Ersatz ǀ Kropf Holz GmbH Zürich
200 yes 1096 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Pergola/
Unsere Arbeiten: Pergola und Sichtschutzwände ǀ Kropf Holz GmbH Zürich
200 yes 456 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Schraenke/
Unsere Arbeiten: Schränke ǀ Kropf Holz GmbH Zürich
200 yes 470 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Sonnenschutz/
Unsere Arbeiten: Sonnenschutz ǀ Kropf Holz GmbH Zürich
200 yes 505 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Spezielles/
Spezielles aus Holz ǀ Kropf Holz GmbH Zürich
200 yes 444 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Terrassenrost/
Terrassentraum mit einem Terrassenrost ǀ Kropf Holz GmbH Zürich
200 yes 1093 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Treppen/
Unsere Arbeiten: Treppe ǀ Kropf Holz GmbH Zürich
200 yes 466 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Shop/
Onlineshop ǀ Kropf Holz GmbH Zürich
200 yes 593 37
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Terrassenrost/index.php/
Terrassentraum mit einem Terrassenrost ǀ Kropf Holz GmbH Zürich
200 yes 1093 3
https://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/index.php/;focus=HSTPTP_com_cm4all_wdn_social_Youtube_9310881&frame=HSTPTP_com_cm4all_wdn_social_Youtube_9310881 200 yes 0 2
https://kropf-holz.ch/Ueber-uns/Kontakt/index.php/
Kontaktinformationen ǀ Kropf Holz GmbH Zürich
200 yes 570 2
https://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Dachfenster-Typen/index.php/
VELUX Dachfenster Typen und Grössen ǀ Kropf Holz GmbH Zürich
200 yes 1504 1
https://kropf-holz.ch/Dachfenster/K,-die-neue-Generation/Thermo-2-Plus/index.php/;focus=HSTPTP_com_cm4all_wdn_social_Youtube_5347091&frame=HSTPTP_com_cm4all_wdn_social_Youtube_5347091 200 yes 0 1
https://kropf-holz.ch/Katzen/Katzentuere/index.php/;focus=HSTPTP_com_cm4all_wdn_social_Youtube_4249405&frame=HSTPTP_com_cm4all_wdn_social_Youtube_4249405 200 yes 0 1
https://kropf-holz.ch/Zimmerei-Schreinerei/Arbeiten/Boden/index.php/;focus=HSTPTP_com_cm4all_wdn_social_Youtube_5872579&frame=HSTPTP_com_cm4all_wdn_social_Youtube_5872579 200 yes 0 1
https://kropf-holz.ch/Insektenschutz/Loesungen-fuer-Fenster/Fallschutz/index.php/
Fallschutz für Haustiere
200 yes 796 1
https://kropf-holz.ch/Katzen/index.php/;focus=HSTPTP_com_cm4all_wdn_social_Youtube_6832031&frame=HSTPTP_com_cm4all_wdn_social_Youtube_6832031 200 yes 0 1
https://kropf-holz.ch/Zimmerei-Schreinerei/Shop/index.php/;focus=HSTPTP_cm4all_com_widgets_Shop_5872834&path=?subAction=showCategory&categoryId=26458
Onlineshop ǀ Kropf Holz GmbH Zürich
200 yes 935 1
https://kropf-holz.ch/
Willkommen! Ihr Zimmermann und Schreiner in Zürich ǀ Kropf Holz GmbH
200 yes 765 0
http://www.kropf-holz.ch/Kontakt/
404 Not Found
404 no 11 1
https://kropf-holz.ch/.cm4all/iproc.php/Arbeiten/Fensterladen/fensterladen_besteht_hageltest.pdf?cdp=a&cm_odfile 0 no 0 1
https://kropf-holz.ch/.cm4all/iproc.php/VeluxMusterbilder/vx_flyer_replace_grow_vrw_2017_a5_ohnewettbewerb_de_web.pdf?cdp=a 0 no 0 1
https://kropf-holz.ch/.cm4all/iproc.php/VeluxMusterbilder/vx_flyer_replace_grow_vrw_2017_a5_ohnewettbewerb_de_web.pdf?cdp=a&cm_odfile 0 no 0 1
https://kropf-holz.ch/.cm4all/uproc.php/0/Katzen/Interview%20SRF3%20Kropf%20Katzenleiter%2023-9-25.mp3?cdp=a&_=1997b2a8440 200 no 0 2
https://kropf-holz.ch/.cm4all/uproc.php/0/Sonnenschutz/Musterkatalog_Premium-Plissee_weiss.pdf?_=17dc3daa510&cdp=a&cm_odfile 200 no 0 1
https://kropf-holz.ch/.cm4all/uproc.php/0/thermo%202%20plus%20privatkundenweb.pdf?cdp=a&_=160ff17d480 200 no 0 1

Audit your own site — free

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

Scan your site →