E1 · IndexNow and Bing
25 minCheck the sitemap in Bing Webmaster, publish the IndexNow key, and notify 3 new or changed URLs that return 200.
Done when: Bing shows the sitemap with a success status and the IndexNow notification returned 200 or 202.
Lesson 5 · 18 min
Bing feeds Copilot and has the only official citations dashboard; and one study found a good share of ChatGPT's citations among the top Bing results. Telling Bing costs little. On the other side, the server log tells you who really reads the site: which AI bots, for what purpose, and which ones are fake.
Start the lesson
Goal: check the site in Bing with IndexNow and read in the log which AI bots really visit, separated by purpose.
Click each block.
Notify Bing, then check the log to see who really came.
Tap each step.
Check in Bing Webmaster that the sitemap was read successfully (course 1, lesson 3). Without this, neither AI Performance nor IndexNow pays off.
Publish the key in a .txt file at the site root and notify the new URLs after each publication. The method's script checks for the 200 before notifying.
At INEMA: 109 URLs notified with a 202 response on 09/24/2026 and 90 URLs with 200 on 10/02/2026.
On the server (nginx or Apache), copy the access log to your computer. Behind a CDN, use the CDN's log: the server's log only sees what got past it.
A person's IP is personal data (LGPD): before showing it to anyone, keep only the bot lines.
Run botlog (inemaseo-sistemas, MIT) or filter by hand on User-Agent. Look at three things: which purpose shows up, how many fakes there are, and whether any search bot got a 403.
Only training bots in the log and no search bots: the site may be outside the index of the search AIs. Check robots.txt and the CDN (course 1, lesson 6).
The first block is from the inemaSEO method (model only: it needs your key). The second reads the log on your computer; detailed teaching in course 7.
# urls.txt: one URL per line, all on the same host # the IndexNow key is published at https://seusite.com/<chave>.txt INDEXNOW_KEY=<chave> tools/avisar_buscadores.sh urls.txt # checks that each URL returns 200 before notifying; stops if any does not return 200
git clone https://github.com/inematds/inemaseo-sistemas && cd inemaseo-sistemas/ferramentas/botlog # copy the server log (read-only) ssh usuario@SEU_SERVIDOR 'cd /var/log/nginx; zcat -f access.log.*.gz; cat access.log.1 access.log' > /tmp/site.log # report by purpose, with the IP checked against the official lists python3 botlog.py analisar /tmp/site.log --sitemap https://seusite.com/sitemap.xml --saida saida/site # LGPD: before sharing, keep only the bot lines with an official IP python3 botlog.py filtrar /tmp/site.log --saida /tmp/so-robos.log
botlog on the real log of desenho.inema.pro (10/05 to 10/19/2026), already filtered to only bots with an official IP:
8 linhas, 8 de robô (treino 6, busca 2); falsos 0 robo finalidade acessos paginas robots_txt 4xx/5xx GPTBot treino 4 2 0 0 ClaudeBot treino 2 2 1 0 OAI-SearchBot busca 2 1 2 1
In the repository's assembled sample (documentation IPs, official User-Agents), the report flags:
No access to the log? Do E2 with the example from the repository.
Check the sitemap in Bing Webmaster, publish the IndexNow key, and notify 3 new or changed URLs that return 200.
Done when: Bing shows the sitemap with a success status and the IndexNow notification returned 200 or 202.
Run botlog on your site's log (or on the REAL example in the repository) and note the requests by purpose, the fakes, and the 403s for AI bots.
Done when: a note with the count by purpose (search, user action, training), the number of fakes, and the list of 403s (or "none").
The explanation appears after your answer.
Question 1 of 4
"ChatGPT uses the Bing index." How do you say this honestly?skill
Question 2 of 4
The log shows 30 requests from "GPTBot" coming from an IP outside OpenAI's list. What are they?
Question 3 of 4
OAI-SearchBot gets a 403 in the log, but robots.txt allows it. Where do you look?
Question 4 of 4
Why does searching for Google-Extended in the log not work?
Choose an answer. The explanation appears after you try.