Um cliente me ligou no mês passado, meio assustado, depois de receber um email de seu provedor de hospedagem. O assunto não era bom: "Seu site está consumindo recursos excessivos." As opções eram fazer upgrade do plano ou migrar para um servidor melhor.
Seus gráficos de tráfego no GA4 estavam estáveis. Os mesmos visitantes do mês anterior. Então entrei nos logs de acesso para entender o que estava acontecendo.
Não era um DDoS. Bem, era tipo um DDoS. Feito por bots de IA.
A invasão de crawlers
Puxe o log de acesso bruto de qualquer site moderadamente popular agora e você os verá: GPTBot. ClaudeBot. PerplexityBot. Bytespider. Meta-ExternalAgent. OAI-SearchBot. CCBot. Cada um deles rastreando página após página, produto após produto, post após post, num ritmo que ninguém combinou com a gente.
Dois nomes que você vai ver em todo artigo sobre o assunto, mas nunca no seu log: Google-Extended e Applebot-Extended. Eles não são bots. São chaves do robots.txt que dizem ao Google e à Apple o que eles podem fazer com o conteúdo que os crawlers normais deles já baixaram.
A matemática fica feia rapidamente. Cada uma dessas requisições dispara um bootstrap completo do WordPress: tema, widgets, construtores de página, plugins, tudo o que faz seu site WordPress funcionar. Consultas ao banco de dados disparam. CSS e JavaScript são montados. E então, depois que o servidor fez todo esse trabalho, a resposta sai: 80, 100, às vezes 200 kilobytes de HTML por página.
A maior parte é markup do tema, que o bot joga fora.
Então você pagou pelo tempo de CPU, pela memória, pela conexão do banco de dados e pela largura de banda, apenas para enviar centenas, talvez milhares de kilobytes de markup do tema para um crawler que não queria.
"Apenas bloqueie-os" às vezes não funciona
O primeiro instinto de todo dev que percebe isso é recorrer a robots.txt, .htaccess ou regras de bot do Cloudflare, e bloquear tudo relacionado a bots de IA.
Problema resolvido, certo?
Depende de quais bots você bloqueia. E a maioria das regras de "bloqueie todos os bots de IA" copiadas por aí não faz essa distinção.
Bloquear os crawlers de treinamento (GPTBot, ClaudeBot, CCBot) tira seu conteúdo do treino dos modelos. Tudo bem, se é isso que você quer. Já bloquear os crawlers dos buscadores de IA (OAI-SearchBot, PerplexityBot, Claude-SearchBot) faz você sumir das respostas que ChatGPT, Perplexity e Claude dão pra quem procura o que você vende. O Google é um caso à parte: os AI Overviews saem do índice normal do Googlebot, então nenhuma regra de bot de IA mexe neles. E bloquear o Googlebot tira você da busca inteira.
As regras genéricas derrubam os buscadores de IA junto com os crawlers de treinamento. Pra um site que depende de ser encontrado, isso sai mais caro que a conta de hospedagem.
AEO - Answer Engine Optimization - é a nova linha de frente da busca. As empresas que estão ganhando nisso agora são aquelas cujo conteúdo realmente é ingerido pelos principais LLMs.
E se o time de marketing está trabalhando em AEO, você pode matar semanas ou meses de trabalho estratégico com uma única configuração. Tem que haver uma resposta melhor.
Deixe os bots entrarem. Sirva-os apenas o prato principal
Isso é o que ParseLess faz. Construí depois da ligação com aquele cliente e lancei no diretório WordPress algumas semanas depois para uso público.
A ideia é tão simples a ponto de ser quase constrangedora: quando um bot de IA atinge seu site WordPress, o plugin o detecta pelo User-Agent e serve o conteúdo como Markdown limpo em vez de HTML completo do tema. Mesmo conteúdo. Mesma URL. Visitantes humanos e Googlebot recebem o site normal. Nem sequer sabem que o plugin existe. Apenas os crawlers de IA recebem a versão leve. Para o bot de IA, isso é ouro.
Os números vêm de medir a mesma página do WordPress de duas maneiras. Primeiro como um navegador a vê: o documento HTML mais cada arquivo CSS, bundle JavaScript e imagem que o navegador precisa buscar para renderizar a página. Depois, como um bot a veria através do ParseLess: uma única resposta Markdown.
| Métrica | Página HTML completa | Resposta Markdown | Diferença |
|---|---|---|---|
| TTFB | 459 ms | 155 ms | ~3x mais rápido |
| Requisições HTTP | 16 (1 doc + 15 assets) | 1 | 94% menos |
| Peso total | ~484 KB (doc + CSS + JS + imagens) | ~6 KB | ~80x menor |
| Consultas ao banco de dados | bootstrap completo | leitura de cache | 60–80% menos |
| Só o documento HTML | ~79 KB | ~4 KB | ~95% menor |
Quanto disso o crawler baixa de verdade depende do crawler. Alguns buscam só o documento HTML; outros também puxam CSS, JavaScript e imagens pra renderizar a página. Então a economia real fica entre o número do documento (de 79 KB pra 4 KB) e o da página completa (de 484 KB pra 6 KB). De um jeito ou de outro, o trabalho do servidor cai: uma leitura de cache no lugar de um bootstrap completo do WordPress.
ParseLess reduz isso para uma requisição. Nenhuma busca de assets subsequente. Imagens se tornam links Markdown simples que o bot pode escolher buscar ou ignorar, em vez de serem baixadas automaticamente com a página.
Multiplique pelo tráfego de bot que você realmente está recebendo em um mês, e a matemática de largura de banda para de ser uma curiosidade.
Como fica na prática
Digamos que você tenha um site WordPress com 500 posts e/ou produtos. Digamos que os principais crawlers de IA (GPTBot, ClaudeBot, PerplexityBot, Bytespider, CCBot etc.) atinjam a maioria dessas páginas ao longo de um mês. Considere números conservadores.
Antes do ParseLess: 500 páginas × 10 bots dão 5.000 renders completos do WordPress. Isso é algo como 400 MB de HTML se os bots baixarem só o documento, e até uns 2,4 GB se puxarem todos os assets.
Depois do ParseLess, com o cache aquecido: 5.000 leituras de cache no lugar de bootstraps completos, e uns 20 a 30 MB no total. Workers PHP-FPM liberados cerca de 3x mais rápido por requisição, o que significa que o mesmo servidor lida com mais tráfego de crawler concorrente antes de saturar.
É o mesmo conteúdo sendo entregue através de um tubo muito mais curto, e sem fazer a conta de hospedagem disparar.
O cliente cujo alerta de hospedagem desencadeou tudo isso economizou seu upgrade de servidor. Ele não perdeu AEO. Continuou sendo rastreado por cada modelo que importava. E os crawlers pararam de custar a ele dinheiro real.
Como funciona
ParseLess se conecta a template_redirect e executa a requisição através de uma verificação de User-Agent antes mesmo do WordPress decidir qual template carregar. Se o bot corresponder a um crawler de IA conhecido, a requisição é roteada para o conversor Markdown em vez do tema.
O conversor executa o filtro the_content, então tudo que Elementor, Divi, ACF ou blocos Gutenberg renderizam no conteúdo do post é capturado corretamente. Depois remove o markup de envolvimento e converte o que sobra para Markdown. Tabelas, listas aninhadas, blocos de código com linguagem preservada, imagens com texto alternativo, links, tudo é preservado. A saída é armazenada em um transiente com um TTL configurável.
Hits de bot subsequentes no mesmo post não executam a conversão. Recebem uma única leitura de cache e uma resposta em milissegundos.
O plugin respeita tudo que você esperaria que respeitasse. Posts marcados noindex em Yoast, Rank Math ou Genesis são excluídos. Posts privados, rascunhos, protegidos por senha e lixeira nunca são servidos. Todos os tipos de post públicos são incluídos por padrão, mas você pode restringi-los nas configurações.
Também há um endpoint /llms.txt na raiz do seu site. Opcional, desativado por padrão se você não quiser.
Desde a versão 0.5.0, ParseLess também publica um /botfood-sitemap.xml, um sitemap específico para IA listando a URL Markdown de cada post público. É anunciado em robots.txt automaticamente para que crawlers realmente o encontrem, e pode ser desativado se você preferir não expô-lo.
Sabendo que está realmente funcionando
A primeira pergunta que qualquer pessoa sensata faz depois de instalar um plugin como esse é: como sei que os bots estão realmente atingindo a versão Markdown e não ainda puxando HTML completo?
Então adicionei uma aba Analytics à página de configurações. O logging opcional registra cada requisição Markdown com o User-Agent do bot, URL do post, timestamp, bytes servidos e se a resposta veio do cache. O IP é armazenado como um hash SHA-256 com sal, nunca como o endereço bruto. Isso mantém os dados úteis para "com que frequência este bot me atingiu" sem arrastar o site para território GDPR ou LGPD evitável.
A aba Analytics oferece um gráfico de 30 dias de atividade de bot, uma análise por crawler, os principais URLs sendo buscados e uma lista de User-Agents desconhecidos que parecem bots mas não estão na lista de detecção. Se algo nessa lista "desconhecida" é claramente um crawler de IA (acontece com frequência, esse mercado muda rápido), tem um botão de um clique para adicioná-lo à lista de detecção.
Um widget de dashboard em wp-admin mostra os mesmos dados em forma resumida, para que você veja no momento em que faz login.
Se você não quer nada disso, deixe o logging desativado. O Markdown serving funciona bem sem ele. Mas se você está tentando justificar a instalação para um cliente, ou quer saber se o novo crawler que acabou de aparecer nos seus logs de acesso é realmente um bot LLM ou outra coisa, os dados estão lá.
Onde você verá os benefícios
Uma lista curta de quem realmente se beneficia disso:
Sites de e-commerce rodando WooCommerce, especialmente com muitas páginas de produtos. Bots de IA adoram rastrear catálogos de produtos, e páginas de produtos tendem a ser HTML-pesadas.
Sites de notícias e blogs de alto volume onde o conteúdo se atualiza mais rápido que o rastreamento consegue acompanhar, e os bots voltam frequentemente.
Sites construídos em construtores de página. Sites Elementor e Divi são os casos de uso de maior impacto porque suas cargas HTML são as mais pesadas no ecossistema WordPress.
Qualquer pessoa em hospedagem compartilhada ou VPS apertado que começou a receber avisos de recursos sem poder explicar o pico de tráfego, que costuma ser o ponto em que hospedagem e performance em WordPress se paga.
Se você está em infraestrutura dedicada com margem, as economias ainda serão reais, mas você as sentirá mais na sua conta CDN do que na conta do servidor.
Qual é o custo
Nada. ParseLess é GPL, gratuito e está no diretório oficial do WordPress. Instale, ative, e bots de IA imediatamente começam a receber a versão leve. Nenhuma configuração necessária para que o comportamento padrão funcione.
As configurações ficam em Tools → ParseLess se quiser ajustar a lista de bots, o TTL do cache, os tipos de post ou as opções de frontmatter.
Quero muito saber de quem instalar e medir os próprios números, principalmente se a economia for diferente da que eu estou vendo. Configurações de servidor variam, e quanto mais dados eu tiver sobre o impacto no mundo real, melhor a próxima versão fica.
Se seu site é aquele sendo sinalizado pela hospedagem por uso de recursos e você não sabe por quê, os logs são geralmente a forma mais rápida de descobrir. Suporte de performance e hospedagem WordPress é onde eu assumo quando o log não explica. Me manda o alerta, embora na maioria das vezes você mesmo ache a resposta em vinte minutos.
De qualquer forma, pare de pagar para renderizar seu tema para robôs.
