O crawler

O nosso crawler, e como desligar.

Se o SeoBoostyBot apareceu nos seus logs, esta página diz quem o opera e como pará-lo. Tudo que está impresso aqui descreve o crawler como ele roda hoje.

Identidade

Como reconhecer o bot.

Duas coisas identificam o crawler: uma string de user agent que nunca muda e uma lista publicada dos endereços de onde ele vem. Qualquer coisa que se diga SeoBoostyBot vindo de um endereço fora dessa lista não saiu daqui.

User agent

SeoBoostyBot/1.0 (+https://seoboosty.com/bot)

Legível por máquina

A lista atual, para qualquer coisa do seu lado que leia uma:

/bot/ips.json

De onde ele vem

Os endereços são publicados num arquivo em vez de impressos nesta página, então qualquer coisa do seu lado que mantenha uma lista de permissão lê o conjunto atual, e não uma cópia que envelheceu.

O arquivo é a fonte da verdade. Se algum endereço mudar, o arquivo muda junto e nada do seu lado precisa ser editado na mão.

O que ele lê

Ele lê páginas e anota links.

A SeoBoosty procura domínios expirados que sites estabelecidos ainda linkam. Para achar esses domínios, o crawler lê páginas disponíveis publicamente e registra qual página linka para qual domínio. O trabalho é esse, inteiro.

O que ele faz

  • Pede páginas que já são públicas, do mesmo jeito que um navegador pede
  • Lê os links da página, com o texto âncora e o atributo rel
  • Guarda o link, o texto âncora e o endereço da página em que ele estava

O que ele nunca faz

  • Enviar um formulário
  • Tentar login, com qualquer credencial
  • Comprar alguma coisa ou fazer um pedido
  • Guardar o texto, as imagens ou os arquivos da sua página

O que a gente guarda é link e texto âncora. O crawler lê a sua página uma vez para achar isso e depois descarta o texto.

Como ele se comporta

O que ele faz quando o seu servidor empurra de volta.

Cada linha abaixo descreve o crawler rodando em produção hoje, e os números saem dos logs dele mesmo.

  1. 01Ele lê o robots.txt primeiro

    O crawler busca o seu robots.txt e aplica as regras de Disallow antes de pedir uma página. Numa janela recente de dez minutos, ele pulou 3.554 URLs só por causa do robots.txt.

  2. 02429 faz ele desacelerar

    O crawler leva um HTTP 429 a sério e alivia naquele host, em vez de tentar de novo no mesmo ritmo.

  3. 03Um desafio corta o ritmo dele para um quarto

    Quando uma resposta parece um desafio de bot ou um bloqueio de WAF, o crawler se desacelera em quatro vezes naquele host.

  4. 04Ele vai embora de um host que falha

    Um disjuntor observa os erros por host. Assim que ele abre, o crawler abandona aquele host em vez de ficar martelando.

  5. 05Segundos entre requisições

    O crawler deixa segundos entre as requisições ao mesmo domínio. Ele não tem modo rajada e não abre uma enxurrada de conexões paralelas contra um site.

Como controlar

Linhas para você colar.

O que você puser no robots.txt para o SeoBoostyBot passa a valer na visita seguinte do crawler, e ele relê o robots.txt com frequência. Não precisa escrever para a gente antes.

Bloquear tudo

Assim que o crawler lê isso, ele não pede mais nada no site.

User-agent: SeoBoostyBot
Disallow: /

Desacelerar

Dez segundos entre as requisições ao seu site. Ponha o número que servir ao seu servidor.

User-agent: SeoBoostyBot
Crawl-delay: 10

Bloquear uma parte do site

Regras de caminho comuns. Tudo que você deixar de fora continua aberto.

User-agent: SeoBoostyBot
Disallow: /admin/
Disallow: /search

Bloquear no firewall

Para quem prefere não esperar a próxima leitura do robots.txt. Puxe os endereços atuais e jogue direto no seu firewall ou WAF.

curl -s https://seoboosty.com/bot/ips.json | jq -r '.ipv4[]'

Escreva o token SeoBoostyBot na linha User-agent, sem versão e sem URL depois dele.

Contato

Qualquer outra coisa, escreva para a gente.

Uma caixa de entrada recebe tudo sobre o crawler, e quem lê é uma pessoa. Peça para a gente parar de rastrear o seu site e a gente para, e você não precisa explicar por quê.

Abrir o formulário de contato

Dúvidas sobre o crawler

[email protected]

Mande o domínio e algumas linhas de log, se você tiver. Isso costuma bastar para confirmar que o tráfego era nosso e para dizer o que ele estava fazendo.