URLs com hash são um problema SIGNIFICATIVO:
Como rastreadores veem URLs com hash:
- Sua URL:
exemplo.com/#/produtos/sapatos - O que o rastreador vê:
exemplo.com/ - Todas as rotas com hash = mesma página para rastreadores
A correção - use History API:
// Antes (roteamento por hash)
<Route path="/#/produtos/:id" />
// Depois (history do navegador)
<Route path="/produtos/:id" />
// Configurando React Router
<BrowserRouter>
<Routes>
<Route path="/produtos/:id" element={<Product />} />
</Routes>
</BrowserRouter>
Configuração do servidor necessária:
# nginx - servir index.html para todas as rotas
location / {
try_files $uri $uri/ /index.html;
}
Prioridade: Isso é ainda mais importante que a prerenderização. URLs com hash fazem com que rastreadores literalmente não distingam suas páginas.
Corrija as URLs primeiro, depois implemente a prerenderização.