Allow or block OAI-SearchBot on Nginx: robots.txt and a map on the user agent

Add a “User-agent: OAI-SearchBot” group with “Disallow: /” to robots.txt, and to enforce it, map $http_user_agent to a flag for OAI-SearchBot and return 403 when it is set.

This response

You are ClaudeBot (Anthropic). Citable recognised you as an AI agent, so this is https://getcitable.in/crawlers/oai-searchbot/nginx with the UI removed — the content only. A browser asking for the same address gets the full designed page.

OAI-SearchBot, and where Nginx keeps the rule

OAI-SearchBot is a crawler run by OpenAI. It reads pages at the moment a person asks a question, to answer it.

Nginx serves robots.txt as a file from the site’s root, like any other file. The server itself can also refuse a request by its user agent.

Step by step

What to paste

A group that names a crawler replaces the * group for that crawler; it does not add to it. Paths the * group closes are open to a crawler with its own group unless they are repeated there.

robots.txt, refusing OAI-SearchBot:

User-agent: OAI-SearchBot
Disallow: /

nginx.conf, refusing the request itself:

# http {}
map $http_user_agent $refuse_crawler {
    default 0;
    "~*OAI-SearchBot" 1;
}

# server {}
if ($refuse_crawler) {
    return 403;
}

robots.txt, allowing OAI-SearchBot:

User-agent: OAI-SearchBot
Allow: /

What trips people up

The map belongs in the http block, not inside server; in the wrong place nginx -t fails and a reload would too. The 403 also covers /robots.txt itself, so the refused crawler cannot read the file either.

Asked, or actually refused?

Yes. The 403 is the server’s own answer.

Check it yourself

A 200 means the name is let through; a 403 means something in front of the page refuses it. This tests the name from your own address. A platform that checks a crawler’s address as well may treat the real OAI-SearchBot differently.

The request:

curl -I -A "OAI-SearchBot" https://your-site.example/

Questions

How do I block OAI-SearchBot on Nginx?

Add a “User-agent: OAI-SearchBot” group with “Disallow: /” to robots.txt, and to enforce it, map $http_user_agent to a flag for OAI-SearchBot and return 403 when it is set.

How do I allow OAI-SearchBot on Nginx?

A crawler that robots.txt does not name follows the * group, so OAI-SearchBot needs no rule to be allowed. To allow it by name, add the Allow block.

Can Nginx actually stop OAI-SearchBot, or only ask it?

Yes. The 403 is the server’s own answer.

Does a rule for OAI-SearchBot affect Googlebot or my Google rankings?

No. Googlebot goes by its own name and follows its own rules; a group or a firewall rule for OAI-SearchBot does not apply to it.

Checked against Nginx's own documentation on 1 October 2026

Related

About Citable

Citable strips the UI from a website for AI agents and serves them only the content.

When an AI agent — ChatGPT, Claude, Perplexity or any of the 81 that Citable recognises — opens a page, Citable removes the theme, scripts, navigation and layout and serves only the content: the same facts, at the same URL, on the site's own domain. People and Google still get the full designed page.

How it works: https://getcitable.in/how-it-works · Summary for AI agents: https://getcitable.in/llms.txt


Source: https://getcitable.in/crawlers/oai-searchbot/nginx · Citable · Run the free audit · llms.txt · getcitable@gmail.com