Verifiziertes AgentReady.md-Zertifikat
Ausgestellt am sig: 1009a627b9556550 Verifizieren →

Analysierte URL

https://50269733.hs-sites.com

Gemessen letzten Monat

Weitere URL analysieren

KI-Ready Score

Mangelhaft

von 100

Token-Einsparung

HTML-Tokens 7642
Markdown-Tokens 96
Einsparung 99%

Score-Aufschlüsselung

Semantisches HTML 68/100
Inhaltseffizienz 55/100
KI-Auffindbarkeit 35/100
Strukturierte Daten 63/100
Zugänglichkeit 78/100

Emerging Protocols

0 von 6 erkannt

Well-known-Endpunkte, nach denen KI-Agenten suchen. Erkannt bedeutet, dass ein Agent Ihren Dienst automatisch finden und verbinden kann.

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

Das bleibt nicht so. Monitoring gibt es noch nicht — tragen Sie sich ein, wir melden uns zum Start.

Sie stehen auf der Liste! Wir benachrichtigen Sie, sobald es verfügbar ist.

Was wir gemessen haben No llms.txt found

Ihre Website hat keine llms.txt-Datei. Dies ist der aufkommende Standard, um KI-Agenten beim Verständnis Ihrer Website-Struktur zu helfen.

So implementieren Sie es

Erstellen Sie eine /llms.txt-Datei gemäß der llmstxt.org-Spezifikation. Fügen Sie eine Beschreibung Ihrer Website und Links zu Ihren wichtigsten Seiten hinzu.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben No headings found

Ihre Überschriftenstruktur hat Probleme (übersprungene Ebenen oder mehrere h1-Tags). Eine saubere Hierarchie hilft KI-Agenten, die Inhaltsorganisation zu verstehen.

So implementieren Sie es

Stellen Sie sicher, dass Sie genau ein <h1> pro Seite haben und die Überschriften einer sequentiellen Reihenfolge folgen: h1 > h2 > h3. Überspringen Sie keine Ebenen (z.B. h1 direkt zu h3).

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben Content ratio: 0.6% (141 content chars / 25288 HTML bytes)

Ihre Seite hat ein niedriges Verhältnis von tatsächlichem Inhalt zum gesamten HTML. Ein Großteil des Seitengewichts besteht aus Markup, Skripten oder Styles statt Inhalt.

So implementieren Sie es

Verlagern Sie CSS in externe Stylesheets, entfernen Sie Inline-Styles, minimieren Sie JavaScript und stellen Sie sicher, dass sich das HTML auf die Inhaltsstruktur konzentriert.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben No Markdown for Agents support detected

Ihre Website unterstützt kein Markdown for Agents. Dieser Cloudflare-Standard ermöglicht KI-Agenten, Inhalte im Markdown-Format anzufordern und reduziert den Token-Verbrauch um ~80%.

So implementieren Sie es

Implementieren Sie eines oder mehrere: (1) Auf Accept: text/markdown mit Markdown-Inhalt antworten. (2) .md-URLs bereitstellen (z.B. /seite.md). (3) <link rel="alternate" type="text/markdown">-Tags hinzufügen. (4) Link-HTTP-Header für Markdown-Erkennung hinzufügen.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben No Content-Signal found (robots.txt or HTTP headers)

Keine Content-Signal-Direktiven gefunden. Diese teilen KI-Agenten mit, wie sie Ihre Inhalte verwenden dürfen (Suchindexierung, KI-Eingabe, Trainingsdaten). Der empfohlene Ort ist robots.txt.

So implementieren Sie es

Fügen Sie Content-Signal zu Ihrer robots.txt hinzu: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Sie können es auch als HTTP-Header bei Markdown-Antworten hinzufügen.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben 10/166 elements with inline styles (6.0%)

Viele Elemente haben Inline-Style-Attribute. Diese erzeugen Rauschen für KI-Agenten bei der Inhaltsextraktion.

So implementieren Sie es

Verlagern Sie alle Inline-Styles in CSS-Klassen in Ihrem Stylesheet. Verwenden Sie Utility-CSS-Frameworks wie Tailwind, wenn Sie viele individuelle Styles benötigen.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben 1/3 OG tags present

Fehlende oder unvollständige Open-Graph-Tags. OG-Tags helfen KI-Agenten (und sozialen Plattformen), Titel, Beschreibung und Bild Ihrer Seite zu verstehen.

So implementieren Sie es

Fügen Sie og:title, og:description und og:image Meta-Tags zum <head> Ihrer Seite hinzu.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben No meta description

Keine Meta-Beschreibung gefunden. Dieses Tag bietet eine prägnante Zusammenfassung der Seite für KI-Agenten und Suchmaschinen.

So implementieren Sie es

Fügen Sie ein <meta name="description" content="...">-Tag mit einer 150-160 Zeichen langen Beschreibung des Seiteninhalts hinzu.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt

Was wir gemessen haben Main content starts at 68% of HTML

Der Hauptinhalt erscheint spät im HTML-Dokument. KI-Agenten gewichten Inhalte, die früh erscheinen, möglicherweise höher.

So implementieren Sie es

Strukturieren Sie Ihr HTML so um, dass <main>- oder <article>-Inhalt vor Seitenleisten und ergänzenden Inhalten erscheint.

In einen Coding-Agenten einfügen, der die Korrektur vornimmt
Markdown-Tokens: 96
[![HostDime Brasil](https://50269733.hs-sites.com/hubfs/raw_assets/hostdime/15/js_client_assets/assets/hostdime-logo-brasil-white-D5cyElyt.png)](https://50269733.hs-sites.com/#)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

-   Lorem
-   Ipsum
-   Dolor
-   Sit
Landing Example

[![HostDime Brasil](https://50269733.hs-sites.com/hubfs/raw_assets/hostdime/15/js_client_assets/assets/hostdime-logo-brasil-orange-R9-2XBhZ.png)](https://50269733.hs-sites.com/#)

[0800 620 0800](tel:08006200800)

[Falar com especialista](https://50269733.hs-sites.com/#contato)

Abrir menu

Laden Sie diese Datei als /index.md auf Ihren Server hoch, damit KI-Agenten auf eine saubere Version Ihrer Seite zugreifen können. Sie können auch die Accept: text/markdown-Inhaltsverhandlung konfigurieren, um sie automatisch auszuliefern.

Generierte llms.txt für diese einzelne Seite

llms.txt herunterladen
# 50269733.hs-sites.com

## Main
- [Landing Example](https://50269733.hs-sites.com)
- [Falar com especialista](https://50269733.hs-sites.com/)

Vollständige llms.txt erfordert eine domainweite Analyse (kommt bald)

Laden Sie diese Datei als https://50269733.hs-sites.com/llms.txt im Stammverzeichnis Ihrer Domain hoch. KI-Agenten wie ChatGPT, Claude und Perplexity prüfen diese Datei, um Ihre Website-Struktur zu verstehen.

Semantisches HTML

Verwendet article- oder main-Element (100/100)

Has <main>

Korrekte Überschriftenhierarchie (0/100)

No headings found

Verwendet semantische HTML-Elemente (67/100)

8 semantic elements, 32 divs (ratio: 20%)

Aussagekräftige Bild-Alt-Texte (100/100)

2/2 images with meaningful alt text

Geringe div-Verschachtelungstiefe (100/100)

Avg div depth: 4.8, max: 9

Inhaltseffizienz

Gutes Token-Reduktionsverhältnis (100/100)

99% token reduction (HTML→Markdown)

Gutes Inhalt-zu-Rausch-Verhältnis (0/100)

Content ratio: 0.6% (141 content chars / 25288 HTML bytes)

Minimale Inline-Styles (0/100)

10/166 elements with inline styles (6.0%)

Angemessenes Seitengewicht (100/100)

HTML size: 25KB

KI-Auffindbarkeit

Hat llms.txt-Datei (0/100)

No llms.txt found

Hat robots.txt-Datei (100/100)

robots.txt exists

robots.txt erlaubt KI-Bots (100/100)

All major AI bots allowed

Hat sitemap.xml (100/100)

Sitemap found

Markdown for Agents Unterstützung (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
Hat Content-Signal (robots.txt oder HTTP-Header) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Strukturierte Daten

Hat Schema.org / JSON-LD (100/100)

JSON-LD found: WebPage, Organization

Hat Open-Graph-Tags (33/100)

1/3 OG tags present

Hat Meta-Beschreibung (0/100)

No meta description

Hat kanonische URL (100/100)

Canonical URL present

Hat lang-Attribut (100/100)

lang="en"

Zugänglichkeit

Inhalt ohne JavaScript verfügbar (100/100)

Content available without JavaScript

Angemessene Seitengröße (100/100)

Page size: 25KB

Inhalt erscheint früh im HTML (25/100)

Main content starts at 68% of HTML

{
  "url": "https://50269733.hs-sites.com",
  "timestamp": 1781541048533,
  "fetch": {
    "mode": "simple",
    "timeMs": 160,
    "htmlSizeBytes": 25288,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Landing Example",
    "excerpt": "",
    "byline": null,
    "siteName": null,
    "lang": "en",
    "contentLength": 141,
    "metadata": {
      "description": null,
      "ogTitle": "Landing Example",
      "ogDescription": null,
      "ogImage": null,
      "ogType": "website",
      "canonical": "https://50269733.hs-sites.com",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "WebPage",
          "name": "Landing Example",
          "url": "https://50269733.hs-sites.com"
        },
        {
          "@context": "https://schema.org",
          "@type": "Organization",
          "name": "Organização",
          "url": "#",
          "logo": "https://50269733.fs1.hubspotusercontent-na1.net/hubfs/50269733/Logo_HDBR_V1_Orange-3.png"
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": "HubSpot",
      "markdownAlternateHref": null
    }
  },
  "markdown": "[![HostDime Brasil](https://50269733.hs-sites.com/hubfs/raw_assets/hostdime/15/js_client_assets/assets/hostdime-logo-brasil-white-D5cyElyt.png)](https://50269733.hs-sites.com/#)\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n\n-   Lorem\n-   Ipsum\n-   Dolor\n-   Sit\n",
  "fullPageMarkdown": "Landing Example\n\n[![HostDime Brasil](https://50269733.hs-sites.com/hubfs/raw_assets/hostdime/15/js_client_assets/assets/hostdime-logo-brasil-orange-R9-2XBhZ.png)](https://50269733.hs-sites.com/#)\n\n[0800 620 0800](tel:08006200800)\n\n[Falar com especialista](https://50269733.hs-sites.com/#contato)\n\nAbrir menu\n",
  "markdownStats": {
    "images": 1,
    "links": 1,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 7642,
    "markdownTokens": 96,
    "reduction": 7546,
    "reductionPercent": 99
  },
  "score": {
    "score": 57,
    "grade": "D",
    "dimensions": {
      "semanticHtml": {
        "score": 68,
        "weight": 20,
        "grade": "C",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has <main>"
          },
          "proper_heading_hierarchy": {
            "score": 0,
            "weight": 25,
            "details": "No headings found"
          },
          "semantic_elements": {
            "score": 67,
            "weight": 20,
            "details": "8 semantic elements, 32 divs (ratio: 20%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "2/2 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 4.8, max: 9"
          }
        }
      },
      "contentEfficiency": {
        "score": 55,
        "weight": 25,
        "grade": "D",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "99% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.6% (141 content chars / 25288 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 15,
            "details": "10/166 elements with inline styles (6.0%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 25KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 35,
        "weight": 25,
        "grade": "F",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 20,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 10,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 63,
        "weight": 15,
        "grade": "C",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 30,
            "details": "JSON-LD found: WebPage, Organization"
          },
          "has_open_graph": {
            "score": 33,
            "weight": 25,
            "details": "1/3 OG tags present"
          },
          "has_meta_description": {
            "score": 0,
            "weight": 20,
            "details": "No meta description"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"en\""
          }
        }
      },
      "accessibility": {
        "score": 78,
        "weight": 15,
        "grade": "B",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 25KB"
          },
          "fast_content_position": {
            "score": 25,
            "weight": 30,
            "details": "Main content starts at 68% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_llms_txt",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_llms_txt.title",
      "descriptionKey": "rec.add_llms_txt.description",
      "howToKey": "rec.add_llms_txt.howto",
      "effort": "quick-win",
      "estimatedImpact": 10,
      "checkScore": 0,
      "checkDetails": "No llms.txt found"
    },
    {
      "id": "fix_heading_hierarchy",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.fix_heading_hierarchy.title",
      "descriptionKey": "rec.fix_heading_hierarchy.description",
      "howToKey": "rec.fix_heading_hierarchy.howto",
      "effort": "quick-win",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No headings found"
    },
    {
      "id": "improve_content_ratio",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.6% (141 content chars / 25288 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "remove_inline_styles",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "effort": "moderate",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "10/166 elements with inline styles (6.0%)"
    },
    {
      "id": "add_open_graph",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 33,
      "checkDetails": "1/3 OG tags present"
    },
    {
      "id": "add_meta_description",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_meta_description.title",
      "descriptionKey": "rec.add_meta_description.description",
      "howToKey": "rec.add_meta_description.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "No meta description"
    },
    {
      "id": "move_content_earlier",
      "priority": "high",
      "category": "accessibility",
      "titleKey": "rec.move_content_earlier.title",
      "descriptionKey": "rec.move_content_earlier.description",
      "howToKey": "rec.move_content_earlier.howto",
      "effort": "moderate",
      "estimatedImpact": 4,
      "checkScore": 25,
      "checkDetails": "Main content starts at 68% of HTML"
    }
  ],
  "llmsTxtPreview": "# 50269733.hs-sites.com\n\n## Main\n- [Landing Example](https://50269733.hs-sites.com)\n- [Falar com especialista](https://50269733.hs-sites.com/)\n\n",
  "llmsTxtExisting": null,
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://50269733.hs-sites.com/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://50269733.hs-sites.com/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://50269733.hs-sites.com/.well-known/agent.json"
    },
    "count": 0
  },
  "snippets": [
    {
      "id": "add_llms_txt",
      "title": "Create /llms.txt",
      "description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
      "language": "markdown",
      "code": "# 50269733.hs-sites.com\n\n## Main\n- [Landing Example](https://50269733.hs-sites.com)\n- [Falar com especialista](https://50269733.hs-sites.com/)\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "fix_heading_hierarchy",
      "title": "Fix heading hierarchy",
      "description": "Your page has no <h1>. Every page needs exactly one <h1> as the main heading. Add it inside your <main> or <article>.",
      "language": "html",
      "code": "<h1>Landing Example</h1>",
      "filename": "<main> or <article>"
    },
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
      "language": "html",
      "code": "<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://50269733.hs-sites.com\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://50269733.hs-sites.com\">\n<meta property=\"og:type\" content=\"website\">"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n    if (!is_singular()) return;\n    $post = get_queried_object();\n    $title = get_the_title($post);\n    $desc  = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n    $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n    $url   = get_permalink($post);\n    printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n    printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n    printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n    printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n    echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page.tsx",
          "code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: \"Landing Example\",\n  description: \"Page description.\",\n  openGraph: {\n    title: \"Landing Example\",\n    description: \"Page description.\",\n    url: \"https://50269733.hs-sites.com\",\n    images: [\"https://yoursite.com/og-image.jpg\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_meta_description",
      "title": "Add meta description",
      "description": "A good meta description (50-160 characters) helps AI agents understand your page quickly.",
      "language": "html",
      "code": "<meta name=\"description\" content=\"Landing Example\">",
      "filename": "<head>"
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Nutzen Sie unsere API, um dies programmatisch abzurufen (kommt bald)

Dieses JSON ist für den internen Gebrauch bestimmt — im Gegensatz zu den Markdown- und llms.txt-Dateien soll es nicht auf Ihre Website hochgeladen werden. Speichern Sie es als Ausgangswert, um Ihren Score im Zeitverlauf zu verfolgen, teilen Sie es mit Ihrem Entwicklerteam oder integrieren Sie es in Ihre CI/CD-Pipeline.

Teilen Sie Ihre Ergebnisse

Oder lass dir von einer KI beim Verbessern helfen

Eine zweite Meinung?

Cloudflare betreibt ebenfalls einen kostenlosen Scanner, und er stellt eine andere Frage. Er bewertet, was Ihre Website für Agenten zum Aufrufen veröffentlicht: MCP Server Cards, Agent Skills, API-Kataloge, DNS-Einträge. Wir bewerten, ob ein Agent Ihre Inhalte erreichen, lesen und verstehen kann. Eine Website kann bei dem einen gut und bei dem anderen schlecht abschneiden — rechnen Sie mit zwei verschiedenen Zahlen: Es sind Antworten auf zwei verschiedene Fragen, und beide lohnen sich.

50269733.hs-sites.com mit Cloudflare scannen

Badge einbetten

Fügen Sie dieses Badge zu Ihrer Website hinzu. Es aktualisiert sich automatisch, wenn sich Ihr KI-Bereitschafts-Score ändert.

AgentReady.md score for 50269733.hs-sites.com
Script Empfohlen
<script src="https://agentready.md/badge.js" data-id="23e76169-b007-4c17-af6f-1d74aba22580" data-domain="50269733.hs-sites.com"></script>
Markdown
[![AgentReady.md score for 50269733.hs-sites.com](https://agentready.md/badge/50269733.hs-sites.com.svg)](https://agentready.md/de/r/23e76169-b007-4c17-af6f-1d74aba22580)

Demnächst: Vollständige Domain-Analyse

Crawlen Sie Ihre gesamte Domain, generieren Sie llms.txt und überwachen Sie Ihren KI-Bereitschaftswert im Zeitverlauf. Tragen Sie sich in die Warteliste ein.

Sie stehen auf der Liste! Wir benachrichtigen Sie, sobald es verfügbar ist.