Methodik
Jede Prüfung, und warum sie wert ist, was sie wert ist
Ein Wert, den Sie nicht nachprüfen können, ist eine ausgedachte Zahl. Diese Seite wird unmittelbar aus dem Regelwerk erzeugt, das gegen Ihre Website läuft — Dokumentation und Verhalten können also nicht auseinanderdriften.
Der Aufbau
23 Prüfungen, 100 Punkte, fünf Säulen, zwei Achsen. Jede Prüfung gibt ein Bestanden, ein Teilweise oder ein Nicht bestanden zurück — wert sind sie volle, halbe oder keine Punkte. Prüfungen, die auf Ihre Website nicht zutreffen, werden herausgerechnet statt gegen Sie gewertet: Das verkleinert den Nenner, statt Sie für eine Kategorie zu bestrafen, in der Sie gar nicht sind.
Warum eine Zahl sofort in zwei zerfällt
Ein einzelner Wert verbirgt genau das, was Sie wissen müssen. „Die Seite funktioniert, hat aber nichts übernommen“ und „die Werkzeuge sind registriert, aber ohne JavaScript ist die Seite leer“ sind gegenteilige Probleme mit gegenteiligen Lösungen — und eine einzelne Zahl meldet beide identisch. Deshalb erscheint der Wert zusammen mit seinen beiden Hälften.
| Achse | Punkte | Frage | Säulen |
|---|---|---|---|
| Eignung | 65 | Funktioniert die Seite heute für Agenten? | Zugang für Agenten · Maschinenlesbarkeit · Bedienbarkeit |
| Adoption | 35 | Welche Agenten-Protokolle sind eingerichtet? | WebMCP-Umsetzung · Interoperabilität & Commerce |
WebMCP ist das Thema dieser Website und weiterhin die größte einzelne Säule. Es ist nicht der ganze Wert, weil die Verbreitung außerhalb von Vorführungen nahe null bleibt — ein Wert, der nur WebMCP misst, gäbe fast jeder Website im Netz eine Null: zutreffend, nutzlos, und niemandem gesagt, was er am Montag tun soll. Die übrigen 75 Punkte messen, ob ein Agent in der Zwischenzeit überhaupt etwas mit Ihnen anfangen kann.
Noten
| Note | Wert | Bedeutung |
|---|---|---|
| A | 90–100 | Agenten erledigen Aufgaben zuverlässig |
| B | 75–89 | Nutzbar, mit Reibung |
| C | 55–74 | Lesbar, aber nicht bedienbar |
| D | 35–54 | Agenten scheitern auf den Wegen, die zählen |
| F | 0–34 | Für Agenten praktisch unbrauchbar |
Bedingte Wertung
Eine Kanzlei ohne Warenkorb ist nicht schlechter für Agenten geeignet, nur weil sie keinen Zahlungsweg hat. Trifft eine Prüfung nicht zu, wird sie aus dem Nenner genommen und in Ihrem Bericht offen mit Begründung aufgeführt. Herausgenommen werden können: die Zahlungswege (keine Commerce-Signale), die Authentifizierung für Agenten (keine maschinenseitige Funktion, die sich authentifizieren müsste), die Formular- und Fehlerprüfungen (kein Formular ausgeliefert) und die deklarativen Auszeichnungen (keine Formulare zum Auszeichnen).
Das Gegenteil ist ebenso Absicht: Hat eine Website keine WebMCP-Werkzeuge registriert, fallen die vier davon abhängigen Prüfungen durch, statt herausgenommen zu werden. Eine Adoption von null ist eine wahre Aussage über die Website und keine unzutreffende Frage — und die Darstellung in zwei Achsen ist das, was verhindert, dass sie als Urteil über die ganze Website gelesen wird.
Was der Check nicht sehen kann
Das klar zu sagen ist wichtiger als der Wert selbst.
- Eine Seite, kein Crawl. Wir rufen die Adresse ab, die Sie angeben, dazu robots.txt, Sitemap, llms.txt und eine Reihe bekannter Pfade. Ein Problem in Ihrem Checkout taucht in der Prüfung Ihrer Startseite nicht auf.
- Kein JavaScript. Das ist Absicht — so verhalten sich die meisten Agenten-Crawler — bedeutet aber, dass ein Werkzeug, das zur Laufzeit von einem Bundle registriert wird, das wir nicht lesen konnten, übersehen werden kann. Wir durchsuchen bis zu zehn Bundles derselben Herkunft, um das zu verringern.
- Kein echter Werkzeugaufruf. Wir lesen, was registriert ist; wir rufen es nicht auf. Ein Werkzeug, das existiert und beim Aufruf scheitert, bekommt denselben Wert wie eines, das funktioniert.
- Keine angemeldete Ansicht. Bedingte Werkzeuge, die erst nach dem Login erscheinen, sind für uns unsichtbar.
- Erkennung, kein Urteil. Wir sehen, dass eine Beschreibung existiert. Ob sie eine gute Beschreibung ist, muss weiterhin ein Mensch entscheiden.
Die 23 Prüfungen
Jede Prüfung unten in der Reihenfolge, in der sie gewertet wird, mit den Punkten, die sie trägt, und der genauen Frage, die sie stellt.
Zugang für Agenten
20 PunkteAchse EignungBevor irgendetwas anderes beurteilt werden kann, muss die Anfrage gelingen. Diese Säule deckt Crawler-Erlaubnisse, Bot-Abwehr, Zustimmungshürden und die Frage ab, ob die Seite ihren Inhalt auch ohne JavaScript-Engine ausliefert.
robots.txt lässt KI-Crawler herein
5 Pkt.Erlaubt die robots.txt den Crawlern hinter KI-Antworten, die Seite zu lesen?
Assistenten, die aus dem Web zitieren, holen sich Inhalte über namentlich benannte Agenten. Eine pauschale Regel, die vor Jahren für Suchmaschinen geschrieben wurde, kann jeden einzelnen davon still ausschließen — und keine Auswertung wird Ihnen das je anzeigen.
Wenn sie fehlschlägtVeröffentlichen Sie eine robots.txt, die die gewünschten KI-Agenten benennt und die Pfade freigibt, aus denen zitiert werden soll. Sperren ist eine legitime Entscheidung — aber machen Sie eine Entscheidung daraus, kein Versehen.
Ausführlich (englisch): robots.txt for AI agentsOpenAI — GPTBotGoogle — Google-ExtendedRFC 9309 — Robots Exclusion Protocol
Agenten-Kennungen werden tatsächlich bedient
5 Pkt.Antwortet der Server, wenn die Anfrage die Kennung eines Agenten trägt?
Die robots.txt ist eine Bitte, die Bot-Abwehr ist die Durchsetzung. Eine WAF-Regel oder ein Rate-Limiter kann genau den Clients ein 403 zurückgeben, die Sie eigentlich einladen wollten — dann ist die erteilte Erlaubnis nichts wert.
Wenn sie fehlschlägtNehmen Sie die Agenten-Kennungen in Ihrer Bot-Abwehr auf die Positivliste, oder prüfen Sie sie per Reverse-DNS, statt anhand der Zeichenkette zu blocken. Danach erneut testen.
Keine Hürde vor dem Inhalt
4 Pkt.Kommt der Inhalt an, ohne dass eine Zustimmungshürde oder Bot-Abfrage im Weg steht?
Ein Agent hat keine Hände. Ein Overlay, das er nicht wegklicken kann, oder eine Prüfseite, die er nicht lösen kann, beendet die Sitzung bei der ersten Anfrage — und die Seite dahinter kann genauso gut nicht existieren.
Wenn sie fehlschlägtLiefern Sie den Inhalt in der ersten Antwort mit und lassen Sie die Zustimmungsebene darüber erscheinen. Sperren Sie niemals das Dokument selbst hinter einer Abfrage, wenn ein regelkonformer Crawler anfragt.
Inhalt übersteht das Fehlen von JavaScript
6 Pkt.Stehen echter Text und eine Überschrift im rohen HTML, bevor irgendein Skript läuft?
Das ist der mit Abstand häufigste Mangel im agentischen Web. Die meisten Crawler hinter KI-Antworten führen kein JavaScript aus, und ein Agent, der eine leere Hülle bekommt, hat nichts, worüber er nachdenken könnte — ganz gleich, wie gut die Seite im Browser aussieht.
Wenn sie fehlschlägtRendern Sie die Seite auf dem Server oder erzeugen Sie sie beim Build vor. Ziel sind ein echtes <h1> und mehrere hundert Wörter des tatsächlichen Inhalts in der ersten Antwort.
Ausführlich (englisch): Content that survives without JavaScriptweb.dev — rendering on the web
Maschinenlesbarkeit
20 PunkteAchse EignungSemantische Struktur, strukturierte Daten, Content Negotiation und die Quelldateien, nach denen Agenten suchen, wenn sie eine Zusammenfassung Ihrer Website wollen statt einer Darstellung davon.
Semantische Bereiche und Überschriftenordnung
4 Pkt.Gibt es Landmarken und eine Überschriftenhierarchie, die keine Ebene überspringt?
Landmarken und Überschriftenordnung sind für eine Maschine der einzige Weg, den Artikel vom Beiwerk zu trennen. Ohne sie zitiert eine Zusammenfassung Ihr Cookie-Banner mit derselben Überzeugung wie Ihre Produktbeschreibung.
Wenn sie fehlschlägtFassen Sie den Inhalt in <main>, nutzen Sie <header>, <nav> und <footer> für den Rahmen, halten Sie genau ein <h1> vor und springen Sie nie von h2 auf h4.
Gültige strukturierte Daten
6 Pkt.Gibt es auswertbares JSON-LD, und passt sein Typ zu dem, was die Seite ist?
Strukturierte Daten sind die eine Stelle, an der Sie Tatsachen behaupten dürfen statt sie nur anzudeuten: Das ist ein Preis, das ist eine Öffnungszeit, das ist der Autor. Agenten und Suchmaschinen nehmen das für bare Münze — genau deshalb muss es fehlerfrei auswertbar sein.
Wenn sie fehlschlägtGeben Sie JSON-LD in einem <script type="application/ld+json">-Block aus, mit einem Typ, der zur Seite passt: Product und Offer für ein Produkt, Service für eine Leistungsseite, FAQPage für Fragen, LocalBusiness für einen Standort.
Ausführlich (englisch): Structured data: the one place you state factsschema.orgGoogle — structured data general guidelines
Markdown per Content Negotiation
4 Pkt.Liefert die Seite Markdown aus, wenn ein Client danach fragt?
Ein Agent, der Ihren Text will, will nicht Ihr Layout. Auf `Accept: text/markdown` mit sauberer Prosa zu antworten spart Token, entfernt Navigationsrauschen und macht eindeutig, welcher Teil der Seite zitierfähig ist.
Wenn sie fehlschlägtLiefern Sie eine Markdown-Darstellung unter derselben Adresse aus, variieren Sie über den Accept-Header und halten Sie beides synchron. Eine .md-Schwesterroute ist ein akzeptabler zweiter Platz.
llms.txt als Quelldatei
3 Pkt.Gibt es eine kuratierte Datei, die einem Agenten sagt, was diese Website ist und wo er suchen soll?
Ein Crawl gibt einem Agenten alles; llms.txt gibt ihm den Teil, auf den Sie selbst zeigen würden. Die Datei kostet wenig und ist die einzige Stelle, an der Sie die Zusammenfassung kontrollieren, statt zu hoffen, dass eine passende abgeleitet wird.
Wenn sie fehlschlägtVeröffentlichen Sie /llms.txt mit einem Absatz Beschreibung und darunter verlinkte Listen Ihrer kanonischen Seiten, nach Zweck gruppiert. Beachten Sie: Das ist eine Konvention, kein Standard, und die Google-Suche ignoriert sie.
Ausführlich (englisch): llms.txt: what it is, and what it is notllmstxt.org
Sitemap und kanonische Adresse
3 Pkt.Gibt es eine gültige Sitemap, und benennt die Seite, welche Adresse die echte ist?
Agenten entdoppeln über die kanonische Adresse. Fehlt sie, wird aus derselben Seite über drei Pfade drei Quellen, die einander widersprechen können — und ein Zitat verweist womöglich auf genau die Kopie, die Sie nicht indexiert haben wollten.
Wenn sie fehlschlägtVeröffentlichen Sie eine gültige sitemap.xml, verweisen Sie aus der robots.txt darauf, und setzen Sie auf jede Seite ein selbstbezügliches <link rel="canonical">.
Bedienbarkeit
25 PunkteAchse EignungDie schwerste Säule, denn hier entsteht Umsatz. Formulare, die ein Agent ausfüllen kann, Bedienelemente, die er benennen kann, keine Bot-Hürde auf dem Weg zum Abschluss, und Fehlermeldungen, die er lesen kann.
Eine Hauptaktion ist auffindbar
5 Pkt.Gibt es auf dieser Seite etwas, das ein Agent stellvertretend abschließen könnte?
Agenten-Tauglichkeit ist keine Leseübung. Trägt die Seite kein Formular, keine Suche und keinen Weg zu Warenkorb oder Terminbuchung, gibt es nichts zu Ende zu bringen — und der Besuch endet als Zusammenfassung statt als Abschluss.
Wenn sie fehlschlägtMachen Sie die Hauptaktion zum Bestandteil des ausgelieferten HTML: ein echtes Formular, ein Suchfeld oder ein Link zur Buchungs- oder Warenkorbroute. Ein Button, der erst nach der Hydration existiert, zählt nicht.
Formulare, die ein Agent ausfüllen kann
7 Pkt.Tragen die Felder Beschriftungen, Namen, Typen und Autocomplete-Angaben?
Ein Agent füllt ein Formular aus, indem er es liest. Ein Feld ohne Beschriftung und mit einem Namen wie `field_7` ist geraten; dasselbe Feld mit Label und `autocomplete="email"` ist eine Gewissheit. Das ist die günstigste große Verbesserung, die die meisten Websites machen können.
Wenn sie fehlschlägtGeben Sie jedem Feld ein <label for>, einen aussagekräftigen Namen, den richtigen input-Typ und eine Autocomplete-Angabe aus dem HTML-Standard.
Bedingt — wird herausgenommen, wenn sie nicht zutrifft
Ausführlich (englisch): Forms an agent can actually fillHTML standard — autofill tokens
Bedienelemente haben zugängliche Namen
5 Pkt.Lässt sich jedes Bedienelement über seinen Namen ansprechen statt über seine Position?
Ein <div> mit Klick-Handler ist für alles unsichtbar, was nicht rendert und mit der Maus darüberfährt. Agenten sprechen Bedienelemente so an wie assistive Technik — über Rolle und Name. Ein unbenanntes Element ist damit ein unerreichbares.
Wenn sie fehlschlägtVerwenden Sie <button> und <a href> für Aktionen und geben Sie jedem davon Text oder ein aria-label. Das div mit onclick bleibt der Dekoration vorbehalten.
Bedingt — wird herausgenommen, wenn sie nicht zutrifft
Keine Bot-Abfrage auf dem Weg zum Abschluss
5 Pkt.Ist die Hauptaktion frei von CAPTCHA oder Bot-Abfrage?
Ein CAPTCHA ist die Aussage, dass automatisierte Besucher unerwünscht sind. Das war eine vernünftige Haltung, als Automatisierung Scraper bedeutete; sie wird teuer, wenn sie den Assistenten Ihrer Kundin meint, der etwas kaufen will.
Wenn sie fehlschlägtNehmen Sie die Bot-Abwehr vom Abschlussweg herunter: Rate-Limiting, Honeypot-Felder und serverseitige Bewertung halten den Missbrauch draußen, ohne eine legitime Agenten-Sitzung zu beenden. Ist eine Abfrage unvermeidlich, halten Sie sie vom ersten Schritt fern.
Fehlermeldungen, die ein Agent lesen kann
3 Pkt.Werden Validierungszustände im Markup ausgedrückt und nicht nur über Farbe?
Scheitert eine Übermittlung, muss ein Agent wissen, welches Feld betroffen ist und warum. Ein roter Rahmen teilt nichts mit; aria-invalid und eine per described-by verknüpfte Meldung erlauben ihm, die Eingabe zu korrigieren und es erneut zu versuchen, statt die Aufgabe abzubrechen.
Wenn sie fehlschlägtSetzen Sie aria-invalid auf das fehlerhafte Feld, verknüpfen Sie die Meldung über aria-describedby, und halten Sie den Text beim Feld statt nur in einer Einblendung.
Bedingt — wird herausgenommen, wenn sie nicht zutrifft
WebMCP-Umsetzung
25 PunkteAchse AdoptionDer Kern des Standards: benannte Werkzeuge mit typisierten Schemata und ehrlichen Annotationen, registriert an document.modelContext — damit ein Agent aufhört, Ihr DOM zu erraten, und anfängt, Ihre Funktionen aufzurufen.
document.modelContext wird genutzt
6 Pkt.Registriert die Seite überhaupt WebMCP-Werkzeuge?
Das ist der Unterschied zwischen einem Agenten, der Ihre Oberfläche errät, und einem, der sie aufruft. Registrierte Werkzeuge machen aus einer Seite eine kleine, dokumentierte Schnittstelle, die der Assistent Ihres Besuchers bedienen kann — ohne dass Sie einen Server betreiben oder Schlüssel herausgeben.
Wenn sie fehlschlägtRegistrieren Sie Ihre zwei bis drei wertvollsten Aktionen als Werkzeuge über document.modelContext.registerTool. Fangen Sie mit rein lesenden an. Das Polyfill erlaubt den Start, bevor die Browser-Unterstützung flächendeckend ist.
Ausführlich (englisch): What WebMCP is, and what it is notWebMCP specification (W3C WebML CG)Explainer repositoryChrome for Developers — WebMCP
Deklarative Werkzeuge an Formularen
4 Pkt.Sind vorhandene Formulare so ausgezeichnet, dass der Browser daraus Werkzeuge ableiten kann?
Das deklarative Formular ist der günstigste Einstieg in den Standard: Der Browser leitet das Schema aus Feldern ab, die Sie ohnehin haben — damit wird ein Kontakt- oder Suchformular aufrufbar, ohne dass eine Zeile JavaScript dazukommt.
Wenn sie fehlschlägtZeichnen Sie die Formulare aus, die Sie bereits ausliefern. Da die Attributnamen im Explainer noch als TODO markiert sind, gleichen Sie sie vor einem breiten Rollout mit der aktuellen Spezifikation ab.
Bedingt — wird herausgenommen, wenn sie nicht zutrifft
Ausführlich (englisch): The declarative API: tools from forms you already haveExplainer — declarative API
Namen und Beschreibungen der Werkzeuge
5 Pkt.Sind die Werkzeuge zulässig benannt und gut genug beschrieben, um zwischen ihnen zu wählen?
Die Beschreibung ist die gesamte Schnittstelle. Ein Agent wählt ein Werkzeug, indem er sie liest — ein Name außerhalb des erlaubten Zeichensatzes scheitert schon bei der Registrierung, und eine Beschreibung aus vier Wörtern führt zu selbstbewussten Aufrufen der falschen Funktion.
Wenn sie fehlschlägtHalten Sie Namen zwischen 1 und 128 Zeichen aus A–Z, a–z, 0–9, Unterstrich, Bindestrich und Punkt. Schreiben Sie Beschreibungen, die sagen, was das Werkzeug zurückgibt und wann man es vorziehen sollte. Bleiben Sie deutlich unter fünfzig Werkzeugen je Seite.
Typisierte Eingabeschemata
5 Pkt.Deklariert jedes Werkzeug ein typisiertes JSON-Schema mit beschriebenen Eigenschaften?
Ohne Schema schickt ein Agent, was er sich ausgedacht hat. Mit Schema schickt er ein validiertes Objekt — und ein Pflichtfeld mit einer Zeile Beschreibung ist der Unterschied zwischen einem funktionierenden Aufruf und drei Fehlversuchen.
Wenn sie fehlschlägtGeben Sie jedem Werkzeug ein inputSchema mit typisierten Eigenschaften, einer Beschreibung je Eigenschaft und einer ausdrücklichen required-Liste.
Ehrliche Annotationen an den Werkzeugen
5 Pkt.Sind nur lesende Werkzeuge als solche markiert, und ist alles Verändernde durch eine Bestätigung abgesichert?
Annotationen sind der Weg, auf dem ein Agent entscheidet, was er ohne Rückfrage tun darf. Ihre Lesepfade als readOnlyHint zu markieren macht sie überhaupt erst frei aufrufbar — und das Bedrohungsmodell der Spezifikation selbst ist der Grund, warum alles Schreibende auf einen Menschen warten sollte.
Wenn sie fehlschlägtSetzen Sie readOnlyHint auf jedes Werkzeug, das ausschließlich liest. Setzen Sie untrustedContentHint überall dort, wo ein Werkzeug von anderen Nutzern verfassten Text zurückgibt. Schalten Sie eine Bestätigung vor alles, was Geld ausgibt oder Zustand verändert.
Ausführlich (englisch): The WebMCP security model, and the parts that are still openSpecification — tool annotations
Interoperabilität & Commerce
10 PunkteAchse AdoptionDiscovery-Dokumente, Authentifizierung für Maschinen, Bot-Identität und — für Shops — die Zahlungswege, die ein Agent braucht, um einen Kauf abzuschließen. Was auf Ihre Seite nicht zutrifft, wird herausgerechnet statt gegen Sie gewertet.
Discovery-Dokumente
3 Pkt.Kann ein anderes System Ihre Fähigkeiten finden, ohne dass ein Mensch Ihre Doku liest?
WebMCP-Werkzeuge existieren nur, solange eine Seite geöffnet ist. Ein Discovery-Dokument ist der Weg, auf dem ein Agent schon vor dem Besuch erfährt, was Sie anbieten — und der Weg, auf dem Ihre Fähigkeiten in einem Verzeichnis auftauchen, statt zufällig gefunden zu werden.
Wenn sie fehlschlägtVeröffentlichen Sie eine Server-Karte unter /.well-known/mcp.json oder ein OpenAPI-Dokument — und stellen Sie sicher, dass die robots.txt den Pfad, auf den sie zeigt, nicht sperrt.
Ausführlich (englisch): Discovery documents, and the robots.txt trapModel Context ProtocolRFC 9727 — API Catalog
Authentifizierung für Agenten
2 Pkt.Gibt es einen dokumentierten Weg, wie sich ein Agent authentifiziert?
Innerhalb der Seite trägt die Browser-Sitzung die Anmeldung bereits — das ist der stille Vorteil von WebMCP. Alles außerhalb der Seite braucht weiterhin einen benannten Weg, sonst raten Integratoren, und Raten heißt Zugangsdaten an Stellen, die Sie nicht vorgesehen hatten.
Wenn sie fehlschlägtVeröffentlichen Sie OAuth-Discovery-Metadaten oder eine auth.md, die beschreibt, wie maschinelle Clients Zugang erhalten.
Bedingt — wird herausgenommen, wenn sie nicht zutrifft
RFC 8414 — OAuth authorization server metadataRFC 9728 — OAuth protected resource metadata
Zahlungswege für Agenten
3 Pkt.Kann ein Agent einen Kauf abschließen, ohne dass ein Mensch an der Tastatur sitzt?
Ein Shop, den ein Agent durchsehen, aber nicht bezahlen kann, hört einen Schritt vor dem Ziel auf. Die Zahlungswege sind jung, und sich für einen zu entscheiden ist eine echte Abwägung — aber die Shops, die zuerst liefern, sind die, bei denen Agenten tatsächlich kaufen können.
Wenn sie fehlschlägtPrüfen Sie x402, das Agentic Commerce Protocol und das Universal Commerce Protocol gegen Ihren Zahlungsdienstleister, und veröffentlichen Sie anschließend das Discovery-Dokument für den gewählten Weg.
Bedingt — wird herausgenommen, wenn sie nicht zutrifft
Bot-Identität und Nutzungssignale
2 Pkt.Können Sie einen legitimen Agenten von einem Nachahmer unterscheiden, und haben Sie Ihre Bedingungen benannt?
Sobald Agenten Geschäfte abschließen, reichen Kennungszeichenketten nicht mehr — behaupten kann das jeder. Signierte Anfragen erlauben Ihnen, die echten willkommen zu heißen, und Content Signals erlauben Ihnen zu sagen, wofür Ihr Text verwendet werden darf, ohne ihn pauschal zu sperren.
Wenn sie fehlschlägtVeröffentlichen Sie ein Signaturverzeichnis nach Web Bot Auth, und drücken Sie Nutzungsbedingungen über Content Signals in der robots.txt aus statt über ein pauschales Disallow.
Gegen die eigene Website laufen lassen
Jeder Befund zeigt den Header, die Anzahl oder den Pfad, auf dem er beruht — damit Sie ihn nachprüfen können, statt ihn glauben zu müssen.
Check starten →