Voltar ao blog

Meu blog foi reprovado no AdSense por conteúdo raso gerado por IA: o que eu mudei

Meu blog rodado com IA foi reprovado no Google AdSense por conteúdo de baixo valor. Veja os 6 problemas reais que encontrei e como corrigi cada um.

C
Caio Braga
20 de julho de 2026 · 8 min de leitura
Sumário do artigo
Meu blog foi reprovado no AdSense por conteúdo raso gerado por IA: o que eu mudei

Meu blog é gerado majoritariamente com IA (notícias diárias automáticas, mais tutoriais e reviews escritos com apoio de IA) e foi reprovado no Google AdSense mais de uma vez. O motivo não foi "usar IA". Foi conteúdo raso, gerado a partir de resumos curtos demais pra sustentar um post de verdade. Se você monetiza ou pretende monetizar um site parecido, o problema provavelmente é o mesmo, e este post é o relato completo do diagnóstico e da correção, não uma versão resumida dele.

O que "conteúdo de baixo valor" significa pro Google, na prática

Antes de contar o que encontrei no meu site, vale entender o que essa reprovação realmente aponta. O sistema de avaliação de conteúdo útil do Google não olha se um texto foi escrito por IA ou por uma pessoa. Ele olha pro resultado: se aquela página existe pra satisfazer uma busca ou só pra preencher espaço.

Três padrões costumam cair nessa categoria, e os três apareciam no meu site ao mesmo tempo:

  • Conteúdo gerado em escala sem revisão: posts publicados automaticamente, sem checagem humana ou de qualidade no meio do caminho.

  • Conteúdo raso (thin content): páginas curtas, genéricas, que repetem o que já existe em qualquer outro lugar sem acrescentar nada.

  • Conteúdo com informação não verificada: dados, números ou afirmações que soam concretas mas não vêm de lugar nenhum confiável.

Meu pipeline de notícias automáticas conseguia produzir os três ao mesmo tempo, sem eu perceber, porque cada post individualmente parecia "normal".

Como cheguei no diagnóstico

Não teve atalho. Fiz uma auditoria completa do site: li o blog publicado como um visitante veria, abri vários tipos de post diferentes (notícia, review, tutorial), e depois fui direto no código: rotas, o componente que renderiza o markdown, os prompts de geração, o sitemap, o robots.txt, o ads.txt e as edge functions que geram o conteúdo.

Foi ali, comparando o que o prompt recebia como entrada com o que ele devolvia como post publicado, que o problema ficou óbvio.

O erro raiz: gerar posts a partir de um resumo, não da notícia inteira

Meu pipeline de notícias automáticas puxava só o título e duas ou três frases de resumo de uma API de notícias, e pedia pra IA transformar isso num post de 400 a 1.400 palavras. Na prática, o prompt recebia algo do tipo:

Título: "Empresa X lança nova funcionalidade de IA"
Resumo: "A empresa anunciou hoje uma atualização que promete melhorar a produtividade dos usuários."
Tarefa: escreva um post de 800 palavras sobre isso.

O resultado óbvio, em retrospecto: pra chegar em 800 palavras a partir de duas frases, a IA precisava inventar contexto. E ela inventava, com números e detalhes que soavam plausíveis mas não vinham de lugar nenhum verificável. Essa é a definição prática de conteúdo de baixo valor: informação que não agrega nada além do que já existe, e às vezes nem está correta.

A correção estrutural foi criar uma função (fetch-source.ts) que busca e extrai o texto completo do artigo original antes de qualquer geração. O prompt passou a receber o artigo inteiro como contexto, não um resumo de duas linhas, e uma regra explícita de que nenhum número ou fato pode aparecer no post se não estiver no texto-fonte. Sem fonte completa, sem post.

As 3 rodadas de correção

Depois do diagnóstico, as correções não vieram todas de uma vez. Foram três rodadas, cada uma pegando uma camada diferente do problema.

Rodada 1: o pipeline de conteúdo e os erros técnicos mais graves

O que encontrei

O que corrigi

Um post publicado com o placeholder literal [inserir link de afiliado] ainda no ar

Removi direto no banco e criei uma trava (hasUnresolvedPlaceholder) que força o post a ficar como rascunho se sobrar qualquer marcador não preenchido

Notícias geradas a partir de resumo de 2-3 frases, com estatísticas inventadas

Criei a função fetch-source.ts pra buscar o texto completo antes de gerar, com regra de anti-fabricação no prompt

H1 duplicado nas páginas de notícia

Corrigi o template pra renderizar só um H1 por página

Links de afiliado sem rel="sponsored"

Adicionei detecção automática de rel="sponsored nofollow noopener" no renderizador de markdown

FAQ em accordion só-JavaScript, invisível pro robô de indexação

Troquei por <details> e <summary>, elementos nativos do HTML que funcionam com ou sem JS

Slugs cortados no meio da palavra (ex: /blog/como-criar-um-agen)

Corrigi a função de slugify pra sempre cortar num espaço

Preço exibido errado, tipo "R$ Grátis"

Corrigi a regra de formatação de preço no prompt e nos dados

Rodada 2: estrutura de indexação e identidade visual

O que encontrei

O que corrigi

Categorias existiam só como filtro (/blog?categoria=vibe-coding), tratadas pelo Google como a mesma página do blog geral

Criei 5 rotas dedicadas (/categoria/vibe-coding, por exemplo), cada uma com descrição única, URL canônica, dados estruturados de coleção e entrada no sitemap

Imagem de compartilhamento (OG image) em SVG, formato que a maioria das redes sociais não renderiza

Gerei uma nova imagem em PNG (1200x630) e atualizei a referência em 11 lugares do código

Avatar genérico no lugar do autor

Troquei pela foto real, no componente de biografia e na página "Sobre"

Rodada 3: os sinais de texto gerado sem revisão

Essa rodada só apareceu depois que as duas primeiras já estavam no ar, quando fui reler o próprio conteúdo com outro olhar. Um post meu tinha 22 travessões usados como se fossem vírgula ou dois pontos, um tique de escrita que entrega imediatamente que o texto não passou por revisão humana de verdade. Junto disso, vários posts caíam no padrão "pergunta retórica respondida na sequência" (algo como "será que isso funciona? Sim, funciona"), que é outro sinal clássico de texto gerado sem edição.

A correção teve duas camadas: a regra explícita nos seis pontos de geração de conteúdo do site (prompts de review, de blog, de notícia e de newsletter), e uma função (stripEmDash) que roda como segurança extra direto no código, corrigindo o texto mesmo se o prompt falhar em seguir a regra.

O que corrigi manualmente, não só no código

Nem tudo dá pra resolver com uma regra de prompt. Depois das três rodadas, passei manualmente por posts antigos suspeitos de serem rasos e removi os piores casos, incluindo um post de 45 palavras que nunca deveria ter sido publicado daquele jeito. Depois disso, resubmeti o sitemap no Google Search Console e pedi indexação manual das cinco páginas de categoria novas, porque páginas novas de estrutura de site costumam demorar pra aparecer sozinhas.

Onde meu site está agora

No momento em que escrevo isso, o site está de novo em avaliação pro AdSense depois dessas correções, e ainda estou acompanhando o Search Console pra ver se o número de páginas indexadas sai do platô em que travou. Não vou fingir que já sei o resultado final. O objetivo deste post não é vender uma solução mágica, é mostrar o processo real de diagnóstico e correção, porque é isso que realmente resolve (ou não resolve) esse tipo de reprovação.

O que eu faria diferente se começasse do zero hoje

Três coisas, se eu pudesse voltar no tempo:

  1. Nunca deixar um pipeline publicar automaticamente sem uma trava de qualidade no meio do caminho, mesmo em fase de teste. A trava de placeholder e a regra de anti-fabricação deveriam ter existido desde o primeiro post, não depois da primeira reprovação.

  2. Tratar páginas de categoria indexáveis, slugs corretos e rel="sponsored" como parte do MVP do blog, não como "depois eu arrumo". São ajustes baratos de fazer no início e caros de corrigir depois, quando já existem centenas de posts com o problema.

  3. Reler uma amostra de posts publicados toda semana, com atenção nos vícios de escrita de IA, em vez de só descobrir isso quando o Google reprova.

Checklist rápido pra revisar o seu site agora

Perguntas frequentes

Usar IA pra escrever impede a aprovação no AdSense?
Não diretamente. O Google não rejeita pela ferramenta usada, rejeita pelo resultado: conteúdo raso, repetitivo ou com informação não verificada, seja ele escrito por IA ou por uma pessoa apressada.

Quantos posts preciso ter antes de pedir aprovação?
Não existe número oficial, mas sites com poucas páginas (5 ou menos) dificilmente passam. Ter conteúdo suficiente pra parecer um projeto maduro ajuda mais que qualquer ajuste técnico isolado.

Corrigir esses problemas garante a aprovação?
Não garante, mas remove os motivos mais comuns e mais fáceis de identificar de reprovação. A decisão final também depende de fatores que o Google não detalha publicamente.

Preciso remover todo o conteúdo antigo gerado por IA?
Não necessariamente remover, mas vale reler e reforçar qualquer post que tenha sido gerado a partir de pouca informação, do jeito que fiz com o pipeline de notícias.

Como sei se meu conteúdo tem os mesmos vícios de escrita que o meu tinha?
Releia procurando três coisas: travessão usado no lugar de vírgula ou dois pontos em excesso, perguntas que o próprio texto faz e responde na frase seguinte, e frases genéricas que poderiam estar em qualquer outro post sobre o mesmo assunto.

Tags
#adsense#seo#conteúdo gerado por ia#monetização#blog
● Não perca essa chance

Não perca a próxima edição.

Toda quinta, 9h. Direto na sua caixa.

  • Ferramentas que economizam horas do seu trabalho
  • Agentes e automações que funcionam
  • Bastidores do que estamos construindo

100% gratuito. Cancele quando quiser.

Compartilhar