Catalog / marcelschreiner.ch
65

SEO audit for marcelschreiner.ch

Marcel Schreiner - <ms/> webdesign & code

otherWebflow

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

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

Ausgezeichnetes Webdesign aus Thurgau. Marcel Schreiner entwickelt klare, schnelle und pflegeleichte Webseiten für KMU. Weniger, aber besser.

Screenshot of marcelschreiner.ch
42
pages crawled
37
indexable pages
0
errors
192
warnings
389
notices
4
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 66 0 47 69
Agent Readiness 71 0 41 70
Performance 71 0 41 50
Canonical 74 0 37 0
Content 92 0 11 25
Budget 96 0 5 0
Indexability 96 0 5 0
Duplicate 97 0 4 2
Headings 99 0 1 0
Crawlability 100 0 0 2
Images 100 0 0 82
Meta Description 100 0 0 1
Security 100 0 0 82
Structured Data 100 0 0 1
Titles 100 0 0 5
Findings

Warnings (12 rules)

warning Control has no accessible name

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

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

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

  • https://marcelschreiner.ch/agb — this noindex page has 41 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://marcelschreiner.ch/, https://marcelschreiner.ch/posts, https://marcelschreiner.ch/webdesign.
  • https://marcelschreiner.ch/companion — this noindex page has 41 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://marcelschreiner.ch/, https://marcelschreiner.ch/posts, https://marcelschreiner.ch/webdesign.
  • https://marcelschreiner.ch/email — this noindex page has 41 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://marcelschreiner.ch/, https://marcelschreiner.ch/posts, https://marcelschreiner.ch/webdesign.
  • https://marcelschreiner.ch/rechtliches — this noindex page has 41 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://marcelschreiner.ch/, https://marcelschreiner.ch/posts, https://marcelschreiner.ch/webdesign.
  • https://marcelschreiner.ch/whatsapp — this noindex page has 41 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://marcelschreiner.ch/, https://marcelschreiner.ch/posts, https://marcelschreiner.ch/webdesign.

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Missing <h1>

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

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

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

  • https://marcelschreiner.ch/ — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/agb — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/email — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/freelancer — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/gear — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/hobbies — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts/bambulab-aktion — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts/deine-webseite-verwirrt — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts/frischekick-fur-die-webseite-von-sonjas-kunstschreinerei — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts/gear — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts/google-analytics — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/posts/instagram-shop — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/rechtliches — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/search — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/tools/passwort-generator — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/tools/qr-code-generator — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/tools/search-und-social-preview — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/tools/web-image-optimizer — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/tools/website-analyse — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/tools/website-carbon-audit — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/webdesign — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/webdesign-stgallen — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/webdesign-thurgau — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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://marcelschreiner.ch/whatsapp — the likely hero/LCP image (68b6a692f74e85f4f3b2e5b4_a24f0a4bab79c82b5729c31863cdcc62_ms%20logo%20white.avif) 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 Page is noindex

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

warning noindex + nofollow (blocks link equity flow)

Rule index.noindex_nofollow · Indexability · 1 occurrence(s)

warning Orphan page (no internal inlinks)

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

warning Internal link points to a redirect

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

Notices (17 rules)

notice Heading levels skip a level

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

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 41 occurrence(s)

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 25 occurrence(s)

notice Duplicate meta description across pages

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

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

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

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

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

notice Internal link has no anchor text / accessible name

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

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

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

notice Meta description too long

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

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

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

  • https://marcelschreiner.ch/ — 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://marcelschreiner.ch/posts — 3 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://marcelschreiner.ch/posts/merry-x-ms — 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://marcelschreiner.ch/posts/neue-website-fur-simonas-bastelatelier — 3 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://marcelschreiner.ch/posts/neues-buro — 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://marcelschreiner.ch/webdesign — 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://marcelschreiner.ch/webdesign-stgallen — 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://marcelschreiner.ch/webdesign-thurgau — 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 · 41 occurrence(s)

  • https://marcelschreiner.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://marcelschreiner.ch/agb — 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://marcelschreiner.ch/email — 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://marcelschreiner.ch/freelancer — 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://marcelschreiner.ch/gear — 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://marcelschreiner.ch/hobbies — 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://marcelschreiner.ch/posts — 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://marcelschreiner.ch/posts/bambulab-aktion — 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://marcelschreiner.ch/posts/deine-webseite-verwirrt — 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://marcelschreiner.ch/posts/frischekick-fur-die-webseite-von-sonjas-kunstschreinerei — 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://marcelschreiner.ch/posts/gear — 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://marcelschreiner.ch/posts/google-analytics — 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://marcelschreiner.ch/posts/instagram-shop — 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://marcelschreiner.ch/rechtliches — 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://marcelschreiner.ch/search — 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://marcelschreiner.ch/tools/passwort-generator — 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://marcelschreiner.ch/tools/qr-code-generator — 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://marcelschreiner.ch/tools/search-und-social-preview — 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://marcelschreiner.ch/tools/web-image-optimizer — 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://marcelschreiner.ch/tools/website-analyse — 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://marcelschreiner.ch/tools/website-carbon-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://marcelschreiner.ch/webdesign — 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://marcelschreiner.ch/webdesign-stgallen — 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://marcelschreiner.ch/webdesign-thurgau — 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://marcelschreiner.ch/whatsapp — 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 Slow server response

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

notice URL redirects to another URL

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

notice No structured data detected

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

notice Missing recommended security headers

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

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

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

notice Title is very short

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

Pages (showing 42 of 42)
URLStatusIndexableWordsIn-links
https://marcelschreiner.ch/
Marcel Schreiner - <ms/> webdesign & code
200 yes 392 41
https://marcelschreiner.ch/agb
<ms/> AGB
200 no 2349 41
https://marcelschreiner.ch/companion
ChatGPT - <ms/> companion
200 no 79 41
https://marcelschreiner.ch/email
<ms/> Email
200 no 95 41
https://marcelschreiner.ch/rechtliches
<ms/> Rechtliches
200 no 83 41
https://marcelschreiner.ch/whatsapp
<ms/> Whatsapp
200 no 95 41
https://marcelschreiner.ch/posts/gear
<ms/> Tools & Technik
200 yes 895 2
https://marcelschreiner.ch/posts/neues-buro
<ms/> Post - Neues Büro
200 yes 216 2
https://marcelschreiner.ch/posts/webseite-selber-anpassen
<ms/> Post - Webseite selber anpassen
200 yes 420 2
https://marcelschreiner.ch/freelancer
<ms/> Freelancer
200 yes 578 1
https://marcelschreiner.ch/hobbies
<ms/> Hobbies
200 yes 324 1
https://marcelschreiner.ch/posts
<ms/> Stories & Showcases
200 yes 263 1
https://marcelschreiner.ch/tools/passwort-generator
<ms/> Passwort Generator – Kostenlos & 100% lokal
200 yes 403 1
https://marcelschreiner.ch/tools/qr-code-generator
<ms/> QR-Code Generator – Kostenlos 100% im Browser & privat
200 yes 609 1
https://marcelschreiner.ch/tools/search-und-social-preview
<ms/> Search & Social Preview – Kostenloser Link-Vorschau Check
200 yes 490 1
https://marcelschreiner.ch/tools/web-image-optimizer
<ms/> Bilder komprimieren für Web – Kostenlos & 100% lokal
200 yes 487 1
https://marcelschreiner.ch/tools/website-analyse
<ms/> Website Analyse – Kostenloser Performance & SEO Check
200 yes 525 1
https://marcelschreiner.ch/tools/website-carbon-audit
<ms/> Website CO2 Check – Wie nachhaltig ist deine Webseite?
200 yes 614 1
https://marcelschreiner.ch/webdesign
<ms/> Webdesign
200 yes 762 1
https://marcelschreiner.ch/posts/bambulab-aktion
<ms/> Post - Bambulab Aktion
200 yes 163 1
https://marcelschreiner.ch/posts/deine-webseite-verwirrt
<ms/> Post - Deine Webseite verwirrt
200 yes 152 1
https://marcelschreiner.ch/posts/frischekick-fur-die-webseite-von-sonjas-kunstschreinerei
<ms/> Post - Frischekick für die Webseite von Sonjas Kunstschreinerei
200 yes 287 1
https://marcelschreiner.ch/posts/google-analytics
<ms/> Post - Google Analytics in der Schweiz
200 yes 720 1
https://marcelschreiner.ch/posts/instagram-shop
<ms/> Post - Instagram Shop
200 yes 175 1
https://marcelschreiner.ch/posts/mein-buro
<ms/> Post - Mein Büro
200 yes 315 1
https://marcelschreiner.ch/posts/mein-erster-merch
<ms/> Post - Mein erster Merch!
200 yes 165 1
https://marcelschreiner.ch/posts/merry-x-ms
<ms/> Post - Merry X-<ms/>
200 yes 204 1
https://marcelschreiner.ch/posts/ms-companion
<ms/> Post - <ms/> companion
200 yes 197 1
https://marcelschreiner.ch/posts/neue-website-fur-jm-beauty-hair
<ms/> Post - Neue Website für JM Beauty & Hair
200 yes 264 1
https://marcelschreiner.ch/posts/neue-website-fur-nadja-l-weinstein
<ms/> Post - Neue Website für Nadja L. Weinstein
200 yes 213 1
https://marcelschreiner.ch/posts/neue-website-fur-noemi-beza
<ms/> Post - Neue Website für Noemi Beza
200 yes 208 1
https://marcelschreiner.ch/posts/neue-website-fur-simonas-bastelatelier
<ms/> Post - Neue Website für Simonas Bastelatelier
200 yes 240 1
https://marcelschreiner.ch/posts/neues-film-setup
<ms/> Post - Neues Film Setup
200 yes 207 1
https://marcelschreiner.ch/posts/neuro-web-award-2025
<ms/> Post - Neuro Web Award 2025
200 yes 187 1
https://marcelschreiner.ch/posts/uber-mich
<ms/> Post - Über mich
200 yes 147 1
https://marcelschreiner.ch/posts/visitenkarten-die-nicht-langweilen
<ms/> Post - Visitenkarten, die nicht langweilen
200 yes 187 1
https://marcelschreiner.ch/posts/webseiten-performance
<ms/> Post - Webseiten Performance
200 yes 178 1
https://marcelschreiner.ch/posts/weniger-ist-mehr
<ms/> Post - Weniger ist mehr
200 yes 129 1
https://marcelschreiner.ch/gear
<ms/> Tools & Technik
200 yes 895 0
https://marcelschreiner.ch/search
<ms/> Suche
200 yes 102 0
https://marcelschreiner.ch/webdesign-stgallen
<ms/> Webdesign St. Gallen – Moderne Webseiten
200 yes 1009 0
https://marcelschreiner.ch/webdesign-thurgau
<ms/> Webdesign Thurgau – Moderne Webseiten
200 yes 1015 0

Audit your own site — free

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

Scan your site →