{"section":"known-issues","requestedLocale":"es","requestedSlug":"el-enlace-canonico-conserva-la-barra-diagonal-final-de-la-url-solicitada-en-las-rutas-declaradas-en-el-archivo-routesjson-del-tema","locale":"es","slug":"el-enlace-canonico-conserva-la-barra-diagonal-final-de-la-url-solicitada-en-las-rutas-declaradas-en-el-archivo-routesjson-del-tema","path":"docs/es/known-issues/Store Framework/el-enlace-canonico-conserva-la-barra-diagonal-final-de-la-url-solicitada-en-las-rutas-declaradas-en-el-archivo-routesjson-del-tema.md","branch":"main","content":">ℹ️ Este problema conocido ha sido traducido automáticamente del inglés.\n\n## Sumario\n\nEn las páginas de Store Framework cuya ruta se declara únicamente en el archivo `store/routes.json` del tema (sin `canonical` definido), el `<link rel=\"canonical\">` se construye a partir de la URL solicitada, incluyendo la barra diagonal final. Tanto `/my-page` como `/my-page/` devuelven un código 200 y cada una se declara como canónica:\n\n- `/my-page` devuelve `<link rel=\"canonical\" href=\"https://store.example.com/my-page\"/>`\n\n- `/my-page/` devuelve `<link rel=\"canonical\" href=\"https://store.example.com/my-page/\"/>`\n\nPor lo tanto, la etiqueta canónica no consolida las dos URL, y los motores de búsqueda pueden indexarlas como duplicadas. Las páginas de productos y categorías no se ven afectadas (su etiqueta canónica se normaliza sin la barra diagonal).\n\n## Simulación\n\n1. En un tema de Store Framework, declara una ruta en store/routes.json sin una etiqueta `canonical`, por ejemplo:\n\n2. Publica y abre la página.\n\n3. Solicita la página con y sin barra diagonal al final y lee la etiqueta `canonical`: `curl -s https://<store>/my-page | grep -o '<link[^>]*rel=\"canonical\"[^>]*>'` y `curl -s https://<store>/my-page/ | grep -o '<link[^>]*rel=\"canonical\"[^>]*>'`.\n\n4. Resultado esperado: la misma etiqueta `canonical` para ambas (sin la barra diagonal al final). Resultado real: cada respuesta muestra la ruta solicitada.\n\n## Workaround\n\nDeclara la ruta en el archivo `store/routes.json` del tema con una barra diagonal final opcional en `path` y una barra diagonal explícita sin ella:\n\n\"store.custom#my-page\": \\{ \"path\": \"/my-page(/)\", \"canonical\": \"/my-page\" \\}\n\nCon esto, tanto `/my-page` como `/my-page/` devuelven un código 200 y declaran `https://store.example.com/my-page` como la ruta canónica. Establecer `canonical` igual a `path` es rechazado por la compilación, por lo que se necesita la barra diagonal opcional."}