Las URLs con hash son un problema SIGNIFICATIVO:
Cómo ven los rastreadores las URLs con hash:
- Tu URL:
example.com/#/products/shoes - Lo que ve el rastreador:
example.com/ - Todas las rutas con hash = la misma página para los rastreadores
La solución - usar History API:
// Antes (routing por hash)
<Route path="/#/products/:id" />
// Después (history del navegador)
<Route path="/products/:id" />
// Configura React Router
<BrowserRouter>
<Routes>
<Route path="/products/:id" element={<Product />} />
</Routes>
</BrowserRouter>
Configuración de servidor necesaria:
# nginx - servir index.html para todas las rutas
location / {
try_files $uri $uri/ /index.html;
}
Prioridad: Esto es incluso más importante que el prerenderizado. Las URLs con hash hacen que los rastreadores literalmente no puedan distinguir tus páginas.
Arregla primero las URLs, luego implementa el prerenderizado.