O que é uma SPA e o que seu site ganha (e perde) com ela
Publicado em 2026-09-12 por frfrand
Una sola página que se reescribe sola: qué problema resuelve, por qué rompió el botón de atrás durante años, qué pasa con el SEO y cuándo conviene no usarla.

SPA significa Single Page Application: aplicativo de uma única página. O nome descreve o mecanismo, não a experiência.
Há um único documento HTML. Quando você navega, não é solicitada uma nova página: o JavaScript intercepta o clique, solicita os dados de que precisa e reescreve uma parte do que já está na tela.
Qual problema veio resolver
Na web clássica, cada clique descarta tudo e começa do zero. Isso é perfeito para ler artigos e é desconfortável para trabalhar.
Se você está em um painel com um filtro aplicado, um painel lateral aberto e um formulário pela metade, cada navegação completa apaga todo esse contexto. As SPAs surgiram para que a web se parecesse mais com um aplicativo de desktop, onde o estado sobrevive.
O que se ganha
Navegação sem piscar. Uma vez carregada, mudar de seção é instantâneo: viaja apenas um JSON pequeno, não um documento inteiro.
O estado sobrevive. Um reprodutor que continua tocando enquanto você navega, um carrinho que não se perde, um filtro que permanece aplicado.
O servidor envia menos. Retorna dados, não HTML. Isso mesmo serve para o aplicativo móvel sem duplicar nada.
O que se paga
A primeira carga. É necessário baixar o JavaScript e executá-lo antes de ver algo. Em uma conexão boa são milissegundos; em um telefone antigo com rede lenta podem ser vários segundos de tela em branco.
Você se encarrega do navegador. Tudo o que o navegador fazia de graça passa a ser sua responsabilidade: o botão de voltar, o histórico, o título da aba, o deslocamento ao mudar de tela, os estados de carregamento e de erro.
Durante anos as SPAs tiveram má fama justamente por isso: quebravam o botão de voltar. Hoje os roteadores resolvem bem isso, mas continua sendo algo que se tem que fazer de propósito.
O conteúdo não está no HTML. Isso afeta duas coisas distintas que se confundem:
- Mecanismos de busca: o Google executa JavaScript e indexa igual, embora mais lento. Não é o desastre que era.
- Visualizações ao compartilhar: aqui sim dói. Quando você cola um link em um chat ou rede social, o que gera o cartão quase nunca executa JavaScript. Se o seu título e sua descrição são colocados pelo script, a visualização fica vazia. É o problema mais comum e o menos antecipado.
A solução que quase todo mundo usa
Prerenderizar: gerar, no momento de publicar, uma versão HTML de cada rota pública com seu título, sua descrição e seu conteúdo.
Os visitantes recebem a SPA completa e continuam tendo a navegação instantânea. Os mecanismos de busca e os geradores de visualização recebem HTML real. Não é preciso escolher.
É exatamente o que fazemos no site da ArduMaker: cada rota pública é pré-renderizada ao compilar, e a aplicação é montada por cima quando o navegador termina de carregar.
Quando não convém
Se o seu site é conteúdo que se lê (um blog, uma documentação, uma landing page), a SPA adiciona complexidade sem benefício. Um site estático gerado ao publicar é mais rápido, mais barato e mais difícil de quebrar.
A regra simples: se as pessoas leem, não é necessário uma SPA. Se as pessoas trabalham dentro dele, provavelmente sim.

