Zum Inhalt springen
checkfrei
Menü

Methode

So prüfen wir

Ein Prüfwerkzeug, das sein Urteil nicht erklärt, ist eine Blackbox. Deshalb steht hier alles: welche 69 Punkte wir prüfen, ab wann wir warnen, wie die Punktzahl entsteht und was wir bewusst nicht können.

Was passiert, wenn du auf Prüfen klickst

  1. Wir ergänzen fehlendes https:// und rufen die Adresse ab. Weiterleitungen folgen wir bis zu sechsmal und prüfen jede Station einzeln.
  2. Parallel holen wir robots.txt, Sitemap, llms.txt, llms-full.txt, ai.txt, agent.json und das Favicon, lesen das SSL-Zertifikat aus, testen die Weiterleitung von http auf https und rufen eine erfundene Adresse auf, um die 404-Seite zu prüfen. Dazu kommen bis zu drei eigene Stylesheets für die Caching- und Schriften-Prüfung.
  3. Aus diesen Daten berechnen wir die Befunde. Die meisten Seiten sind nach zwei bis zehn Sekunden fertig.
  4. Danach lassen wir Google PageSpeed Insights die Ladezeit auf einem simulierten Handy messen. Das dauert 15 bis 40 Sekunden und wird auf der Ergebnisseite nachgeladen.

Wir prüfen das HTML, so wie es der Server ausliefert. JavaScript führen wir nicht aus. Das ist Absicht: Genau so sehen die meisten KI-Crawler eine Seite.

Wie die Punktzahl entsteht

Jeder Prüfpunkt hat ein Gewicht von 1 bis 3. Ein bestandener Punkt zählt voll, eine Warnung halb, ein Fehler gar nicht. Reine Hinweise fließen nicht ein. Daraus ergibt sich für jeden der sechs Bereiche eine Punktzahl von 0 bis 100:

Bereich = Summe(Gewicht × Faktor) / Summe(Gewicht) × 100

Die Gesamtnote ist der Durchschnitt der sechs Bereiche. So überstimmt ein Bereich mit vielen Prüfpunkten nicht die anderen. Ab 90 Punkten steht im Protokoll "Sehr gut", ab 75 "Gut", ab 50 "Ausbaufähig", darunter "Kritisch".

Solange die Google-Messung läuft, rechnen wir ohne sie. Die Punktzahl kann sich deshalb nach ein paar Sekunden noch ändern. Fehlt eine Messung ganz, etwa weil Google die Seite nicht messen konnte, steht im Protokoll "Vorläufig" statt einer Note, und jeder Bereich zeigt, wie viele seiner Prüfpunkte tatsächlich gemessen wurden. Nicht Gemessenes zählen wir weder als bestanden noch als Fehler.

Alle Prüfpunkte

Zu jedem Punkt gibt es eine ausführliche Anleitung im Ratgeber.

SEO (17 Punkte)

PrüfpunktGewichtRegel
Seitentitel3Wir lesen das <title>-Element. 30 bis 60 Zeichen sind gut, kürzer oder länger gibt eine Warnung, fehlt es ganz, ist es ein Fehler.
Meta-Description3Wir lesen <meta name="description">. 120 bis 160 Zeichen sind gut, außerhalb davon gibt es eine Warnung, ohne Beschreibung einen Fehler.
H1-Überschrift2Genau eine <h1> ist gut. Mehrere geben eine Warnung, keine ist ein Fehler.
Überschriften-Hierarchie1Wir prüfen die Reihenfolge von H1 bis H6. Springt die Ebene nach unten um mehr als eine Stufe (etwa H2 auf H4), gibt es eine Warnung.
Canonical-Tag2Wir suchen <link rel="canonical">. Fehlt es, gibt es eine Warnung. Zeigt es auf eine fremde Domain, ist es ein Fehler.
Indexierbarkeit3Wir lesen <meta name="robots"> und den Header X-Robots-Tag. Enthält einer davon noindex, ist es ein Fehler.
robots.txt2Wir rufen /robots.txt ab. Fehlt sie, gibt es eine Warnung. Sperrt sie mit "Disallow: /" alle Suchmaschinen aus, ist es ein Fehler.
XML-Sitemap2Wir suchen die Sitemap über die robots.txt, unter /sitemap.xml und /sitemap_index.xml. Ohne gültige Sitemap ist es ein Fehler.
Open-Graph-Tags1Wir suchen og:title, og:description und og:image. Fehlt eins, gibt es eine Warnung, fehlen alle, einen Fehler.
Strukturierte Daten2Wir suchen JSON-LD-Blöcke und prüfen, ob sie gültiges JSON sind. Ohne strukturierte Daten ist es ein Fehler, mit kaputtem JSON eine Warnung.
Mobil-Ansicht2Wir suchen <meta name="viewport"> mit width=device-width. Fehlt es, ist es ein Fehler.
Textumfang1Wir zählen die sichtbaren Wörter im HTML. Ab 300 ist es gut, 100 bis 299 gibt eine Warnung, unter 100 einen Fehler.
Favicon1Wir suchen ein <link rel="icon"> oder eine /favicon.ico. Fehlt beides, gibt es eine Warnung.
Fehlerseite (404)1Wir rufen eine erfundene Adresse auf deiner Domain ab. Kommt 404 oder 410 zurück, ist alles gut, bei 200 gibt es eine Warnung.
Weiterleitungskette1Wir zählen die Weiterleitungen bis zur Zieladresse. Eine ist in Ordnung, zwei geben eine Warnung, ab drei ist es ein Fehler.
Interne Verlinkung1Wir zählen Links auf derselben Domain. Ab 5 ist es gut, 1 bis 4 gibt eine Warnung, keiner einen Fehler.
Sprachversionen (hreflang)HinweisReiner Hinweis: Wir zeigen, ob hreflang-Angaben gefunden wurden. Das fließt nicht in die Punktzahl ein.

KI-Sichtbarkeit (10 Punkte)

PrüfpunktGewichtRegel
Zugang für KI-Crawler3Wir lesen die robots.txt für GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended und CCBot. Ist die ganze Seite für alle gesperrt, ist es ein Fehler, sind einzelne KI-Crawler gesperrt, eine Warnung.
Inhalt ohne JavaScript3Wir zählen die Wörter im ausgelieferten HTML, bevor irgendein Skript läuft. Unter 50 Wörtern ist es ein Fehler, unter 150 eine Warnung.
llms.txt2Wir rufen /llms.txt ab und prüfen, ob echter Text zurückkommt und keine HTML-Seite. Fehlt sie, gibt es eine Warnung.
llms-full.txt1Wir rufen /llms-full.txt ab. Fehlt sie, gibt es eine Warnung, keinen Fehler.
ai.txt1Wir rufen /ai.txt ab. Fehlt sie, gibt es eine Warnung.
Firmenangaben als Schema2Wir suchen in den strukturierten Daten nach Organization, LocalBusiness oder einem verwandten Typ. Fehlt er, ist es ein Fehler.
FAQ-Struktur1Wir suchen ein FAQPage-Schema. Fehlt es, gibt es eine Warnung.
Semantisches HTML1Wir zählen header, nav, main, article, section und footer. Ab drei verschiedenen ist es gut, bei einem oder zwei gibt es eine Warnung, ohne einen Fehler.
Kontaktdaten maschinenlesbar1Wir suchen tel:- und mailto:-Links sowie Adressangaben in den strukturierten Daten. Ohne eins davon gibt es eine Warnung.
agent.jsonHinweisReiner Hinweis: Wir zeigen, ob /agent.json gefunden wurde. Das fließt nicht in die Punktzahl ein.

Ladezeit (12 Punkte)

PrüfpunktGewichtRegel
Server-Antwortzeit3Gemessen von unserem Server in Frankfurt. Unter 600 Millisekunden ist gut, bis 1.500 gibt es eine Warnung, darüber einen Fehler.
HTML-Größe1Wir messen das unkomprimierte HTML. Unter 200 KB ist gut, bis 500 KB gibt es eine Warnung, darüber einen Fehler.
Komprimierung2Wir prüfen den Header Content-Encoding. gzip oder br ist gut, ohne Komprimierung ist es ein Fehler.
Blockierende Skripte2Wir zählen externe Skripte im <head> ohne async, defer oder type="module". Keins ist gut, ein bis zwei geben eine Warnung, ab drei ist es ein Fehler.
Moderne Bildformate1Wir prüfen die Dateiendungen der eingebundenen Bilder. Ist weniger als die Hälfte WebP, AVIF oder SVG, gibt es eine Warnung.
Lazy Loading1Bei mehr als fünf Bildern erwarten wir loading="lazy" an mindestens einem Teil davon. Sonst gibt es eine Warnung.
Fremde Skript-Quellen1Wir zählen die fremden Domains, von denen Skripte geladen werden. Bis 5 ist gut, bis 10 gibt es eine Warnung, darüber einen Fehler.
Browser-Caching1Wir prüfen den Cache-Control-Header einer eigenen CSS- oder JS-Datei. Ab einer Woche oder "immutable" ist es gut, kürzer gibt eine Warnung, ohne Angabe einen Fehler.
Google-Performance-Wert2Messung über Google PageSpeed Insights (mobil). Ab 90 ist es gut, 50 bis 89 gibt eine Warnung, darunter einen Fehler.
Hauptinhalt sichtbar (LCP)2Messung über Google PageSpeed Insights (mobil). Bis 2,5 Sekunden ist gut, bis 4 Sekunden gibt es eine Warnung, darüber einen Fehler.
Layout-Verschiebung (CLS)2Messung über Google PageSpeed Insights (mobil). Bis 0,1 ist gut, bis 0,25 gibt es eine Warnung, darüber einen Fehler.
Reaktionszeit (INP)1Felddaten aus dem Chrome-Nutzerbericht. Bis 200 Millisekunden ist gut, bis 500 gibt es eine Warnung, darüber einen Fehler. Hat Google zu wenig Besucherdaten, ist es nur ein Hinweis.

Sicherheit (11 Punkte)

PrüfpunktGewichtRegel
HTTPS3Wir prüfen, ob die Seite am Ende über https ausgeliefert wird. Wenn nicht, ist es ein Fehler.
Weiterleitung auf HTTPS2Wir rufen http:// auf und prüfen, ob dauerhaft auf https weitergeleitet wird. Fehlt die Weiterleitung, ist es ein Fehler.
SSL-Zertifikat3Wir prüfen Gültigkeit und Restlaufzeit. Mehr als 14 Tage ist gut, 14 oder weniger gibt eine Warnung, abgelaufen oder ungültig ist ein Fehler.
HSTS1Wir suchen den Header Strict-Transport-Security mit einem max-age von mindestens sechs Monaten. Fehlt er, gibt es eine Warnung.
Content-Security-Policy1Wir suchen den Header Content-Security-Policy. Fehlt er, gibt es eine Warnung.
X-Content-Type-Options1Wir suchen X-Content-Type-Options: nosniff. Fehlt der Header, gibt es eine Warnung.
Schutz vor Clickjacking1Wir suchen X-Frame-Options oder frame-ancestors in der Content-Security-Policy. Fehlt beides, gibt es eine Warnung.
Referrer-Policy1Wir suchen den Header Referrer-Policy. Fehlt er, gibt es eine Warnung.
Gemischte Inhalte2Wir suchen Skripte, Stylesheets, Bilder und iframes mit http://-Adresse auf einer https-Seite. Skripte und Stylesheets sind ein Fehler, Bilder eine Warnung.
Verratene Software-Versionen1Wir prüfen die Header Server und X-Powered-By auf Versionsnummern. Werden welche verraten, gibt es eine Warnung.
Veraltete Software1Wir suchen jQuery-Versionen unter 3.5 und die WordPress-Versionsangabe im Generator-Tag. Beides gibt eine Warnung.

Datenschutz & Recht (6 Punkte)

PrüfpunktGewichtRegel
Impressum3Wir suchen auf der geprüften Seite einen Link mit "Impressum", "Imprint" oder "Anbieterkennzeichnung". Fehlt er, ist es ein Fehler. Den Inhalt des Impressums prüfen wir nicht.
Datenschutzerklärung3Wir suchen einen Link mit "Datenschutz", "Privacy" oder "Datenschutzerklärung". Fehlt er, ist es ein Fehler. Den Inhalt prüfen wir nicht.
Cookies vor der Einwilligung3Wir werten die Cookies aus, die der Server schon beim ersten Aufruf setzt, noch bevor jemand irgendetwas angeklickt hat. Analyse- oder Werbe-Cookies sind ein Fehler.
Tracker und Consent-Tool3Wir suchen bekannte Tracker im Quelltext und bekannte Consent-Tools. Tracker ohne erkennbares Consent-Tool sind ein Fehler. Ob ein vorhandenes Tool richtig blockiert, kann nur ein Test im Browser zeigen.
Google Fonts von Google-Servern2Wir suchen Verweise auf fonts.googleapis.com und fonts.gstatic.com. Gefunden ist es ein Fehler.
Eingebettete Fremddienste2Wir suchen direkt eingebettete iframes und Skripte von YouTube (ohne nocookie), Google Maps, Vimeo, reCAPTCHA und sozialen Netzwerken. Gefunden gibt es eine Warnung.

Barrierefreiheit (13 Punkte)

PrüfpunktGewichtRegel
Sprachangabe2Wir suchen das lang-Attribut am <html>-Element und prüfen, ob es ein gültiger Sprachcode ist. Fehlt es, ist es ein Fehler.
Alternativtexte für Bilder3Wir prüfen jedes <img> auf ein alt-Attribut. Ein leeres alt="" gilt für Schmuckbilder als richtig. Fehlt es bei bis zur Hälfte der Bilder, gibt es eine Warnung, darüber einen Fehler.
Beschriftete Formularfelder3Wir prüfen jedes Eingabefeld auf ein <label>, aria-label oder aria-labelledby. Ein unbeschriftetes Feld gibt eine Warnung, ab drei ist es ein Fehler.
Verständliche Linktexte2Wir suchen Links ohne erkennbaren Text und Links mit Allerweltstexten wie "hier" oder "mehr". Leere Links sind ein Fehler, Allerweltstexte eine Warnung.
Beschriftete Schaltflächen2Wir suchen <button>-Elemente ohne Text, aria-label oder title. Einer gibt eine Warnung, ab drei ist es ein Fehler.
Zoomen erlaubt3Wir prüfen den Viewport auf user-scalable=no oder ein maximum-scale unter 2. Gefunden ist es ein Fehler.
Seitenbereiche (Landmarks)1Wir suchen main, nav, header und footer (oder die passenden ARIA-Rollen). Fehlt main, ist es ein Fehler, fehlen andere, eine Warnung.
Sprunglink zum Inhalt1Wir suchen am Seitenanfang einen Link auf einen Anker wie #main oder #inhalt. Fehlt er, gibt es eine Warnung.
Titel für eingebettete Inhalte1Wir prüfen jedes <iframe> auf ein title-Attribut. Fehlt es, gibt es eine Warnung.
Eindeutige IDs1Wir suchen id-Attribute, die mehrfach vorkommen. Gefunden gibt es eine Warnung.
Tab-Reihenfolge1Wir suchen tabindex-Werte größer als 0. Gefunden gibt es eine Warnung.
Erklärung zur Barrierefreiheit1Wir suchen einen Link mit "Barrierefreiheit" oder "Accessibility". Fehlt er, gibt es eine Warnung. Ob du unter das Gesetz fällst, prüfen wir nicht.
Farbkontraste2Messung über Google Lighthouse. Erfüllen alle Texte das Kontrastverhältnis von 4,5 zu 1, ist es gut, sonst ein Fehler.

Unser Prüf-Server

Die Abrufe kommen von Servern in Frankfurt am Main (der zweite Messpunkt des Down-Checkers steht in den USA). Unser Prüf-Server meldet sich mit dieser Kennung:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 checkfrei/1.0 (+https://checkfrei.de/so-pruefen-wir)

Wer nicht geprüft werden möchte, sperrt die Kennung "checkfrei" in seiner Firewall. Eine Prüfung löst etwa ein Dutzend Abrufe aus, je Datei einen. Prüft jemand dieselbe Adresse innerhalb von zehn Minuten erneut, zeigen wir das gespeicherte Ergebnis. Adressen im lokalen Netz, private IP-Bereiche und Cloud-Metadaten-Adressen rufen wir grundsätzlich nicht ab.

Was der Check nicht kann

Eine hohe Punktzahl heißt: Die häufigen technischen Fehler, die sich automatisch erkennen lassen, haben wir nicht gefunden. Sie ist keine Freigabe. Die W3C-Initiative WAI schreibt dazu, dass Werkzeuge nicht alle Aspekte der Barrierefreiheit automatisch prüfen können und menschliches Urteil nötig ist (Selecting Web Accessibility Evaluation Tools). Für Datenschutz gilt dasselbe: Ob eine Seite rechtlich in Ordnung ist, entscheidet kein Prüfprogramm.

Bewusst nicht geprüft

  • Keinen kompletten Crawl aller Unterseiten. Geprüft wird die eingegebene Seite plus die Dateien auf Domain-Ebene.
  • Keine Inhalte von Impressum und Datenschutzerklärung. Wir sehen, ob sie verlinkt sind, nicht ob sie vollständig sind.
  • Kein Verhalten nach dem Klick auf einen Cookie-Banner. Wir prüfen den ersten Aufruf vor jeder Einwilligung.
  • Keine Keywords, Rankings oder Backlinks. Dafür braucht es große Datenbanken, die wir nicht haben.
  • Keine Sicherheitslücken in Plugins oder Passwörtern. Das ist kein Penetrationstest.
  • Barrierefreiheit nur, soweit sie sich automatisch erkennen lässt. Ob ein Alternativtext sinnvoll ist, beurteilt nur ein Mensch.

Fehler im Check gefunden? Schreib an hallo@caz.de. Wir korrigieren Prüfregeln, wenn sie falschliegen, und schreiben es auf diese Seite.