++++
Matthias Hahn
Matthias Hahn
Brand & Webdesign · matthiashahn.com
Re-Audit nach Fixes · 8 Säulen · 🩺

Physiotherapie Murgenthal — Re-Audit nach Fixes

Nachkontrolle des Astro-Relaunches nach Umsetzung aller sechs Feinschliff-Punkte aus dem Erst-Audit (13.07.2026). Erneut geprüft über acht Säulen: technisches SEO, Rechtssicherheit & Datenschutz, Barrierefreiheit, Conversion, lokale Auffindbarkeit, Trust & Sicherheit, Mobile-UX und KI-Sichtbarkeit (GEO) — belegt aus den ausgelieferten HTML-, Header-, Sitemap- und Lighthouse-Daten.

Datum: 13.07.2026 (nach Fixes) Plattform: Astro (statisch) Server: Netlify · HTTP/2 Umfang: 16 URLs (Sitemap-Crawl)
A
MAKELLOS

Alle sechs Befunde behoben — technisch jetzt ohne offene Baustelle

Die im Erst-Audit benannten Punkte sind umgesetzt und live verifiziert: Canonicals ohne .html (deckungsgleich mit Sitemap & internen Links), das Team-Bild 404 behoben, H1 auf allen Seiten, Service-, Breadcrumb- und FAQ-Schema auf den Unterseiten, eine Content-Security-Policy als letzte Härtungsstufe und eine llms.txt für KI-Sichtbarkeit. Lighthouse steht jetzt mobil wie Desktop auf 100/100/100/100 — bei bereits vorher sauberen Rechts-, Datenschutz-, Conversion- und Local-Grundlagen. Offen bleiben nur Aufgaben für den späteren Go-Live auf der Produktiv-Domain (SPF/DMARC, URL-Umzug).

Kritisch
0
Keine Blocker
Mittel
0
Alle behoben
Behoben
6/6
Aus dem Erst-Audit
Lighthouse
100
Mobil & Desktop, alle 4
01

Crawling & Indexierung

Grundlage jeder SEO: Kann Google die Seite finden, crawlen und korrekt in den Index aufnehmen? Hier ist die Umsetzung bis auf ein Detail vorbildlich.

robots.txt & Sitemap-Index sauber — inkl. KI-Crawler

Sauber

robots.txt gibt alles frei (Allow: /), verweist auf sitemap-index.xml (→ sitemap-0.xml mit 16 URLs) und erlaubt zusätzlich ausdrücklich die Answer-Engine-Crawler (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended). Vorbildliche Ausgangslage für Sichtbarkeit in klassischer und generativer Suche.

Redirects, HTTPS & 404-Handling korrekt

Sauber

HTTP → HTTPS greift per 301, ausgeliefert wird durchgängig über HTTP/2. Eine nicht existierende URL liefert einen echten HTTP 404 (kein Soft-404). TTFB der Seiten liegt dank Netlify-Edge bei ~0,2–0,4 s.

Canonical-Tags korrigiert — ohne .html

Behoben

Erst-Audit: alle 15 Unterseiten hatten ein rel="canonical" auf die .html-Variante (z. B. /about.html) — widersprüchlich zu Sitemap und internen Links.

Jetzt: die Canonical-Erzeugung läuft zentral im Astro-Layout und liefert durchgängig die saubere Pretty-URL (/about). Zusätzlich wird og:url passend gesetzt. Live geprüft: Canonical = Sitemap = interne Links auf allen Unterseiten.

Keine Duplicate-Meta, keine toten Links

Sauber

Über alle 16 gecrawlten Seiten hinweg: durchgängig eindeutige, keyword- und ortsbezogene Titles („… in Murgenthal") und individuelle Meta-Descriptions — keine Duplikate, keine fehlende Description, keine toten internen Links (alle 2xx).

02

Strukturierte Daten (Schema.org)

Maschinenlesbare Auszeichnung des Inhalts — Grundlage für Rich Results. Der lokal entscheidende LocalBusiness-Aspekt wird gesondert in Sektion 09 (Lokale Sichtbarkeit) bewertet.

Startseite mit reichhaltigem, korrektem Graph

Sauber

Die Startseite liefert einen vollständigen Physiotherapy-Datensatz (Name, legalName, Telefon, E-Mail, Adresse, geo, openingHours, priceRange, aggregateRating, sameAs) plus ein sauberes FAQPage-Schema mit vier echten Frage-Antwort-Paaren (Verordnung, Ablauf, Kostenübernahme, Terminbuchung). Das ist Rich-Result-fähig auf gehobenem Niveau — mehr dazu in Sektion 09.

Unterseiten jetzt mit Service-, Breadcrumb- & FAQ-Schema

Behoben

Erst-Audit: das JSON-LD steckte nur auf der Startseite; Leistungsseiten und /about hatten kein Markup.

Jetzt: jede Leistungsseite liefert ein Service-Objekt (verknüpft mit dem Physiotherapy-Anbieter), eine automatisch erzeugte BreadcrumbList (Start → Behandlungen → Leistung) sowie ein FAQPage-Schema, das aus den bereits sichtbaren Accordion-FAQs generiert wird — dadurch bleibt es garantiert deckungsgleich mit dem Seiteninhalt. /about und die übrigen Unterseiten tragen ebenfalls Breadcrumbs.

03

On-Page & Content-Signale

Titel, Meta-Beschreibungen, Überschriftenstruktur, Sprache und Social-Signale.

Metadaten & Sprache mustergültig

Sauber

Titles (40–63 Zeichen) und Meta-Descriptions (159–162 Zeichen) liegen im optimalen Rahmen und sind pro Seite eindeutig. lang="de-CH" ist korrekt gesetzt (passend zum Schweizer Standort), ebenso Viewport. Social-Signale sind vollständig: og:title/description/image, og:locale=de_CH, og:site_name, twitter:card=summary_large_image und Apple-Touch-Icon.

H1 jetzt auf jeder Seite

Behoben

Erst-Audit: /behandlungen und /termin starteten ohne H1 direkt mit H2.

Jetzt: auf beiden Seiten wurde die erste tragende Überschrift von <h2> auf <h1> gehoben (visuelle Klasse unverändert, kein Layout-Bruch). Alle 16 Seiten haben nun genau eine H1 — live bestätigt.

Alt-Texte sauber gehandhabt

Sauber

Kein Bild ohne alt-Attribut; rein dekorative Grafiken tragen korrekt ein leeres alt="". Der Lighthouse-Accessibility-Check (image-alt) besteht ohne Beanstandung — inhaltlich tragende Bilder dürfen bei Gelegenheit noch beschreibendere, keyword-nahe Alt-Texte erhalten.

04

Performance & Core Web Vitals

Gemessen mit Google Lighthouse (PageSpeed Insights) für Mobil und Desktop. Ring-Farbe = Score-Band, darunter die Lab-Core-Web-Vitals.

📱 Mobil
100
Performance
100
Barriere­freiheit
100
Best Practices
100
SEO
FCP1,1 s LCP1,1 s TBT0 ms CLS0 SI2,5 s
🖥️ Desktop
100
Performance
100
Barriere­freiheit
100
Best Practices
100
SEO
FCP0,4 s LCP0,7 s TBT0 ms CLS0 SI0,9 s
0–49 50–89 90–100 Quelle: Google Lighthouse · gedrosselt (Lab)

Perfekte Performance — 100/100

Sauber

Lighthouse meldet nach den Fixes Performance 100 mobil wie Desktop bei durchweg grünen Core Web Vitals: LCP 1,1 s mobil / 0,7 s Desktop, TBT 0 ms und ein perfekter CLS von 0 (kein Layout-Springen). Das ist das Ergebnis des statischen Astro-Builds — kein Server-Rendering pro Aufruf, wenig JavaScript.

Bilder, Caching & Auslieferung modern umgesetzt

Sauber

Bilder liegen als WebP vor, werden per srcset responsiv ausgeliefert, sind zu >95 % mit width/height versehen (daher CLS 0) und lazy-geladen. Die statischen Astro-Assets tragen cache-control: public, max-age=31536000, immutable (far-future Caching), Auslieferung per HTTP/2 mit aktiver Kompression über das Netlify-CDN.

Team-Bild 404 behoben — Best Practices jetzt 100

Behoben

Erst-Audit: die responsive Variante Tanja-Zähringer-p-800.webp lieferte 404 (Umlaut-Kodierung NFD vs. NFC) → Konsolenfehler, Best Practices bei 96.

Jetzt: die Dateinamen sind auf eine ASCII-/einheitliche Schreibweise normalisiert (Tanja-Zaehringer-*.webp), src/srcset und Dateien stimmen überein. Live geprüft: Bild lädt mit 200, keine Konsolenfehler, Best Practices 100 (mobil & Desktop).

05

Server & Drittanbieter

Serverbasis und eingebundene Fremd-Ressourcen. Die Sicherheits-Header und die Versionshygiene werden gesondert in Sektion 10 (Trust & Sicherheit) bewertet.

Praktisch keine Fremd-Ressourcen im Ladepfad

Sauber

Der Astro-Relaunch hat die früheren Webflow-Abhängigkeiten (extern geladene Google Fonts, jQuery, Embedly-YouTube) entfernt. Es laden keine Google Fonts, kein Analytics/Tag-Manager und keine Auto-Embeds mehr. Facebook, Instagram, Google-Maps und die Terminbuchung sind nur als anklickbare Links hinterlegt — sie laden nichts, bis die Nutzer:in bewusst darauf klickt.

Bilder liegen noch auf dem Webflow-CDN — Hinweis

Sauber

Die Bild-Assets werden weiterhin von cdn.prod.website-files.com (Webflow, über Cloudflare) geladen — gut zwischengespeichert (max-age=31536000) und performant. Funktional unkritisch; als Hinweis: Es bleibt eine Kopplung an die Webflow-Asset-Hosting-Infrastruktur, obwohl die Seite Webflow verlassen hat. Wer volle Unabhängigkeit will, spiegelt die Bilder ins eigene Repo/CDN.

Transport & Icons solide

Sauber

HTTP/2, aktive Kompression, gültiges HTTPS sowie vollständige Favicon-/Apple-Touch-Icons (PNG in mehreren Größen, Light/Dark) sind sauber ausgeliefert.

06

Rechtssicherheit & Datenschutz

Für einen Schweizer Betrieb gilt das revidierte Datenschutzgesetz (revDSG). Geprüft: Pflichtseiten, Transportsicherheit und ob Drittdienste personenbezogene Daten vor Einwilligung übertragen. Geprüft aus real ausgelieferten Seiten und Ressourcen.

Impressum, Datenschutz & HTTPS erreichbar

Sauber

/impressum und /datenschutz liefern HTTP 200 und sind im Footer verlinkt. Das Impressum nennt die vollständige Firma (Physiotherapie Murgenthal GmbH, Gesundheitszentrum Unterentfelden AG), Adresse und Handelsregister. HTTPS ist mit gültigem Zertifikat durchgängig erzwungen (HSTS mit preload).

Keine einwilligungspflichtigen Dienste laden vor Zustimmung

Sauber

Es laden keine Google Fonts, kein Analytics/Tag-Manager, keine Karten- oder Video-Auto-Embeds und keine Cookies vor Interaktion. Google-Maps und die Medidoc-Terminbuchung sind als reine Links/Buttons eingebunden — es fließen also erst Daten, wenn die Besucher:in aktiv klickt. Deshalb ist hier kein Cookie-Banner nötig, und es gibt keinen der klassischen Abmahn-Sachverhalte (extern geladene Fonts o. Ä.). Die Datenschutzerklärung benennt zudem transparent die eingesetzten Dienste (Medidoc, Webflow-CDN, Netlify).

Keine Cookies, kein Mixed Content

Sauber

Vor jeder Interaktion werden keine Set-Cookie-Header gesetzt, und es gibt keine über http:// geladenen Subressourcen (kein Mixed Content). Sauberer, datensparsamer Auslieferungszustand.

07

Barrierefreiheit

In der Schweiz verpflichtet das BehiG primär öffentliche Stellen; für private Betriebe ist Barrierefreiheit v. a. Nutzbarkeit, Reichweite und — sobald EU-/DE-Kund:innen adressiert werden — zunehmend relevant (EU-BFSG seit 28.06.2025). Gemessen mit Lighthouse (mobil & Desktop).

Accessibility-Score 100 — ohne Beanstandung

Sauber

Der Lighthouse-Accessibility-Wert liegt mobil wie Desktop bei 100, ohne einen einzigen fehlgeschlagenen Teil-Audit (Kontrast, Alt-Texte, Labels, Heading-Order, html-has-lang, Tap-Ziele, Schriftgrößen — alle bestanden). Das ist ein Wert, den die wenigsten Praxis-Websites erreichen.

Sprache, Struktur & Bedienbarkeit solide

Sauber

lang="de-CH" ist gesetzt, die Überschriftenhierarchie ist bis auf die zwei fehlenden H1 (Sektion 03) sauber, semantische Landmarks (main, nav, header, footer) sind vorhanden und die Navigation ist per Tastatur erreichbar. Tragfähige, moderne A11y-Grundlage.

08

Conversion & Lead-Fähigkeit

Die entscheidende Frage für den Praxiserfolg: Macht die Seite aus Besucher:innen Kontakt? Geprüft werden Kontaktwege, Handlungsaufforderungen und Vertrauenssignale.

Alle wichtigen Kontaktwege vorhanden

Sauber

Click-to-Call (tel:) und E-Mail (mailto:) sind verlinkt, die Online-Terminbuchung über Medidoc ist prominent eingebunden, und oberhalb des Falzes stehen klare Handlungsaufforderungen („Termin buchen"). Der kürzeste Weg vom Besuch zum Termin ist damit an mehreren Stellen offen.

Vertrauenssignale sichtbar & maschinenlesbar

Sauber

Google-Bewertungen sind im Sichttext eingebunden und als AggregateRating (4,6 von 5 aus 13 Bewertungen) im Schema hinterlegt — damit kann Google Sterne direkt im Suchergebnis anzeigen. Eine eigene FAQ mit vier häufigen Fragen nimmt zusätzlich Kaufhürden. Sehr gute Vertrauensbasis.

Feinschliff-Idee: eigenständige Kontakt-/Anfahrtssektion

Sauber

Als Ausbau (kein Mangel): Ein WhatsApp-Kontakt und eine kurze, immer sichtbare „Anfahrt & Öffnungszeiten"-Box können die Erreichbarkeit für spontane Anfragen weiter erhöhen. Die inhaltliche Basis (Öffnungszeiten, Adresse, Maps-Link) ist bereits vorhanden.

09

Lokale Sichtbarkeit

Für einen ortsgebundenen Betrieb der wichtigste Kanal: Local Pack, Google Maps und die lokale Suche. Entscheidend ist das LocalBusiness-Schema samt vollständiger Standortdaten.

Vollständiges Physiotherapy-Schema — vorbildlich

Sauber

Die Startseite liefert einen Physiotherapy-Datensatz (Subtyp von LocalBusiness) mit allem, worauf es lokal ankommt: vollständige NAP-Angabe (Fahrackerstrasse 1, 4853 Murgenthal, AG), telephone, email, Geo-Koordinaten, Öffnungszeiten (Mo–Fr 08–12 & 13–17:30), priceRange, hasMap und sameAs zu Google Maps, Facebook und Instagram. Genau dieser Baustein ist bei den meisten Praxis-Seiten der größte Hebel — hier ist er lehrbuchmäßig gesetzt.

Standortdaten & Öffnungszeiten auch im Sichttext

Sauber

Adresse, Telefonnummer und Öffnungszeiten stehen zusätzlich im Seitentext/Footer, und ein maps.app.goo.gl-Link führt direkt zum Google-Business-Eintrag. Maschinenlesbare und menschenlesbare Angaben stimmen überein — ideal fürs Local Pack.

Feinschliff-Idee: zweiter Standort separat auszeichnen

Sauber

Auf /about wird auch das Gesundheitszentrum Unterentfelden genannt. Falls dort ebenfalls behandelt wird, lohnt für diesen Standort perspektivisch ein eigenes LocalBusiness-Objekt bzw. eine eigene Standortseite — für maximale lokale Sichtbarkeit an beiden Orten.

10

Trust & Sicherheit

Vertrauens- und Angriffsflächen-Perspektive: Transportsicherheit, Schutz-Header und die Frage, wie viel die Seite über ihre Software preisgibt.

Starkes Set an Security-Headern

Sauber

Ausgeliefert werden Strict-Transport-Security (max-age 1 Jahr, includeSubDomains; preload), X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, Referrer-Policy und eine restriktive Permissions-Policy (Geolocation/Kamera/Mikrofon aus). Das ist deutlich mehr Härtung, als man auf Praxis-Seiten üblicherweise sieht.

Keine offenen Endpoints, keine Versionsleaks

Sauber

Typische Angriffsflächen sind zu: /.git/HEAD, /.env und Backup-Pfade liefern 404, es gibt kein CMS-Login und keine x-powered-by-/Versions-Header. Als statischer Astro-Build gibt es serverseitig praktisch nichts anzugreifen — eine der sichersten Betriebsarten überhaupt.

Content-Security-Policy jetzt gesetzt

Behoben

Erst-Audit: die Content-Security-Policy war der einzige noch fehlende Schutz-Header.

Jetzt: in _headers ergänzt — default-src 'self' mit gezielten Freigaben (Bilder auch von cdn.prod.website-files.com, object-src 'none', frame-ancestors 'self', upgrade-insecure-requests). Vorab abgesichert, dass keine externen Skripte, kein eval, keine iframes/Forms genutzt werden — live geprüft: die CSP ist aktiv und verursacht keine Konsolen-/Ladefehler.

11

Mobile-UX

Google indexiert mobile-first, und die meisten Besucher:innen kommen vom Smartphone. Maßgeblich ist der mobile Lighthouse-Datensatz (siehe Gauges in Sektion 04) samt Bedienbarkeit auf kleinen Displays.

Mobil nahezu gleichauf mit Desktop

Sauber

Die Performance-Ampel steht mobil wie Desktop bei 100 — der sonst übliche große Mobil-Abstand fehlt komplett. Mobiler LCP 1,1 s, TBT 0 ms, CLS 0: schnelle, ruckelfreie Darstellung auch auf schwächeren Geräten.

Viewport, Tap-Ziele & Schriftgrößen bestanden

Sauber

Der viewport ist korrekt gesetzt, es gibt kein horizontales Scrollen, und die Lighthouse-Mobil-Checks für Tap-Ziele, Schriftgrößen und Inhaltsbreite bestehen (Accessibility 100). Mobil-Erlebnis auf sehr hohem Niveau.

12

KI-Sichtbarkeit (GEO)

Immer mehr Menschen suchen über ChatGPT, Perplexity und Google-AI-Overviews. Generative Engine Optimization (GEO) prüft, wie gut die Seite von KI-Systemen gelesen, verstanden und zitiert werden kann — ein Zukunfts- und Chancenthema.

Strukturell sehr gut für generative Suche gerüstet

Sauber

Die robots.txt erlaubt die KI-Crawler ausdrücklich (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended), das HTML nutzt semantische Landmarks (main, nav, header, footer, section), und ein echtes FAQPage-Schema mit direkt beantworteten Fragen liegt vor — genau die Inhalte, die KI-Systeme bevorzugt zitieren. Bessere Ausgangslage haben die wenigsten lokalen Betriebe.

llms.txt angelegt & FAQ-Schema ausgerollt

Behoben

Erst-Audit: keine llms.txt (404), FAQ-Schema nur auf der Startseite.

Jetzt: /llms.txt mit Kurzprofil, Eckdaten (Adresse, Öffnungszeiten, Bewertung) und allen Kern-URLs ist live. Jede Leistungsseite trägt jetzt FAQPage-Schema aus den bereits sichtbaren Fragen — zusammen mit den semantischen Landmarks und der ausdrücklichen AI-Crawler-Freigabe eine sehr gute GEO-Basis.

13

Prüfmatrix im Überblick

PrüfpunktStatusBefund
HTTPS & RedirectsOK301 http→https, HSTS preload
robots.txt (inkl. KI-Crawler)OKAllow /, GPTBot & Co. erlaubt
XML-SitemapOKsitemap-index → 16 URLs
Canonical-TagsOKBehoben — saubere Pretty-URLs + og:url
404-HandlingOKEchter HTTP 404
Duplicate-Meta / Broken LinksOK16 Seiten: keine Dubletten, keine toten Links
H1 / Heading-StrukturOKBehoben — genau 1 H1 auf allen 16 Seiten
Meta-Description / TitlesOKEindeutig, optimale Länge
Sprache / og:localeOKlang=de-CH, og:locale=de_CH
Strukturierte Daten (Startseite)OKPhysiotherapy + FAQPage
Strukturierte Daten (Unterseiten)OKService + Breadcrumb + FAQPage ergänzt
Performance (Lighthouse)OKMobil & Desktop 100, CWV grün
Bildformate / CachingOKWebP + srcset, immutable Caching
Bild-404 (Umlaut-Datei)OKBehoben — Dateinamen normalisiert (200)
Impressum / DatenschutzOKErreichbar (HTTP 200), verlinkt
Tracking / ConsentOKKeine Tracker vor Zustimmung, kein Banner nötig
Cookie-Flags / Mixed ContentOKKeine Cookies, kein Mixed Content
BarrierefreiheitOKLighthouse A11y 100, keine Fails
ConversionOKtel:, mailto:, Online-Buchung, CTA
Lokale SichtbarkeitOKVolles LocalBusiness-Schema + NAP
Security-HeaderOKHSTS, XCTO, XFO, Referrer, Permissions
Content-Security-PolicyOKGesetzt in _headers, live aktiv
Härtung / offene EndpointsOK.git/.env 404, keine Versionsleaks
Mobile-UXOKMobil 100, Tap-Ziele/Fonts bestanden
KI-Sichtbarkeit (GEO)OK+ llms.txt & FAQ-Schema auf Leistungsseiten
E-Mail-Sicherheit (SPF/DMARC)Auf Staging-Domain nicht prüfbar → bei Go-Live
14

Priorisierte Maßnahmen

Alle sechs Punkte aus dem Erst-Audit sind umgesetzt und live verifiziert. Übrig bleibt nur, was sinnvoll erst beim Go-Live auf der echten Domain passiert.

  1. ✓ Erledigt: Canonicals ohne .html

    Zentral im Astro-Layout gelöst, inkl. og:url. Canonical = Sitemap = interne Links auf allen Unterseiten.

    SEObehoben
  2. ✓ Erledigt: Team-Bild 404

    Umlaut-Dateinamen normalisiert — Bild lädt mit 200, keine Konsolenfehler, Best Practices 100.

    Performancebehoben
  3. ✓ Erledigt: H1 auf jeder Seite

    /behandlungen und /termin haben jetzt eine H1; alle 16 Seiten sauber.

    On-Pagebehoben
  4. ✓ Erledigt: Schema auf Unterseiten

    Service + BreadcrumbList + FAQPage (aus sichtbaren FAQs) auf allen Leistungsseiten.

    SEOLocalbehoben
  5. ✓ Erledigt: Content-Security-Policy & llms.txt

    Strenge CSP in _headers (live, ohne Fehler) und /llms.txt für KI-Sichtbarkeit angelegt.

    SicherheitKI-Sichtbarkeitbehoben
  6. Offen für den Go-Live auf der Produktiv-Domain

    Beim Umzug von der Netlify-Staging-Domain auf die echte Domain: SPF/DMARC für die E-Mail-Domain setzen, site/Canonicals/OG-URLs auf den finalen Host umstellen und Weiterleitungen der alten Webflow-URLs (301) einrichten. Kein Mangel des jetzigen Stands — reine Launch-Vorbereitung.

    Go-LiveAufwand: mittel
Matthias Hahn
Erstellt von

Matthias Hahn

Brand & Webdesign für Gesundheit, Coaching & Speaking