Auditoria em lote de meta descriptions com dashboard visual, export CSV e comparação de CTR no Google Search Console (dois períodos). Projeto desenvolvido no contexto da FGV EAESP / DICOM — esta é a versão de portfólio, sem credenciais nem URLs operacionais reais.
GitHub: https://github.com/Tonksinho/auditor-seo-meta-streamlit-python
| Antes | Depois |
|---|---|
| Checagem manual URL a URL | Upload de planilha → auditoria em streaming (SSE) |
| Meta ausente ou fora do padrão sem visão agregada | Dashboard com filtros, KPIs e export por status |
| Impacto de correções difícil de medir | Cruzamento GSC: período A vs B com variação de CTR |
Demo: use data/sample/auditoria_demo.csv ou urls_demo.txt com URLs fictícias.
| Camada | Ferramenta |
|---|---|
| Backend | Flask, Server-Sent Events |
| Coleta HTML | Scrapling (Fetcher) |
| GSC | Google Search Console API (service account) |
| Frontend | Tailwind CSS, JavaScript vanilla |
| Dados | pandas, openpyxl |
git clone https://github.com/Tonksinho/auditor-seo-meta-streamlit-python.git
cd auditor-seo-meta-streamlit-python
pip install -r requirements.txt
iniciar.batAbra http://127.0.0.1:5000 — não abra o HTML direto no navegador (isso causa Failed to fetch).
- Copie
secrets/gsc_service_account.example.json→secrets/gsc_service_account.json - Preencha com sua service account (com acesso à propriedade no Search Console)
- Reinicie o servidor
auditor-seo-meta-streamlit-python/
├── app/
│ ├── auditor/ # Rotas auditoria + GSC compare
│ ├── writer/ # Módulo em desenvolvimento
│ └── services/ # Scrapling + GSC client
├── templates/index.html # UI principal
├── data/sample/ # CSV e URLs demo
├── secrets/ # Credenciais locais (gitignored)
├── iniciar.bat
└── run.py
- Service account real (
gsc_service_account.json) - Checkpoints e merges de auditorias de produção
- Listas de URLs internas da FGV
SSE para progresso — o usuário vê cada URL sendo auditada sem polling.
Writers GSC desacoplados — compare em dois períodos reutiliza o mesmo client; credencial só via secrets/ ou env.
Health check — GET /api/health detecta servidor offline e evita mensagem genérica Failed to fetch.
Produção usa credenciais e listas reais em ambiente local/privado — não incluídas aqui.