Question
How to check OAI-SearchBot visits
If you changed robots or edge rules, validate with raw logs first. Repeated blind edits usually make diagnosis slower.
Fast checks
grep -i "OAI-SearchBot" /var/log/nginx/access.log | tail -n 50
grep -i "OAI-SearchBot" /var/log/nginx/access.log | awk '{print $7}' | sort | uniq -c | sort -nr | head
Caddy JSON log checks
jq -r 'select(((.request.headers."User-Agent"[0] // "") | test("OAI-SearchBot"; "i"))) | [.ts, .request.uri, .status] | @tsv' /var/lib/caddy/logs/llmsfile-access.log | tail -n 120
jq -r 'select(((.request.headers."User-Agent"[0] // "") | test("OAI-SearchBot"; "i"))) | (.request.uri // "/")' /var/lib/caddy/logs/llmsfile-access.log | sort | uniq -c | sort -nr | head -n 20
jq -r 'select(((.request.headers."User-Agent"[0] // "") | test("OAI-SearchBot"; "i"))) | (.status // 0)' /var/lib/caddy/logs/llmsfile-access.log | sort | uniq -c | sort -nr
What to verify
- Requests hit
/robots.txtand key content paths. - Status codes are mostly
200or expected redirects. - Your wildcard rules are not blocking by accident.
Example readings from a real access log
- Healthy discovery:
OAI-SearchBotrequests/robots.txt,/sitemap.xml, then two or more content pages with200or304. - Policy-only crawl: the bot checks
/robots.txtrepeatedly but never reaches content pages. Check sitemap URLs, internal links, and whether important pages are hidden behind scripts. - Edge block: requests reach content URLs but return
403. Check Cloudflare security events before changingrobots.txt. - Wrong token search: logs show
GPTBotorChatGPT-User, but noOAI-SearchBot. Report them separately; they serve different purposes.
Zero-hit diagnosis sequence
- Confirm token accuracy: search for
OAI-SearchBot, not genericOpenAI. - Check both apex and www robots responses for policy drift.
- Inspect Cloudflare security events for challenge/managed-rule blocks.
- Verify crawl-entry URLs return stable
200/301from outside your origin network.
curl -s https://yourdomain.com/robots.txt | sed -n '1,80p'
curl -s https://www.yourdomain.com/robots.txt | sed -n '1,80p'
for p in /robots.txt /sitemap.xml /sitemap-index.xml /llms.txt; do
curl -s -A "OAI-SearchBot/1.0" -o /dev/null -w "%{http_code} %{url_effective}\n" "https://yourdomain.com$p"
done
Avoid false conclusions
- Separate
OAI-SearchBotfromGPTBotandChatGPT-Userin reporting. - Compare a 7-day window, not one burst hour.
- Check whether hits stay on
/robots.txtonly or expand to content pages.
If you need a repeatable command workflow, use the AI crawler log command builder and then validate the result with the log checker.
If you see repeated 403 on crawl-entry paths, continue with OAI-SearchBot 403 behind Cloudflare. If you see persistent zero hits, run the zero-hit checklist (same edge/policy logic).