Validador Front
Plataforma de auditoria tecnica de SEO — Blan Digital
Atualizacoes Recentes
- Remocao das metricas obsoletas: TBT, Speed Index, TTI, Render Blocking Resources, Unused JS/CSS (nao coletaveis via CDP)
- Color Contrast melhorado: calculo real de luminancia WCAG AA (threshold 4.5:1 / 3:1 para texto grande)
- Hreflang melhorado: valida formato dos tags quando presentes (xx, xx-XX, x-default)
- Structured Data: coleta implementada (JSON-LD, Microdata, RDFa) — antes estava ausente
- Fix imagens: regex aceita query strings (?v=123), filtro de hostname aceita CDN (subdominio do mesmo dominio)
- Fix dead code: imagens extraidas do HTML nao eram salvas (return antes do bloco de imagens)
- Pagina HTML Viewer redesenhada: preview mobile (Nexus 5X 412x732) + source code com line numbers
- Lighthouse removido completamente — 23 audits agora coletados via CDP sem dependencia externa
- Browser persistente: reutiliza entre ciclos, elimina overhead de launch (~2-3s)
- 5 abas simultaneas, 1 URL por site diferente (evita bloqueio por WAF/firewall)
- Controle de acesso (userCanAccessSite) adicionado em 20+ endpoints
- Fix: EditUserController usa req.user_id em vez de body (seguranca)
- Fix: SearchConsoleController usa req.user_id para getConnection/disconnect/listProperties
- Fix: RenderService retornava true no catch (causava loop de 30s infinito)
- Fix: CreateHtmlService e CreateCrawlabilityService usam prisma upsert (elimina race condition)
- Fix: CreateImageService upsert por url_id (removido @unique de Image.name)
- Pagina /admin/status com monitoramento em tempo real (DB, browser, queues, memoria, render progress)
- Sistema de Toast global para feedback de erros
- Skeleton loaders nas paginas admin
- ConfirmModal reutilizavel (substitui window.confirm)
- Connection pool MySQL aumentado de 3 para 20
- Indexes adicionados: Url(site_id, rendered), Url(lastScan), Url(contentType), Html(lighthouseAuditedDate)
- Fix setImmediate em sitemap/crawler jobs (causava loop sem delay)
- Logs dos jobs padronizados em ingles (fix encoding UTF-8 no Windows)
- Protocol timeout aumentado para 60s (paginas pesadas de e-commerce)
- Metricas de performance, acessibilidade e SEO coletadas diretamente via CDP durante o render
- Render otimizado: 3 abas paralelas, ciclo de 30s, ~600 URLs/hora
- Botao 'Recalcular Scores' na listagem e detalhe de projetos
- Selecao multipla nas tabelas com acoes em massa (delete, re-render)
- Delete de URL remove da tabela sem recarregar a pagina inteira
- Suporte a sitemap index (sitemaplist) — extrai child sitemaps automaticamente
- Sistema de agencias multi-tenant com isolamento de dados
- Painel admin: dashboard, gerenciamento de agencias, sites e usuarios
- Validacao de limites maxUsers/maxSites por agencia
- Correcoes criticas: Puppeteer OOM, null safety, stack overflow nos jobs
- Grafico de evolucao de scores (30 dias, 1 ponto por dia)
- Purge automatico de snapshots com mais de 30 dias
- Crawler com gerenciamento de robots.txt
- Mapeamento de redirects DE-PARA para migracoes de site (CSV export)
- Integracao com Google Search Console via OAuth
Funcionalidades Futuras
Metricas Analisadas
Cada URL do seu site e analisada em multiplas dimensoes. Entenda o que cada metrica avalia e por que ela importa.
QA Page
Avalia a qualidade basica do HTML: presenca de titulo, descricao, canonical, headings (H1 unico) e botoes com nome acessivel.
Por que importa: Sao os fundamentos que os motores de busca usam para entender e indexar sua pagina. Um titulo ausente ou duplicado pode fazer o Google ignorar sua pagina nos resultados.
Mobile
Verifica se as fontes sao legiveis em dispositivos moveis e se os alvos de toque (botoes, links) tem tamanho adequado.
Por que importa: O Google usa mobile-first indexing. Se seu site nao e usavel no celular, ele perde posicoes. Fontes menores que 12px e botoes pequenos prejudicam a experiencia.
Crawlability
Verifica se a pagina e rastreavel pelos bots (meta robots, X-Robots-Tag) e se os links internos sao rastreavies (sem nofollow desnecessario, sem javascript-only links).
Por que importa: Se o Googlebot nao consegue rastrear sua pagina, ela nao aparece nos resultados. Links quebrados ou bloqueados desperdicam o crawl budget.
Image Tags
Analisa se as imagens possuem atributos alt, title, e dimensoes (width/height) definidas.
Por que importa: Imagens sem alt perdem oportunidades no Google Images e prejudicam acessibilidade. Sem width/height, causam layout shift (CLS) que afeta Core Web Vitals.
Social Tags
Verifica a presenca e validade das Open Graph tags (og:title, og:description, og:image, og:url, og:type) e Twitter Cards.
Por que importa: Quando alguem compartilha sua pagina no Facebook, LinkedIn ou Twitter, essas tags controlam como ela aparece. Sem elas, a preview fica quebrada ou vazia.
Performance
Mede Core Web Vitals (LCP, CLS) e metricas complementares: FCP, TTFB (Server Response Time), DOM Size e Total Byte Weight. Coletadas via CDP durante a renderizacao.
Por que importa: Performance e fator de ranking direto no Google. Paginas lentas tem maior taxa de abandono. LCP > 2.5s e CLS > 0.1 sao considerados ruins pelo Google.
DataLayer
Verifica a implementacao do dataLayer para e-commerce: eventos view_item e view_item_list, presenca de campos obrigatorios (item_id, item_name, price, brand, category).
Por que importa: Um dataLayer correto e essencial para que o Google Analytics 4 e o Google Ads rastreiem conversoes e atribuam receita corretamente.
Acessibilidade
Contraste de cores (WCAG AA com calculo de luminancia relativa, threshold 4.5:1 para texto normal e 3:1 para texto grande), ordem logica de headings, atributo lang no HTML, labels em formularios, e nomes acessiveis em botoes.
Por que importa: Alem de ser uma obrigacao legal em muitos paises, acessibilidade melhora a experiencia de todos os usuarios e e um sinal positivo para o Google.
SEO Avancado
Link-text descritivo (detecta textos genericos como 'clique aqui'), hreflang com validacao de formato, e structured data (JSON-LD, Microdata, RDFa).
Por que importa: Links com texto generico perdem contexto semantico. Hreflang com formato invalido causa problemas de indexacao internacional. Schema markup habilita rich snippets nos resultados de busca.