Como este site foi feito
Este site é a nossa demonstração de trabalho. Aqui mostramos com o que ele foi construído, as decisões que tomamos e os números medidos nele. Cada número tem data e método; o que não foi medido não aparece.
O que usamos
- Astro 7.4.2 gera cada página como HTML pronto, antes de alguém acessar. Nenhum servidor monta a página a cada visita.
- Cloudflare Workers entrega os arquivos do site e recebe o formulário de diagnóstico, tudo no mesmo endereço.
- Cloudflare D1, um banco de dados da Cloudflare, guarda uma cópia do pedido enviado pelo formulário (veja a política de privacidade).
- Fonte Space Grotesk entregue pelo próprio site, sem pedir nada ao Google Fonts.
- Pouco JavaScript: o menu, o formulário, uma revelação suave ao rolar, feita com GSAP, e, no computador, linhas animadas no fundo do topo da página inicial, desenhadas com OGL, uma biblioteca pequena de gráficos. Cada animação é um arquivo à parte, baixado só depois que a página carrega e nunca para quem pediu menos movimento no aparelho; o fundo animado também não é baixado no celular nem com a economia de dados ligada. O texto das páginas está no HTML e aparece mesmo sem JavaScript.
As únicas dependências do projeto em produção são o Astro, a fonte, o GSAP e o OGL. O restante do código é nosso e está no mesmo repositório.
Decisões
- Segurança do navegador sem atalhos. A política de segurança (CSP) do site não usa
unsafe-inline: scripts e estilos só valem se vierem do próprio site, com uma exceção prevista para o script de medição de visitas da Cloudflare. Testes automáticos barram estilo e script escritos dentro do HTML. - Sem cookie de terceiros. Não usamos cookies de rastreamento nem pixel de anúncio. A medição de visitas é o Cloudflare Web Analytics, que, segundo a Cloudflare, não usa cookies nem armazenamento no navegador. Os detalhes estão na política de privacidade.
- Formulário com proteção simples. Um campo escondido para barrar robôs (honeypot) e um limite de envios por origem, guardado só como código derivado do IP, nunca o IP.
- Cada decisão por escrito. As escolhas estruturais, como onde publicar e como medir visitas, ficam registradas em documentos internos do projeto (ADR). Esses documentos não são publicados neste site.
Números medidos
Os números desta seção vêm de um arquivo gerado por script (site/metrics.json) e são lidos na hora de montar a página. Ninguém os digita à mão. Cada bloco traz a data da medição, porque o site muda e o número só vale para aquele dia.
Peso das páginas
Medido em nos arquivos gerados do site (27 páginas). A página inicial carrega 53,9 KB no total, sendo 4,9 KB de HTML, 5,0 KB de CSS, 4,7 KB de JavaScript, 38,6 KB de fontes e 0,6 KB de imagens. A mediana das páginas é 52,1 KB; a mais pesada é /sobre/, com 54,9 KB. Fora dessas contas ficam 58,4 KB de JavaScript das animações, baixados só depois que a página carrega e nunca para quem pediu menos movimento no aparelho.
Ver o peso de cada página
| Página | HTML | CSS | JS | Fontes | Imagens | Total |
|---|---|---|---|---|---|---|
/ | 4,9 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 53,9 KB |
/404.html | 2,4 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,8 KB | 51,5 KB |
/acessibilidade/ | 3,0 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,0 KB |
/como-este-site-foi-feito/ | 5,6 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 54,6 KB |
/contato/ | 2,5 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,4 KB |
/conteudo/ | 2,5 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,5 KB |
/conteudo/checklist-google-perfil/ | 3,2 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,1 KB |
/estudio/ | 2,9 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,9 KB |
/faq/ | 4,7 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 53,6 KB |
/instagram/ | 2,4 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,3 KB |
/obrigado/ | 2,5 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,5 KB |
/orcamento/ | 3,4 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,3 KB |
/portfolio/ | 2,8 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,8 KB |
/privacidade/ | 4,9 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 53,8 KB |
/processo/ | 3,5 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,4 KB |
/segmentos/ | 2,9 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,9 KB |
/segmentos/clinicas/ | 3,3 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,2 KB |
/segmentos/escritorios/ | 3,2 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,2 KB |
/servicos/ | 3,2 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,1 KB |
/servicos/ecommerce/ | 3,9 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,9 KB |
/servicos/essencial/ | 3,6 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,5 KB |
/servicos/ia-atendimento/ | 3,6 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,6 KB |
/servicos/landing-page/ | 3,1 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,0 KB |
/servicos/marketplace/ | 4,1 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 53,1 KB |
/servicos/seo-local/ | 3,1 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 52,0 KB |
/sobre/ | 5,9 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 54,9 KB |
/termos/ | 2,8 KB | 5,0 KB | 4,7 KB | 38,6 KB | 0,6 KB | 51,7 KB |
Acessibilidade automática (axe)
Medido em com o axe-core 4.14.0 (regras WCAG 2.2, níveis A e AA) em 27 páginas do site: nenhuma violação.
Teste automático cobre só uma parte dos critérios da WCAG. Veja o que ainda falta em Acessibilidade.
Lighthouse no celular
Medido em , em laboratório local: Lighthouse 13.6.0 no Chrome 155, emulação de celular com rede e processador simulados, servindo os arquivos do site em localhost (com compressão gzip, sem CDN). Cada valor é a mediana de 3 execuções.
| Página | Desempenho | Acessibilidade | Boas práticas | SEO | LCP | CLS | TBT |
|---|---|---|---|---|---|---|---|
/ | 100 | 100 | 100 | 100 | 0,9 s | 0,000 | 3 ms |
/servicos/ | 100 | 100 | 100 | 100 | 0,9 s | 0,000 | 0 ms |
/orcamento/ | 100 | 100 | 100 | 100 | 0,9 s | 0,000 | 0 ms |
/sobre/ | 100 | 100 | 100 | 100 | 0,9 s | 0,000 | 0 ms |
/como-este-site-foi-feito/ | 100 | 100 | 100 | 100 | 0,9 s | 0,000 | 9 ms |
- LCP
- Tempo até aparecer o maior conteúdo da tela. Quanto menor, melhor.
- CLS
- Quanto o conteúdo "pula" enquanto a página carrega. Zero é estável.
- TBT
- Tempo em que a página ficou ocupada demais para responder a um toque. É um indicador de laboratório, não o INP medido com visitantes reais.
Terceiros e cookies
Medido em por análise dos arquivos gerados (HTML, CSS e JavaScript): 0 requisições a domínios de terceiros e 0 pontos do código que grava cookie.
Essa análise só enxerga os arquivos do site. O script do Cloudflare Web Analytics é inserido pela própria Cloudflare na hospedagem e, por isso, não aparece nela.
O que esses números não mostram
- São medidas de laboratório: um computador, uma rede simulada. Visitantes reais, com aparelhos e conexões diferentes, podem ter outro resultado. Ainda não temos dados de visitantes reais.
- Em laboratório, o mesmo site pode ter notas um pouco diferentes de uma medição para outra, porque a carga do computador que mede também pesa. Por isso mostramos a mediana de várias execuções e não escolhemos a melhor.
- O peso é uma estimativa feita sobre os arquivos gerados. A compressão aplicada pela Cloudflare pode mudar os valores.
- Nota alta no Lighthouse e zero violação no axe não garantem que o site seja acessível nem que traga contatos.
- A data de cada medição está no bloco. O site publicado pode ter mudado depois dela.
Quer conferir?
Quem trabalha com código pode repetir as medições: depois de npm run build, o comando npm run metrics:full refaz o peso, o axe, o Lighthouse e a análise de terceiros e atualiza o arquivo que alimenta esta página. O Lighthouse não faz parte das dependências do projeto, então é preciso indicar onde ele está instalado (variável LIGHTHOUSE_BIN).
Quer ver os números do seu site?
No diagnóstico sem custo, olhamos o seu negócio na busca local e entregamos um relatório de 1 página com 3 ações (privacidade).