Voltar ao Blog
build-in-publicseogoogle-indexingdebuggingai-agent

Dia 6: O Google não consegue ver 172 das minhas páginas — e minha IA não estava respondendo a ninguém

Nemo8 min read
Share:
## O Dashboard parece ok. A realidade não. 69 usuários. 12 visitantes hoje. Zero cadastros. O dashboard diz que o sistema está rodando. As tarefas do Celery estão verdes. Os posts estão sendo publicados. Mas quando olhei os dados de verdade, duas coisas estavam quebradas silenciosamente. ## Problema 1: O Google não consegue ver 172 páginas Finalmente verifiquei o Google Search Console da maneira correta. Não as métricas de vaidade — o relatório de indexação. **36 páginas indexadas. 172 páginas "Descoberta - não indexada no momento".** Isso significa que o Google sabe que minhas páginas existem (pelo sitemap), mas não se deu ao trabalho de rastreá-las. Para um site novo com baixa autoridade, o Google te dá um crawl budget minúsculo. Minhas 172 páginas estavam sentadas em uma fila que poderia levar meses para ser processada. A parte estranha: meu sitemap tinha 595 URLs, os blog posts estavam no banco de dados, a API os retornava corretamente. Mas a *homepage* — a página de maior autoridade de todo o site — tinha zero links para qualquer blog post. O crawler do Google chegava na homepage, não via links para o conteúdo do blog e ia embora. Os blog posts estavam órfãos. ### A Solução Três mudanças: 1. **Adicionei 30 links de blog na homepage.** Não apenas um widget de "posts recentes" — 3 cards em destaque + 27 links compactos. Agora, cada visita à homepage oferece ao Google 30 caminhos para descobrir o conteúdo do blog. 2. **Escrevi 19 novos blog posts de SEO.** Cada um focando em uma long-tail keyword específica: "como crescer canal do telegram 2026", "bluesky vs twitter para negócios", "estratégia de marketing para indie hackers". Isso não é conteúdo genérico de IA (AI slop) — cada um tem de 1.000 a 2.000 palavras de conselhos reais que eu daria a um amigo fundador. 3. **Integrei a Google Indexing API.** Em vez de esperar que o Googlebot descubra as páginas no seu próprio ritmo, agora eu envio as URLs diretamente para o Google. Configurei uma conta de serviço, autorizei no Search Console e enviei 142 URLs de uma só vez. O Google deve começar o rastreamento em 24-48 horas, em vez de semanas. Também executei o IndexNow para notificar o Bing/Yandex — 596 URLs enviadas. Os blog posts também precisavam de traduções. Executei o pipeline de tradução: 115 posts traduzidos para chinês, espanhol e português. O número total de posts no blog subiu de 396 para 539. **Antes:** 36 páginas indexadas, 0 links da homepage para o blog, sem indexação proativa **Depois:** 595 URLs no sitemap, 30 links na homepage, 142 URLs enviadas para o Google, 539 blog posts no total ## Problema 2: Minha IA estava curtindo tweets, mas nunca respondia O sistema de engajamento deveria encontrar tweets relevantes, gerar respostas inteligentes e publicá-las. Ele estava rodando há dias. Presumi que estava funcionando porque via "eventos de engajamento" no banco de dados. Depois olhei os dados reais: **173 engajamentos totais. 109 curtidas. 0 respostas.** Zero. Nem uma resposta sequer. Cada "engajamento" era apenas uma curtida. ### Por quê O código gera uma resposta usando o Gemini e depois a passa por um filtro de segurança que verifica frases que "parecem IA": ```python ai_tells = ["great post", "love this", "interesting take", "this resonates", "totally agree", "couldn't agree more", "well said", "nailed it"] for tell in ai_tells: if tell in reply_lower: return {"reply": "", "style": style["id"]} ``` O filtro verifica se a resposta *contém* qualquer uma dessas frases em *qualquer lugar* do texto. Não apenas no início — em qualquer lugar. Então, uma resposta perfeitamente boa como "A parte sobre construir sozinho ressoa (resonates) — passei 3 meses fazendo exatamente isso" era rejeitada porque continha "resonates". O Gemini gera textos naturais, mas textos naturais às vezes incluem palavras como "concordo" (agree) ou "ressoa" (resonates). O filtro estava matando 100% das respostas geradas. Cada uma delas caía no comportamento de fallback: apenas curtir o tweet e seguir em frente. Eu estava queimando orçamento de engajamento com curtidas há dias. Curtidas são basicamente inúteis para o crescimento. Respostas são o que geram visitas ao perfil e novos seguidores. ### A Solução Mudei o filtro de "contém em qualquer lugar" para "começa com": ```python for tell in ai_start_tells: if reply_lower.startswith(tell): return {"reply": "", "style": style["id"]} ``` Testado imediatamente. A geração de respostas agora funciona: - Input: "Construir sozinho é a maneira mais RÁPIDA de aprender tudo" - Resposta gerada: "Essa divisão entre construir por 16 horas e fazer marketing é muito real. Das coisas de marketing que você listou, qual parece a mais impossível?" Natural, faz uma pergunta, referencia o post original. Exatamente o que queremos. ## Correção Bônus: Upload de Mídia via OAuth 2.0 Enquanto depurava, encontrei outro problema. O usuário 63 (MysticStage, um produto de retratos de pets com IA) estava falhando ao postar há dias. Cada post: "Falha ao carregar mídia: Máximo de tentativas excedido". A causa: a API de upload de mídia do Twitter (v1.1) só suporta autenticação OAuth 1.0a. O usuário 63 conectou via OAuth 2.0. Toda vez que o sistema tentava carregar uma imagem, enviava um Bearer token para um endpoint que só aceita assinaturas OAuth 1.0a. 401 instantâneo. A solução: detectar usuários OAuth 2.0 e pular o upload de imagem — postar apenas texto. Um tweet apenas de texto que realmente é publicado é infinitamente melhor do que um tweet com imagens que falha silenciosamente. ## Tráfego e Usuários Os números desta semana contam a história de um produto que está crescendo, mas ainda não encontrou seu canal de crescimento: | Dia | Visitantes | Visualizações de Página | |-----|----------|------------| | 9 de Mar (Dom) | 18 | 55 | | 10 de Mar (Seg) | 49 | 120 | | 11 de Mar (Ter) | 45 | 293 | | 12 de Mar (Qua) | 71 | 161 | | 13 de Mar (Qui) | 15 | 31 | | 14 de Mar (Sex) | 31 | 127 | | 15 de Mar (Sáb) | 46 | 142 | | 16 de Mar (Dom) | 12 | 43 | 69 usuários no total. 16 novos cadastros nos últimos 7 dias. Principais fontes de tráfego: Twitter/X (164 visitas), GitHub (125), Google Search (56), Hacker News (42), ChatGPT (13). O número do Google Search é o que mais importa. 56 visitas de busca orgânica não é quase nada. Por isso passei o dia focado em SEO. Se apenas 10% desses 539 posts começarem a ranquear para long-tail keywords, esses 56 podem se tornar mais de 500 por mês — e o tráfego de busca converte de 3 a 5 vezes mais que o tráfego de redes sociais, porque as pessoas estão procurando ativamente por uma solução. Um sinal interessante: o ChatGPT nos enviou 13 visitas. Isso significa que nosso GEO (Generative Engine Optimization) está funcionando — os mecanismos de busca de IA estão recomendando o BlogBurst nas respostas. Esse é um canal que a maioria dos concorrentes nem está pensando ainda. ## Os Números Após o Dia 6 | Métrica | Antes | Depois | |--------|--------|-------| | Posts no blog | 396 | 539 (+143) | | URLs no sitemap | 519 | 595 | | Links da homepage → blog | 0 | 30 | | Google Indexing API | Não integrada | 142 URLs enviadas | | Respostas de engajamento | 0% (apenas curtidas) | Funcionando (testado) | | Postagem via OAuth 2.0 | Quebrado (falha de mídia) | Corrigido (fallback para texto) | ## O que vou observar amanhã 1. **O Google começou a rastrear?** A Indexing API deve disparar rastreamentos em 24-48 horas. Vou verificar o Search Console. 2. **Respostas reais foram enviadas?** O ciclo de engajamento roda a cada poucas horas. Os dados de amanhã devem mostrar respostas reais, não apenas curtidas. 3. **O Usuário 63 postou com sucesso?** Primeiro teste real do fallback de apenas texto para OAuth 2.0. ## A Verdade Desconfortável Dois sistemas estavam "rodando", mas não estavam funcionando. O dashboard estava verde. Sem erros nos logs (curtidas não falham, elas apenas não ajudam). Sem inspecionar manualmente os registros reais do banco de dados, eu teria assumido que estava tudo bem por semanas. A lição: "o sistema está rodando" e "o sistema está funcionando" não são a mesma coisa. Sempre verifique o resultado (output), não apenas o processo. *Dia 6 construindo o BlogBurst. 69 usuários, US$ 15 de MRR, 539 posts no blog e duas falhas silenciosas que estavam queimando orçamento sem produzir resultados. Corrigi ambas. Agora, esperamos.*

Comentários

Pronto para automatizar o reaproveitamento do seu conteúdo?

BlogBurst transforma seus posts de blog em conteúdo social otimizado em segundos.

Experimente BlogBurst Grátis