inemaSEO · 5 ferramentas locais · MIT

O Semrush aberto do seu próprio site

Cinco ferramentas de linha de comando que rodam no seu computador, só com Python, sem API paga e sem conta em serviço nenhum além do Search Console e do Bing Webmaster, que são grátis.

Banner: Semrush aberto do seu próprio site — 5 ferramentas locais, sem API paga
Em resumo

O inemaseo-sistemas é um conjunto de cinco programas gratuitos para cuidar do SEO (como o site aparece no Google e nas IAs) do seu próprio site. Serve para quem tem um site e quer saber o que está quebrado, quem te encontra, quais robôs de IA leem as páginas e se o site está pronto para agentes de IA. Tudo roda no seu computador, com o Python 3.10 ou mais novo, usando só dado grátis: o site, o log do servidor e os arquivos que o Search Console e o Bing Webmaster deixam baixar.

O que é

Cinco perguntas, cinco ferramentas

Cada ferramenta responde uma pergunta, lê um dado que você já tem e entrega um relatório HTML (padrão INEMA) mais JSON e CSV para outra ferramenta ler.

Banner: o Semrush aberto do seu site, com as cinco ferramentas gsc-historico, bing-ia, botlog, auditor e agente-ready
1

📈 gsc-historico

Quantas buscas sem a sua marca te acharam, semana a semana, para sempre. O Search Console só guarda 16 meses; aqui fica num banco SQLite que nunca apaga.

Dado: CSV do gsc_semanal.py (Search Console)

2

💬 bing-ia

Quais páginas o Copilot e o Bing citaram em respostas de IA e se elas também têm clique no Google. As consultas da IA que você ainda não cobre viram ideias de conteúdo.

Dado: export do relatório AI Performance do Bing Webmaster

3

🤖 botlog

Quais robôs de IA leram o site de verdade, separados por finalidade (busca, pedido do usuário, treino), e quais são falsos, com o IP conferido nas listas oficiais.

Dado: log de acesso do seu servidor + listas oficiais de IP

4

🩻 auditor

O que está quebrado no HTML que o servidor entrega: canônico, hreflang, sitemap, robots.txt por finalidade de robô de IA, bloqueio de CDN, páginas órfãs. Cada achado com uma linha de "como corrigir".

Dado: o seu site, rastreado com educação

5

🎯 agente-ready

Nota de 0 a 100 de prontidão para IA e agentes, com pesos públicos em pesos.json: dá para discordar, mudar e comparar. Inclui WebMCP (document.modelContext).

Dado: o seu site

✓

🧾 Nada inventado

Nome de robô, IP oficial, coluna de CSV e regra do Google só entram com fonte (link no README de cada ferramenta). Onde não há fonte, está escrito [a confirmar].

Licença: MIT · só biblioteca padrão do Python

Como funciona

Dado grátis entra, relatório sai

Nada vai para a nuvem. Você aponta a ferramenta para um arquivo ou para o endereço do site, ela trabalha no seu computador e grava os resultados numa pasta.

Seu dado grátis→ Ferramenta local (Python)→ relatorio.html+ JSON / CSV→ Próxima ferramenta

Arquivos que você baixa

Os CSV semanais do Search Console entram no gsc-historico. O CSV do AI Performance entra no bing-ia, que cruza com o banco do gsc-historico.

Log do servidor

O botlog lê nginx/Apache (combined, inclusive .gz) e Cloudflare Logpush. Antes de compartilhar, o comando filtrar deixa só as linhas de robô com IP oficial (LGPD).

O próprio site

O auditor e o agente-ready leem o HTML como um robô que não roda JavaScript: só GET, pausa de 1 s, respeitando o robots.txt. O agente-ready importa o núcleo do auditor.

Pré-requisitos

O que precisa ter

Para o auditor e o agente-ready basta o Python e a internet. As outras três pedem um arquivo seu.

Python 3.10+ e git

Só biblioteca padrão: não tem pip install.

python3 --version
git clone https://github.com/inematds/inemaseo-sistemas
cd inemaseo-sistemas

Search Console e Bing

Para o gsc-historico: os CSV do gsc_semanal.py (repositório inemaseo-metodo). Para o bing-ia: o CSV exportado do AI Performance no painel do Bing Webmaster (não existe API para esses dados).

Log de acesso

Para o botlog: o access log do seu nginx/Apache ou o JSON do Cloudflare Logpush. Leitura só, por exemplo:

ssh root@SEU_SERVIDOR 'cd /var/log/nginx; zcat -f access.log.*.gz; cat access.log.1 access.log' > /tmp/site.log
Guia de uso · passo a passo

Do clone ao primeiro relatório

Os comandos abaixo rodam a partir da raiz do repositório. Toda ferramenta tem --help em português e um README com todas as opções.

1

Audite o HTML do seu site

Rastreia até 50 páginas (mude com --max) e grava relatorio.html, auditoria.json, achados.csv e paginas.csv. No terminal, o resumo e os 5 primeiros achados críticos/importantes.

python3 ferramentas/auditor/auditor.py https://seusite.com --max 50 --saida saida/auditor
python3 ferramentas/auditor/auditor.py https://usuario.github.io/repo/guia/ --max 20   # só a pasta do guia
2

Tire a nota para IA e agentes

Lê a home e 4 páginas do sitemap (mude com --paginas), umas 10 a 25 requisições. Saída: relatorio.html, agente-ready.json e criterios.csv. Critério que não se aplica sai da conta, não vira falha.

python3 ferramentas/agente-ready/agente-ready.py https://seusite.com --saida saida/agente-ready
python3 ferramentas/agente-ready/agente-ready.py https://seusite.com --paginas 8
3

Guarde o Search Console para sempre

Importe a pasta de CSV (reimportar não duplica) e gere o relatório da semana: marca × sem marca × anônimas, consultas que subiram e caíram, pauta (consulta nova sem página dona) e páginas com impressão e 0 clique.

python3 ferramentas/gsc-historico/gsc_historico.py importar exemplos/gsc-historico/entrada --db dados/gsc.sqlite
python3 ferramentas/gsc-historico/gsc_historico.py relatorio --db dados/gsc.sqlite --site inema.club --saida saida/inema.club
4

Veja onde a IA do Bing te cita

Importe os CSV do AI Performance e cruze com o banco do gsc-historico. Se a ferramenta não reconhecer as colunas, ela pede o mapa com --colunas (a Microsoft não documenta o export).

python3 ferramentas/bing-ia/bing_ia.py importar exemplos/bing-ia/entrada/*.csv --db dados/bing.sqlite
python3 ferramentas/bing-ia/bing_ia.py relatorio --db dados/bing.sqlite --gsc-db dados/gsc.sqlite --site inema.pro --saida saida/inema.pro
5

Descubra quais robôs leem o site

Analise o log (vários arquivos, .gz incluso). Com --sitemap, mostra também as páginas que nenhum robô conseguiu ler. Antes de mostrar ou publicar um log, use filtrar.

python3 ferramentas/botlog/botlog.py analisar /tmp/site.log --sitemap https://seusite.com/sitemap.xml --saida saida/site
python3 ferramentas/botlog/botlog.py filtrar /tmp/site.log --saida /tmp/so-robos.log   # só robôs com IP oficial
6

Rode os testes

Os testes não usam rede: o auditor e o agente-ready testam contra um site falso em tests/fixtures/.

for t in ferramentas/*/; do [ -d $t/tests ] && python3 -m unittest discover -s $t/tests; done
Achados reais · 19/10/2026

O que as ferramentas acharam nos sites do INEMA

Os exemplos do repositório foram gerados de verdade em 19/10/2026, só com GET em sites públicos do INEMA. Cada relatório abre no navegador.

agente-ready · real

Nota de prontidão para IA e agentes (0–100)

inema.club93
news.inema.pro72
eventos.inema.pro69
guia rea-engenharia-reversa54

Nos três últimos, a categoria entidade ficou em 0 (sem Organization/Person com @id no JSON-LD) e WebMCP em 29 (nenhuma ferramenta registrada). O inema.club registra ferramenta WebMCP e tirou 100 nessa categoria. · inema.club · eventos · news · guia REA

auditor · real

inema.club

50 páginas

1 achado importante: 2 páginas de curso com menos de 80 palavras no HTML entregue (77 e 78). Nas melhorias: 28 títulos fora da faixa de 15–65 caracteres (faixa prática, não regra do Google) e uma entidade sem @id.

abrir relatório

auditor · real

eventos.inema.pro

0 críticos

Nenhum achado crítico ou importante em 50 páginas. 4 melhorias: títulos longos, títulos repetidos, mais de um H1 e páginas sem JSON-LD.

abrir relatório

auditor · real

guia no GitHub Pages

2 importantes

No guia rea-engenharia-reversa: sitemap não encontrado e 3 páginas sem link canônico. O robots.txt de github.io pertence a outro repositório.

abrir relatório

gsc-historico · real

inema.club, semana 05–11/10

157

impressões de buscas sem a marca, com 0 clique (de 702 impressões no total). O relatório tirou 18 consultas para a pauta e 5 páginas com impressão e nenhum clique.

abrir relatório

botlog · real

desenho.inema.pro

8 de 3.082

linhas do log de 05 a 19/10 eram de robô com IP oficial: GPTBot (4), ClaudeBot (2) e OAI-SearchBot (2). O resto (pessoas, scanners, curl) saiu pelo filtrar.

abrir relatório

bing-ia · fictício

Exemplo rotulado

O exemplo do bing-ia usa CSV com números inventados (as URLs são reais do inema.pro), cruzados com o banco real do gsc-historico. Os nomes das colunas são palpite [a confirmar] com um export real.

abrir relatório

Limite honesto

O que dá e o que não dá para fazer de graça

O repositório não promete o que o dado grátis não entrega. O que exige dado pago fica fora dele, como opção.

Dá, com estas 5 ferramentas

  • ✓Auditoria técnica do HTML entregue
  • ✓Histórico do Search Console sem o limite de 16 meses
  • ✓Citações oficiais da IA do Bing
  • ✓Robôs de IA no log, com falsos separados
  • ✓Nota de prontidão para agentes, com pesos públicos

Não dá sem dado pago

  • ✕Volume exato de busca e dificuldade de palavra-chave
  • ✕SERP de concorrente
  • ✕Backlinks completos
  • ✕Monitor automático das respostas das IAs

Para isso existem DataForSEO, Firecrawl, Apify, Semrush e Ahrefs: opcionais, fora deste repositório. Comparativo em docs/ESPEC.md.

Amostra, não o site inteiro

Com --max 50 num site de mil URLs, "órfã" quer dizer "sem link de entrada nas 50 páginas lidas". O agente-ready lê a home e 4 páginas: é um termômetro.

Log não é citação

O log mostra quem pediu a página, não se a IA usou o conteúdo numa resposta. Para citação, o bing-ia. Atrás de CDN, use o log da CDN.

Só o que o robô vê

Nada roda JavaScript, de propósito. O auditor não mede velocidade (Core Web Vitals) nem backlinks.

Curso relacionado

Aprenda a usar no inemaSEO

O inemaseo-sistemas faz parte do inemaSEO e é a base do curso 7 da Formação inemaSEO.