Executive Summary

robots.txt reicht nicht aus, um KI-Crawler wie GPTBot, ClaudeBot oder PerplexityBot zuverlässig zu blockieren. Wer seine Inhalte wirksam schützen möchte, sollte serverseitige Maßnahmen einsetzen – etwa User-Agent-Filter, IP- oder ASN-Sperren, Reverse-DNS-Prüfungen sowie professionelle Bot-Management-Lösungen wie eine Web Application Firewall (WAF).

So schützen Sie Ihre Website serverseitig vor GPTBot & Co.

KI-Bots durchsuchen das Web, um Inhalte für Training oder Antworten zu sammeln. Viele Seitenbetreiber verlassen sich allein auf die robots.txt. Doch Sie ist nur eine Bitte, kein Zwang.

Wer sichergehen möchte, dass alle KI-Bots keinen Zugriff haben, braucht serverseitige Sperrmaßnahmen. In diesem Beitrag zeige ich, wie das funktioniert. Von einfachen User-Agent-Filtern bis zu Firewalls.

Warum robots.txt allein nicht reicht

  • Freiwilligkeit: Nur seriöse Anbieter halten sich daran.
  • Spoofing: Bots können sich als „Googlebot“ ausgeben und so Regeln umgehen.
  • Kein Schutz vor Scraping: Skripte ohne echten Bot-Namen ignorieren robots.txt.

Um die geeignete Maßnahme zu ergreifen, ist es ratsam zu überlegen, wie und was schützenswert ist auf einer Webseite. Hierzu ein paar Empfehlungen:

Situation / ZielEmpfehlung
Öffentliche Website, primär Marketing & SEO→ Sichtbarkeit gewünscht, kein exklusiver Contentrobots.txt pflegen (Option zum Opt-out für GPTBot, ClaudeBot, Perplexity).❌ Keine Sperren nötig, wenn KI-Traffic erwünscht ist.
Blog/Fachartikel sollen sichtbar sein, aber sensible Bereiche geschütztrobots.txt für vertrauliche Bereiche.⚡ Serverseitige Sperren (htaccess / Nginx) für Downloads, interne Tools.
Premium-Content / exklusive Daten dürfen nicht in KI-Training gelangenrobots.txt + User-Agent-Blocking.⚡ IP-/ASN-Sperren für bekannte KI-Bots.🛡️ WAF-Regeln für zusätzliche Sicherheit.
Hohes Sicherheitsbedürfnis (z. B. interne Tools, Kundendaten, proprietäre Inhalte)🛡️ Firewall / WAF mit IP- und ASN-Blocking.⚡ Optional Reverse-DNS-Prüfung bei dynamischen Bots.✅ Rechtliche Hinweise (TOS / AGB).
Kein aktives Bot-Management, keine WAF vorhandenrobots.txt.⚡ PHP-Script mit Reverse-DNS-Check als dynamische Sperre.👀 Regelmäßig Logs prüfen.

Stärkere Maßnahmen: Serverseitiges Blockieren

User-Agent-Blocking

Schnell eingerichtet, aber leicht zu umgehen, weil Bots ihren Namen fälschen können.

Apache (.htaccess):

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "(GPTBot|OAI-SearchBot|ClaudeBot|CCBot|Google-Extended|PerplexityBot)" [NC]
RewriteRule ^ - [F,L]

Nginx (server-Block):

map $http_user_agent $block_ai_bot {
    default 0;
    ~*(GPTBot|OAI-SearchBot|ClaudeBot|CCBot|Google-Extended|PerplexityBot) 1;
}
server {
    if ($block_ai_bot) { return 403; }
}

IP- oder ASN-Sperren

Zuverlässiger, da Bots IP-Bereiche veröffentlichen.

  • OpenAI und Anthropic stellen IP-Ranges für ihre Bots bereit.
  • Diese lassen sich in Nginx/Apache oder Firewalls blockieren.

Beispiel Nginx:

deny 20.15.240.0/20;  # Beispielnetz GPTBot
deny 104.28.0.0/12;   # Beispielnetz

WAF & Bot-Management

Cloud-Dienste wie Cloudflare, Fastly, AWS WAF oder dedizierte Bot-Manager bieten:

  • Fingerprint-Analyse (nicht nur UA/IP)
  • Rate-Limiting
  • Gezielte Regeln für KI-Bots

Reverse DNS-Prüfung

Die Reverse DNS-Prüfung verifiziert, ob eine IP wirklich zu OpenAI oder Anthropic gehört. So lassen sich Bots mit gefälschtem User-Agent entlarven und Spoofing verhindern.

Das Grundprinzip Reverse DNS:

  1. Reverse DNS Lookup:
    Für die IP des Besuchers wird der Hostnamen ab (PTR-Record) abgefragt.
  2. Forward DNS Lookup:
    Prüfung, ob dieser Hostname wieder auf dieselbe IP (oder einen IP-Block des Anbieters) auflöst.

Nur wenn beide Richtungen stimmen und der Hostname zu einer offiziellen Domain des Bots gehört (z. B. *.openai.com für GPTBot), kann man davon ausgehen, dass es kein Spoofing ist.

Technisch am einfachsten ist die Umsetzung mit einem Middleware-Script (z. B. PHP) oder eine Firewall-Lösung (Cloudflare/WAF).

Folgendes Script erkennt den User-Agent (z. B. GPTBot), Reverse Lookup: IP → Hostname, Forward Lookup: Hostname → IP. Prüft, ob der Hostname die erwartete Domain des Bots hat (z. B. *.openai.com) und wieder auf die gleiche IP zurückzeigt. Wenn die Prüfung fehlschlägt → 403 Forbidden.

<?php
/**
 * Blockiert KI-Bots (z. B. GPTBot, ClaudeBot, PerplexityBot),
 * wenn sie sich nicht korrekt über Reverse DNS verifizieren lassen.
 */

function block_ai_bots_by_rdns() {
    if (empty($_SERVER['REMOTE_ADDR']) || empty($_SERVER['HTTP_USER_AGENT'])) {
        return; // Kein valider Request
    }

    $ip  = $_SERVER['REMOTE_ADDR'];
    $ua  = $_SERVER['HTTP_USER_AGENT'];

    // Bekannte KI-Bot-Domains und erwartete User-Agents
    $bots = [
        [
            'name'   => 'GPTBot',
            'ua'     => '/GPTBot/i',
            'domain' => '/openai\.com$/'
        ],
        [
            'name'   => 'ClaudeBot',
            'ua'     => '/ClaudeBot/i',
            'domain' => '/anthropic\.com$/'
        ],
        [
            'name'   => 'PerplexityBot',
            'ua'     => '/PerplexityBot/i',
            'domain' => '/perplexity\.ai$/'
        ],
    ];

    foreach ($bots as $bot) {
        if (preg_match($bot['ua'], $ua)) {
            // 1. Reverse DNS: IP -> Hostname
            $hostname = @gethostbyaddr($ip);

            // 2. Forward DNS: Hostname -> IP
            $forward_ip = $hostname ? @gethostbyname($hostname) : '';

            // Prüfen: Domain-Endung und Forward-IP muss identisch sein
            if (
                !$hostname ||
                !$forward_ip ||
                $forward_ip !== $ip ||
                !preg_match($bot['domain'], $hostname)
            ) {
                // Spoofing-Verdacht -> Blockieren
                header('HTTP/1.1 403 Forbidden');
                header('Content-Type: text/plain');
                echo "Access denied.";
                exit;
            }
        }
    }
}

block_ai_bots_by_rdns();

Unter WordPress in die functions.php eines Child-Themes oder besser in ein kleines Must-Use-Plugin einbauen. Script so früh wie möglich ausführen.

DNS-Lookups sind relativ langsam → ggf. Caching einbauen (z.B. Ergebnisse 24h in einer Datei/DB speichern).

Testen:

curl -A "GPTBot" https://meine-domain.de/

(mit einer nicht zu OpenAI gehörenden IP – sollte 403 liefern).

Fallback: Bei sehr viel Traffic, lieber eine Firewall-/WAF-Lösung nutzen (schneller & skalierbarer).


Rechtliche Absicherung

  • Nutzungsbedingungen ergänzen (kein Text-/Data-Mining ohne Zustimmung).
  • Nicht technisch, aber schafft rechtliche Grundlage.

Fazit

Wer verhindern will, dass KI-Bots Inhalte crawlen oder fürs Training nutzen, sollte sich nicht allein auf robots.txt verlassen. Serverseitige Sperrung über User-Agent-Filter, IP-Blockierung und WAF-Regeln bietet einen deutlich zuverlässigeren Schutz.

Lesetipp: Kann die Datei llms.txt Inhalte auf Webseiten wirksam vor KI-Crawlern schützen?