← ProjektHub

Website-Check

Fünf Skills prüfen eine Website oder einen Onlineshop vollständig — Sprache, Recht, Technik und Bedienung — und machen daraus einen Report. Jeder Teil ist auch einzeln aufrufbar.

Stand 24.09.2026 · entstanden aus zehn Testläufen an echten Seiten plus einem Nachtrag zu JTL und OXID · alle Skills unter Versionsverwaltung

Aufrufen

In Claude Code, nicht in Cowork — die Skripte brauchen Node und das lokale Chrome.

/website-check https://kunde.at

Mehr braucht es nicht. Eine Adresse, alle vier Teile laufen, ein Report kommt heraus. Geht auch ohne Schrägstrich: „prüf mir https://kunde.at".

BefehlWenn du wissen willstDauer
/website-checkallesam längsten
/website-check-spracheob die Texte stimmenkurz
/website-check-rechtob es abmahnsicher aussiehtmittel
/website-check-technikwarum die Seite langsam istmittel bis lang
/website-check-screenswarum niemand kauftteuerster Teil
Für jeden Check eine frische Sitzung. Lange Chats werden überproportional teuer, weil der gesamte Verlauf bei jeder Anfrage neu mitbezahlt wird — und gelesene Bilder bleiben darin. Ein Check, eine Sitzung.

Der Gesamtlauf

/website-check

Führt die anderen vier und macht einen Report daraus.

Reihenfolge
Sprache → Recht → Technik → Screens. Die günstigen zuerst; fällt dabei etwas Grundsätzliches auf, erspart das den teuren Teil
Seitenauswahl
Startseite, Impressum, Datenschutz, AGB, Widerruf, Kontakt, zentrale Produktseiten — bei Shops zusätzlich der Kauftrichter
Land
Wird am Impressum erkannt, nicht an der Domain: Firmenbuch gegen Handelsregister, WKO gegen IHK, UID gegen USt-IdNr. Österreich · Deutschland · Schweiz
Zusammenführen
EIN Report, nicht vier. Doppelbefunde werden verschmolzen: ein fehlendes alt ist Technik und Barrierefreiheit — einmal nennen, beide Grundlagen angeben
Zählung
Die Kopfzahlen werden aus data-sev gerechnet, nie von Hand gezählt
Ausgabe
Cockpit als Ablage, Artifact zum sofortigen Ansehen, PDF auf Zuruf
Selbstbericht
Nach jedem Report: Was ging nicht, wo wurde improvisiert, was fehlte? Eintrag in die Lernakte — steht nicht im Kundenreport

Sprache

/website-check-sprache

Ist der Text richtig und einheitlich?

1 Rechtschreibung
Vertipper, Buchstabendreher, Nichtwörter. Dazu unsichtbare Steuerzeichen aus Word und PDF (U+0000–001F, U+007F–009F) — im Browser ein Kästchen mitten im Wort, im Textabruf unsichtbar
2 Grammatik
Fälle, das/dass, Numerus, fehlende Kommas, abgebrochene Sätze
3 Groß/Klein
„am Besten" → „am besten". Nie aus einem Screenshot — CSS erzeugt Großschreibung, die im Text nicht steht
4 Bindestriche
„Online Shop" → „Online-Shop", „Bestands und Kontaktdaten" → „Bestands- und"
5 Konsistenz
Anrede über alle Seiten (Mehrheitsform gewinnt), Telefonnummern, Firmenname, doppelte Textbausteine. Dazu Widgets gegen Inhaltsseiten: Sponsorenleiste gegen Sponsorenseite, Footer-Öffnungszeiten gegen Kontaktseite
6 Stil
Zurückhaltend. Länderweiche: Austriazismen schützen bei AT, melden bei DE, Helvetismen schützen bei CH (kein ß)
7 Recht erkennen
Erkennt Rechtsthemen und gibt ab — prüft sie nicht selbst
8 Alt-Texte
Dateiname als Alt-Text · Platzhalter („Bild", „Logo") · Füllwörter („Bild von …") · über 125 Zeichen · Schlagwortkette · dieselbe Angabe an vielen Bildern · Widerspruch zur Umgebung. Bei verlinkten Bildern ist der Alt-Text der Linktext und muss sagen, wohin es geht
Macht nicht: Rechtsbewertung. Und schreibt die Seite nicht neu — wir korrigieren Fehler, wir texten nicht um. Bewertet nicht: alt="" — leer ist bei dekorativen Bildern richtig.

Recht

/website-check-recht

Ist alles Pflichtige da und aktuell?

Impressum
Pflichtangaben je Land, Rechtsform gegen Personenbezeichnung, Anbietername gegen Marke. GmbH & Co KG braucht zwei Firmenbuchnummern § 5 ECG · § 5 DDG · Art. 3 UWG
Pflichttexte vergleichen
Firmenname, Anschrift, USt-IdNr. aus Impressum, AGB und Datenschutz nebeneinanderlegen. Jede Seite kann für sich stimmen und trotzdem drei Firmen nennen
Widerruf
14 Tage, Musterbelehrung, Musterformular. Widerrufsbutton Pflicht seit 19.06.2026 — führt er auf die Anmeldung, obwohl Gastbestellung möglich ist, ist die Pflicht nicht erfüllt § 356a BGB · RL (EU) 2023/2673
Bestellbutton
„zahlungspflichtig bestellen" oder gleichwertig § 312j BGB · § 8 FAGG
Alte Texte
Widerrufstexte vor 13.06.2014: „zwei Wochen", „schriftlich", 40-Euro-Klausel, Erlöschen bei geöffneter Verpackung
Shop-Pflichten
Gesamtpreis inkl. USt, Grundpreis, MwSt- und Versandhinweis, Lieferzeit, Streichpreis (30-Tage-Regel), AGB-Link in der Kasse PAngV · PrAG · FAGG
Datenschutz
Verantwortlicher, Aufsichtsbehörde, Betroffenenrechte. Veraltetes: Privacy Shield, „Sperrung", DVR-Nummer. Falsche Kürzel: TMG→DDG, TTDSG→TDDDG, RStV→MStV, TKG 2003→TKG 2021
Tracking
Gemessen, nicht vermutet. Über mehrere Seiten, im frischen Profil, ohne Klick. Unterschieden wird: Container mit Consent Mode (orange) · Einbettung wie Karte, Video, Schrift (immer rot) · echte Messaufrufe (rot). Auch selbst gehostetes Matomo wird gefunden
Verweise
Jede genannte Adresse aufrufen — Statuscode 200 genügt nicht, der erwartete Inhalt muss da sein. Auch verlinkte PDFs und MP3s; bei Umlauten beide Kodierungen testen
E-Mail
Je Domain den MX-Eintrag prüfen, auch bei name[at]domain.at. Eine Adresse mit einem Bindestrich zuviel sieht richtig aus und nimmt nichts an
Abgelaufenes
Alte Datumsangaben in Ankündigungsleiste und Aktionsbannern § 5 UWG · § 2 UWG
Umweltaussagen
„klimaneutral", „CO2-neutral" auf Kompensationsbasis — unzulässig ab 27.09.2026 RL (EU) 2024/825
PDFs
Speisekarten: Allergene nach LMIV · Stand des Dokuments · gescannte PDFs ohne Text sind für Screenreader leer
Gesundheit
„regeneriert", „antibakteriell" — auch im Produktnamen und Slug, nicht nur im Fließtext VO 1223/2009 · VO 655/2013 · HWG
Macht nicht: Rechtsberatung. Ersteinschätzung mit benannter Grundlage, Fußzeile „Kein Rechtsrat". Und: die Stufe rechtlich heißt veraltet oder ins Leere verweisend — nicht „Abmahnung droht".

Belegpflicht: Jede Rechtsregel braucht eine prüfbare Fundstelle (RIS, gesetze-im-internet, EU-Recht, Kammer-Impressum). Ohne Beleg wird es eine offene Frage, keine Regel.
Werkzeug: vorab.mjs · adressen.mjs · rechtsstand.mjs

Technik

/website-check-technik

Funktioniert und lädt es?

Ladezeit
Lighthouse lokal, mobil. LCP Ziel unter 2,5 s — immer mit dem LCP-Element. Ist es der Cookie-Banner, lautet die Empfehlung anders als bei einem Bild. Serverantwort getrennt ausweisen
Meta und SEO
Title 50–60 Zeichen · Meta-Description 140–160 · Canonical · genau eine h1 · lang · strukturierte Daten · robots.txt · Sitemap · hreflang
Barrierefreiheit
Kontrast 4,5:1 (große Schrift 3:1) · Zoom nicht gesperrt · Touchziele · Überschriftenstruktur. alt="" ist kein Befund — gemeldet wird nur: ganz ohne alt, leeres alt an einem Bild das allein einen Link füllt, Bild das Information trägt BFSG · BaFG seit 28.06.2025
SVG-Titel
„Created with sketchtool" wird vom Screenreader vorgelesen
Erreichbarkeit
Alle vier Varianten http/https mit und ohne www — sie müssen auf eine Adresse führen. Zwei Antworten mit 200 ohne Weiterleitung = doppelte Inhalte
Sicherheit
Header (HSTS, CSP, Referrer-Policy) · veraltete Bibliotheken, jQuery unter 3.5 hat bekannte Lücken
Versteckte Installationen
Statuscode für /cms/, /test/, /backup/, /staging/ und auskommentierte Menüpunkte. Nur nachsehen — keine Anmeldeversuche, keine Formulare
Große Websites
Sitemap auswerten: Tracking-Parameter, http-Reste, Blätterseiten, Dubletten, Verteilung. Stichprobe zufällig, nicht von vorn — und hochrechnen statt behaupten
JavaScript-Apps
Dort sind Statuscodes wertlos. Test: eine frei erfundene Adresse abrufen. Gleiche Bytezahl wie die Startseite = leere Hülle
Plattformgrenze
Trennt „Betreiber kann ändern" von „Baukasten gibt vor". Eine unumsetzbare Empfehlung entwertet den Report
Macht nicht: Werte schätzen. Läuft die Messung nicht, steht „nicht messbar" im Report.

Bedienung

/website-check-screens

Ist es bedienbar?

Aufnahme
Startseite → Kategorie → Produkt → Warenkorb-Panel → Warenkorb → Kasse. Desktop 1440×900 und Mobil 390×844, je eigene Browserkennung. Sechs Shopsysteme erkannt: Shopify, WooCommerce, Shopware, Gambio, JTL, OXID
Ohne Shop
Statt Kauftrichter der Anfrageweg: Kontakt, Leistung, Über uns, Impressum. Bei Vereinen „Mitglied werden"
Kosten
Aufnehmen kostet nichts — das Script läuft außerhalb des Gesprächs. Lesen kostet rund 1.600 Token je Bild, höchstens acht je Durchlauf
Worauf gesehen wird
Preis, Verfügbarkeit, Versandkosten und Lieferzeit ohne Scrollen · Warenkorb änderbar mit Gesamtsumme · Kasse: Schritte, Gastbestellung, keine Überraschungskosten · Formularbeschriftungen außerhalb des Feldes · Touchziele ≥ 44 px · eine klare Hauptaktion je Ansicht
Versprechen gegen Ziel
Was der Knopf sagt, muss er tun. „Jetzt buchen" → Anfrageformular ist ein Befund
Gemessen statt angesehen
Überbreite ist auf dem Bild nicht sichtbar — wird gemessen, mit Überstand und verursachendem Element. Kaputte Bilder zweimal gemessen; steckt eines in einem Formular, ist das Formular nicht absendbar. Sperrseiten erzeugen kein Bild, statt fotografiert und als „ok" gemeldet zu werden
Cookie-Banner
Bleibt auf dem Bild — es ist Teil der Bedienung. Zusätzlich ein Bild ohne Banner für den verdeckten Inhalt
Macht nicht: Aussagen über Text, Ladezeit, Tastaturbedienung oder Screenreader — das ist auf einem Standbild nicht zu sehen.

Endet bewusst vor dem Bestellbutton. Weiterzugehen hieße, echte Namen und Zahlungsdaten in ein fremdes System einzutragen. Der Wortlaut wird stattdessen aus AGB und Quelltext gegengeprüft.
Werkzeug: capture.mjs · Playwright · lokales Chrome

Die Werkzeuge

ScriptTut
capture.mjsNimmt den Kauftrichter oder die Firmenseiten auf, misst Überbreite und kaputte Bilder, erkennt Sperrseiten
vorab.mjsMisst, was vor der Einwilligung lädt — über mehrere Seiten, mit iframes, Herkunft und selbst gehosteter Analyse
adressen.mjsSammelt E-Mail-Adressen (auch [at]-Schreibweisen) und prüft je Domain den Mailserver
rechtsstand.mjsPrüft, ob die Rechtsregeln noch aktuell sind und die Belege erreichbar
regression.mjsDer Wächter — sechs echte Shops plus Zusicherungen gegen frühere Fehler, neun Sekunden
lernakte.mjsHält fest, was das Werkzeug bei einem Lauf nicht konnte

Was von selbst läuft

Bei jedem Check
Selbstbericht in die Lernakte — auch wenn nichts aufgefallen ist. Das ist die Gegenzahl
1. des Monats, 8 Uhr
Rechtsstand geprüft (Datumszeilen älter als sechs Monate, tote Belege) und die Lernakte ausgewertet. Muster statt Einzelfälle — was zum dritten Mal auftaucht, ist ein Befund
Vor jeder Änderung
Der Regressionswächter. Nicht danach — in der Testreihe haben zwei Korrekturen je einen neuen Fehler an anderer Stelle erzeugt
Immer
Alle Skills unter Versionsverwaltung. Eine falsche Änderung ist git restore, keine Reparatur

Was im Report steht

Kopf
Geprüfte Seiten, Datum, erkanntes Land, welche Teile liefen
Zählung
harte Fehler · grenzwertig · rechtlich — gerechnet, nicht gezählt
Top 3
„Das würde am meisten bringen" — höchstens drei, mit Begründung
Übergreifend
Was auf allen Seiten gilt, zuerst
Hauptbaustelle
Die Seite mit den meisten Befunden
Ohne Befund
Was sauber ist, wird ausdrücklich genannt
Nicht geprüft
Was offen blieb und warum — gehört in jeden Report
Fußzeile
„Kein Rechtsrat"
Farben: rot = harter Fehler oder Rechtsrisiko, muss weg · orange = grenzwertig, Stil, Konsistenz. Rechts daneben immer der einfügefertige Vorschlag.