Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

341
Vistas
¿Cómo eliminar la cadena de configuración regional del mapa del sitio para el idioma predeterminado en Next.js?

Muestro mi sitio web en dos idiomas: francés e inglés. Construí mi mapa del sitio y me di cuenta en lugar de tener en mi sitemap.xml esto:

 /blog /en-US/blog

Tengo :

 /fr-FR/blog /en-US/blog

Me gustaría eliminar la cadena fr-FR de mis mapas de sitio porque provoca una duplicación de la página que es mala para el SEO. ¿Cómo puedo hacer eso? También, ¿cómo indicar páginas canónicas en un XML?

Aquí está mi configuración i18n:

 i18n: { locales: ["fr-FR", "en-US"], defaultLocale: "fr-FR" }

Y mis getStaticPaths ven así:

 export async function getStaticPaths({ locales }) { const products = await fetchAPI(`/products`); const productsData = await products; const resProductsEn = await fetchAPI(`/products?${enTranslation}`); const productsDataEn = await resProductsEn; const paths = [] productsData.map((product) => paths.push( { params: { slug : product.slug} } )) productsDataEn.map((product) => paths.push( { params: { slug : product.slug}, locale: 'en-US'} )) return { paths, fallback: true }; }

Uso next-sitemap para generar mi sitemap - next-sitemap.config :

 module.exports = { siteUrl: process.env.FRONT_END_URL, generateRobotsTxt: true, exclude: [ '/test', '/commande', '/forgotten-password', '/reset-password', '/panier', '/mon-compte', '/mon-compte/*', '/fr-FR', ], robotsTxtOptions: { additionalSitemaps: [ `${process.env.FRONT_END_URL}/sitemap.xml`, `${process.env.FRONT_END_URL}/server-sitemap.xml`, `${process.env.FRONT_END_URL}/en-server-sitemap.xml` ] } }

Un ejemplo más concreto:

 <url><loc>https://www.website.com/fr-FR/questions-reponses</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2021-12-03T18:26:08.673Z</lastmod></url> <url><loc>https://www.website.com/en-US/questions-reponses</loc><changefreq>daily</changefreq><priority>0.7</priority><lastmod>2021-12-03T18:26:08.673Z</lastmod></url>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar la propiedad transform en next-sitemap.js para eliminar la configuración regional predeterminada de las rutas generadas.

 module.exports = { // Other `next-sitemap.js` config here transform: async (config, path) => { return { loc: path.replace('/fr-FR', ''), // Remove `/fr-FR` from paths - could get value from i18n config to make it dynamic changefreq: config.changefreq, priority: config.priority, lastmod: config.autoLastmod ? new Date().toISOString() : undefined, alternateRefs: config.alternateRefs ?? [] } } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda