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 / Ziel | Empfehlung |
---|---|
Öffentliche Website, primär Marketing & SEO→ Sichtbarkeit gewünscht, kein exklusiver Content | ✅ robots.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ützt | ✅ robots.txt für vertrauliche Bereiche.⚡ Serverseitige Sperren (htaccess / Nginx) für Downloads, interne Tools. |
Premium-Content / exklusive Daten dürfen nicht in KI-Training gelangen | ✅ robots.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 vorhanden | ✅ robots.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:
- Reverse DNS Lookup:
Für die IP des Besuchers wird der Hostnamen ab (PTR-Record) abgefragt. - 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.
Praxis-Tipps
- Caching: DNS-Lookups kosten Zeit; Ergebnisse zwischenspeichern.
- Whitelist statt Blacklist: Nur bekannte Bots (z.B. GPTBot, ClaudeBot, Googlebot) prüfen.
- Regelmäßig prüfen: Domains oder IP-Ranges können sich ändern.
- Nur sinnvoll, wenn man wirklich verhindern will, dass Fake-Bots (UA-Spoofing) an Inhalte kommen. Für normales Blocking reicht UA + IP meist aus.
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.
Praxis-Empfehlung (kurz)
- robots.txt pflegen (Opt-out-Signal für seriöse Bots).
- User-Agent-Blocking als erste Schranke.
- IP-/ASN-Sperren oder WAF für stärkeren Schutz.
- Monitoring (Logs prüfen, neue Bots beobachten).
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?