O robô
ObadiBot: o que ele faz, e como impedi-lo
Esta página é para quem administra um servidor. Ela diz o que o robô lê, em que ritmo, e como barrá-lo em um minuto.
Quem é ele
O robô do Obadi se chama ObadiBot e se identifica sempre, em toda requisição que faz: na página, e também em cada folha de estilo, script, imagem e fonte que ela puxa. O User-Agent é exatamente este:
ObadiBot/0.1.1 (+https://www.obadi.com.br/robo)O nome no robots.txt é ObadiBot. O endereço no User-Agent aponta para esta página, que é onde tudo o que ele faz está descrito.
O que ele lê
- O robots.txt, sempre, antes de qualquer outra coisa. Se ele não puder ser lido, o robô não entra: sem esse arquivo não há como saber o que o site autoriza.
- Uma amostra de 10 a 25 páginas por site, uma vez por trimestre. A amostra é sorteada entre os tipos de página que a metodologia define (página inicial, busca, contato, ouvidoria, transparência, acessibilidade, mapa do site e um serviço), e o sorteio é reproduzível a partir do código do IBGE e do período.
- A página inicial, uma vez por mês, só para atualizar o estado do site. Essa leitura mensal é uma página, não uma amostra, e ainda não começou a rodar.
Ele examina no máximo 200 links por entidade para montar a amostra, e não vai além de dois cliques de distância da página inicial. Nada do que ele lê é republicado: o HTML coletado fica guardado em privado, e o que sai em público é o resultado da medição.
Como ele se comporta
- Respeita Disallow integralmente, inclusive na página inicial.
- Respeita crawl-delay. Quando o robots.txt declara um valor, é ele que manda, por maior que seja.
- Uma entidade por vez por bloco de endereços: /24 em IPv4, /48 em IPv6. Se vários sites que ele mede respondem da mesma infraestrutura, mesmo em endereços diferentes, eles entram em fila, não em paralelo.
- Pausa mínima de 2 segundos entre duas entidades do mesmo bloco, além do crawl-delay.
- Nunca envia formulário, nunca faz login, nunca clica em botão que altere alguma coisa.
- Nunca segue link para fora do domínio da entidade.
- Não executa nada que dependa de sessão, cookie ou identificação: cada entidade é visitada em um contexto novo, jogado fora ao terminar.
Se a coleta de um site estiver incomodando, um pedido por e-mail suspende a coleta daquela entidade em até 24 horas, sem que você precise mexer em nada no servidor.
Como bloquear
Basta o robots.txt. Estas duas linhas barram o robô por completo, e ele obedece já na próxima visita:
User-agent: ObadiBot
Disallow: /É importante saber o que acontece depois, porque não é uma nota de rodapé: a entidade continua na tabela e passa a aparecer publicamente com o status “Coleta não autorizada pelo próprio site”, com a data em que o bloqueio começou e há quantos dias ele dura. Não existe índice, não existe faixa, e não existe punição. Existe o registro de que o site não autorizou a medição.
Ou seja: bloquear não tira a entidade do Obadi, e não é tratado como falha dela. É tratado como uma decisão do site, dita com todas as letras na página pública.
Como pedir outra janela ou outro limite
Se o problema não é a medição e sim o horário ou o ritmo, escreva para contato@obadi.com.br. Combinamos janela de horário, taxa acima do crawl-delay público, ou os dois, e o robô passa a obedecer o combinado para o seu servidor. Um pedido de suspensão temporária também vale, e é atendido em até 24 horas.
Se você hospeda muitos sites do poder público no mesmo servidor, esse contato é especialmente bem-vindo. É o caso em que o ritmo do robô importa mais, e é o caso em que a gente já errou.
O que já deu errado
Em 06 de setembro de 2026 o ObadiBot sobrecarregou um provedor de Santa Catarina. A política de polidez do robô era escrita por domínio: uma página por vez em cada site, quatro sites em paralelo. Só que 156 dos 235 municípios do estado respondem de um único servidor, e quatro sites em paralelo eram, para aquela máquina, quatro robôs de uma vez. Ela respondeu 403 e depois parou de responder. Cento e cinquenta e quatro entidades ficaram sem medição naquele dia por causa disso, e o problema foi nosso, não delas.
O limite de uma entidade por vez por bloco de endereços, e a pausa de 2 segundos entre elas, existem por causa desse dia. O nome de um site não é o servidor que o atende, e um limite de taxa que não conta por onde o servidor realmente está não é um limite de taxa. Depois disso ainda encontramos um provedor que dá um endereço diferente a cada cliente, o que faria a mesma infraestrutura parecer trinta e sete servidores. Por isso a conta é por bloco, e não por endereço. O episódio está registrado por escrito, com os números, no registro público de incidentes do projeto.