E1 · The example by purpose
5 minRun the example robots.txt block and open kit/site/robots.txt to see the comments for each group.
Done when: python3 robots.py site/robots.txt → treino line with GPTBot bloqueado and saída: 0.
Lesson 6 · 15 min
Not every AI bot that visits your site does the same thing: some index for search, others read when a person asks, others collect for training. The robots.txt file asks by purpose, but it doesn't prove who is who. In this lesson you read your robots.txt by purpose and learn what the Web Bot Auth draft proposes for identifying the agent.
Start the lesson
Goal: read your robots.txt by purpose and understand why only a signature on the request identifies the agent.
Click each block.
Purpose is decided in robots.txt; identity only with a signature. Security in depth for this is course 4.
What each one solves.
One group per User-agent with Allow and Disallow. Bots that follow the rule respect it; the CDN or firewall is what enforces it.
Write the decision by purpose and note the reason in a comment. The full step-by-step is in lesson 6 of the inemaSEO Foundation course.
Each bot introduces itself by name in the User-Agent header. It's just text: any program can write "GPTBot". It's good for statistics, not for trust.
In the draft-ietf-webbotauth-httpsig-protocol draft (Sept/2026, Cloudflare and Google, an IETF working group document, not yet an RFC), the agent signs the request and sends the Signature-Agent header; the keys live in a JWKS directory at a well-known URI.
On Cloudflare, since 07/01/2026, signed agents count as Verified, with the field "Direct versus Intermediary access".
Nothing to install in this course. Knowing it exists helps you read your CDN dashboard and not trust a bot's name alone.
The robots.py reads a robots.txt (file or URL) and tells you, by purpose, who can get into the root of the site. Simplified rule: only the root "/"; partial = blocks some paths.
cd ~/projetos/formacao-webmcp-base-v72/kit python3 robots.py site/robots.txt; echo "saída: $?"
cd ~/projetos/formacao-webmcp-base-v72/kit python3 robots.py https://<your-site>/robots.txt; echo "saída: $?"
grupos no arquivo: *, chatgpt-user, claude-searchbot, claude-user, claudebot, google-extended, gptbot, oai-searchbot, perplexity-user, perplexitybot busca OAI-SearchBot liberado · Claude-SearchBot liberado · PerplexityBot liberado · Googlebot parcial (*) · Bingbot parcial (*) ação do usuário ChatGPT-User liberado · Claude-User liberado · Perplexity-User liberado treino GPTBot bloqueado · ClaudeBot bloqueado · Google-Extended bloqueado lembrete: robots.txt pede, não identifica. Quem prova quem é: assinatura na requisição (Web Bot Auth, rascunho IETF). saída: 0
The example shop allows search and user action and blocks training. Googlebot and Bingbot don't have their own group: the rules of * apply, which blocks only /admin/ (that's why "parcial").
grupos no arquivo: *, bingbot, claude-searchbot, claudebot, googlebot, oai-searchbot, perplexitybot busca OAI-SearchBot liberado · Claude-SearchBot liberado · PerplexityBot liberado · Googlebot liberado · Bingbot liberado ação do usuário ChatGPT-User liberado (*) · Claude-User liberado (*) · Perplexity-User liberado (*) treino GPTBot liberado (*) · ClaudeBot liberado · Google-Extended liberado (*) lembrete: robots.txt pede, não identifica. Quem prova quem é: assinatura na requisição (Web Bot Auth, rascunho IETF). saída: 0
inema.club allows everything, including training: it's open content and chose to allow it. The user-action bots don't have their own group and fall under *.
The example, your robots.txt, and the decision noted.
Run the example robots.txt block and open kit/site/robots.txt to see the comments for each group.
Done when: python3 robots.py site/robots.txt → treino line with GPTBot bloqueado and saída: 0.
Run the template with your site's address. Copy the busca, ação do usuário, and treino lines into the plan (the "Quem pode entrar" section).
Done when: the output has the busca, ação do usuário, and treino lines and ends with saída: 0.
Open your CDN or hosting dashboard and check whether there is AI bot blocking or a list of verified agents. Note whether it agrees with the robots.txt.
Done when: the plan has a line saying which CDN (or "no CDN") and whether the dashboard agrees with the robots.txt.
Question 1 of 4
A person pastes your site's link into the assistant and asks for a summary. What kind of bot reads the page?skill
Question 2 of 4
Your log shows User-Agent "GPTBot". Does that prove it was OpenAI?skill
Question 3 of 4
What does the Web Bot Auth draft propose?
Question 4 of 4
The robots.txt allows everything, but an agent can't read the site. Where do you look first?
Pick an answer. The explanation shows up after you try.