Blokowanie botów AI polega na połączeniu kilku warstw ochrony: pliku robots.txt, metatagów i nagłówków HTTP, nowych standardów takich jak TDMRep oraz filtrów po stronie serwera lub usług typu Cloudflare. Dzięki takiemu podejściu zatrzymasz grzeczne crawlery modeli językowych, które przestrzegają standardów, i dodatkowo utrudnisz działanie agresywnym scraperom.
Spis treści
Warstwa 1 – robots.txt dla znanych botów AI
Podstawowym narzędziem komunikacji z botami jest plik robots.txt w katalogu głównym witryny. To w nim możesz zdefiniować reguły blokujące konkretne crawlery AI, na przykład GPTBot, ClaudeBot czy PerplexityBot. Taki zapis działa na boty, które respektują standard robots.txt, czyli na większość dużych dostawców modeli.
Przykładowy fragment pliku robots.txt blokujący wybrane boty AI może wyglądać tak:
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: *
Disallow:
Dzięki takiej konfiguracji wskazane boty AI nie powinny wchodzić na Twoją stronę, natomiast pozostałe roboty mogą mieć nadal pełny dostęp, jeśli tego potrzebujesz.
Warstwa 2 – meta tagi i nagłówki noai
Sama blokada w robots.txt nie mówi jeszcze wprost, że nie życzysz sobie wykorzystywania treści do trenowania modeli. Coraz popularniejsze stają się metatagi oraz nagłówki X-Robots-Tag z dyrektywą noai i noimageai. To dodatkowy sygnał dla narzędzi i crawlerów powiązanych z AI, że nie zgadzasz się na takie użycie zawartości.
Aby zastosować to rozwiązanie globalnie, możesz dodać w sekcji head szablonu WordPressa metatag w takiej postaci:
<meta name="robots" content="noai, noimageai">
Jeżeli chcesz zastrzec tylko część serwisu, na przykład katalog z materiałami premium, możesz użyć nagłówka X-Robots-Tag po stronie serwera. W przypadku Nginx przykładowa konfiguracja może wyglądać tak:
location /premium/ {
add_header X-Robots-Tag "noai, noimageai" always;
}
Dzięki temu żądania do katalogu premium będą zawsze otrzymywały nagłówek zabraniający wykorzystania treści w treningu modeli AI.
Warstwa 3 – TDMRep, llms.txt i ai.txt
W ostatnich latach rozwijane są standardy ułatwiające zgłaszanie sprzeciwu wobec text and data mining, czyli masowego przetwarzania treści przez narzędzia i modele AI. Jednym z nich jest protokół TDMRep, który wykorzystuje prosty metatag i nagłówek HTTP, aby poinformować, że właściciel nie zgadza się na tego typu wykorzystanie danych.
Przykładowy metatag TDMRep może wyglądać tak:
<meta name="tdm-reservation" content="1">
Analogicznie możesz dodać nagłówek HTTP:
TDM-Reservation: 1
Równolegle pojawiają się pliki llms.txt i ai.txt, które działają podobnie jak robots.txt, ale pozwalają określić nie tylko dostęp, lecz także cel użycia treści. W takich plikach możesz wyszczególnić, którym dostawcom AI wolno pobierać treści oraz w jakim zakresie.
Warstwa 4 – blokada na serwerze i w Cloudflare
Niestety nie wszystkie boty przestrzegają robots.txt i metatagów, dlatego warto dołożyć twardą blokadę po stronie serwera lub dostawcy CDN. Przykładowo w panelu Cloudflare możesz włączyć w sekcji Security odpowiednią regułę blokującą znane boty AI, co od razu odfiltruje część ruchu.
Jeśli korzystasz z serwera Apache, możesz użyć pliku .htaccess, aby zwrócić błąd 403 dla wybranych user agentów. Przykładowa reguła wygląda tak:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} GPTBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ChatGPT-User [NC,OR]
RewriteCond %{HTTP_USER_AGENT} OAI-SearchBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ClaudeBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} PerplexityBot [NC]
RewriteRule .* - [F,L]
Podobne reguły można zdefiniować w konfiguracji Nginx, co pozwala skutecznie zatrzymać ruch z określonych botów AI, niezależnie od ich reakcji na robots.txt.
Warstwa 5 – regulamin, paywall i dostęp warunkowy
Ostatnia warstwa dotyczy nie tyle konfiguracji technicznej, co zasad korzystania z treści. Warto w regulaminie oraz polityce praw autorskich jasno zapisać, że nie wyrażasz zgody na wykorzystywanie treści serwisu w treningu modeli AI i masowym scrapowaniu. Taki zapis nie zatrzyma botów sam w sobie, ale tworzy dodatkową podstawę prawną do działania, jeśli ktoś zignoruje Twoje dyrektywy.
W przypadku szczególnie cennych lub wrażliwych treści możesz też rozważyć ich udostępnianie wyłącznie po zalogowaniu, w modelu subskrypcyjnym lub za paywallem. Większość botów nie przechodzi przez takie zabezpieczenia, dzięki czemu nie ma technicznej możliwości pobrania pełnych materiałów.
Od czego zacząć w praktyce
Najlepsze efekty przynosi podejście warstwowe. Na początek zadbaj o aktualny plik robots.txt z regułami dla znanych botów AI. Następnie dodaj w szablonie metatag noai i noimageai albo odpowiednie nagłówki X-Robots-Tag dla wybranych katalogów. Kolejnym krokiem może być wdrożenie TDMRep oraz, w miarę rozwoju standardów, plików llms.txt i ai.txt.
Równolegle włącz filtrowanie ruchu w narzędziach takich jak Cloudflare lub skonfiguruj proste reguły w .htaccess. Całość warto uzupełnić jasnym regulaminem i przemyślanym modelem dostępu do najbardziej wartościowych treści. Taki zestaw nie gwarantuje pełnej ochrony, ale istotnie utrudnia masowe scrapowanie zawartości przez boty AI.
