Saltar al contenido Saltar a la barra lateral

Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.

Problema:
El cliente intenta configurar WPML para que las URLs por idioma usen solo el código del país en lugar del código completo del idioma-región, pero WPML sigue generando los directorios con el prefijo completo (es-cl).
Solución:
1. Para modificar los códigos de idioma en las URLs, el cliente debe ir a WPML -> Idiomas -> Idiomas del sitio y hacer clic en 'Editar idiomas'. En la columna 'hreflang', puede intentar modificar estos valores. Más detalles en nuestra documentación oficial: https://wpml.org/documentation/getting-started-guide/language-setup/editing-wpmls-languages-table/
2. Si necesita establecer un código de idioma completamente personalizado sin utilizar los predefinidos, la recomendación es crear un idioma personalizado con el código deseado y luego duplicar el contenido desde el idioma existente al nuevo idioma personalizado. Para duplicar el contenido en lotes, siga los pasos en esta guía: https://wpml.org/es/documentation-2/traducir-los-contenidos/mostrar-contenido-no-traducido-en-lenguas-secundarias/#duplicating-content

Si esta solución no resuelve su problema o si la información parece desactualizada, le recomendamos abrir un nuevo ticket de soporte. También le sugerimos revisar los problemas conocidos en https://wpml.org/known-issues/, verificar la versión de la solución permanente y confirmar que tiene instaladas las últimas versiones de temas y plugins.

Este es el foro de soporte técnico de WPML, el plugin multilingüe de WordPress.

Todas las personas pueden leerlo pero solo los clientes de WPML pueden ingresar comentarios. El equipo de WPML responde en los foros 6 días a la semana, 22 horas por día.

Este tema contiene 3 respuestas, tiene 0 voices.

Última actualización por Carlos Rojas hace 2 semanas, 4 días.

Asistido por: Carlos Rojas.

Autor Publicaciones
octubre 29, 2025 a las 1:51 am #17527824

isabelV-6

Antecedentes del problema:
Estoy intentando configurar WPML para que las URLs por idioma usen solo el código del país en lugar del código completo del idioma-región. Por ejemplo, quiero que las rutas sean /cl/, /mx/, /co/, /ar/ en lugar de /es-cl/, /es-mx/, /es-co/, /es-ar/. He intentado modificar las tablas wp_icl_languages y wp_icl_locale_map, además de la opción icl_sitepress_settings y icl_language_code_aliases, pero WPML sigue generando los directorios con el prefijo completo (es-cl). Necesito saber cuál es la forma soportada por WPML para definir estos aliases o slugs personalizados para los idiomas sin romper las traducciones existentes. Link to a page where the issue can be seen: enlace oculto

Síntomas:
WPML sigue utilizando los códigos regionales (es-cl, es-mx, etc.) incluso después de aplicar cambios en base de datos y opciones. No encuentro en la interfaz del plugin una forma de modificar el slug del idioma ni de establecer un alias URL.

Preguntas:
¿Cómo puedo configurar WPML para que las URLs usen solo el código del país?
¿Cuál es la forma soportada por WPML para definir aliases o slugs personalizados para los idiomas?

octubre 29, 2025 a las 10:58 am #17528966

Carlos Rojas
Partidario de WPML desde 03/2017

Idiomas: Inglés (English ) Español (Español )

Zona horaria: Europe/Madrid (GMT+01:00)

Hola,
Muchas gracias por contactarnos

Para modificar estos valores debes ir a:
- WPML -> Idiomas -> Idiomas del sitio -> Hacer click en 'Editar idiomas'
- En la segunda columna de derecha a izquierda (hreflang) puedes modificar estos valores.

Aquí te dejo nuestra documentación oficial: https://wpml.org/documentation/getting-started-guide/language-setup/editing-wpmls-languages-table/

Saludos,
Carlos

octubre 29, 2025 a las 12:34 pm #17529412

isabelV-6

Hola, Carlos 👋
Gracias por la respuesta.

El ajuste de hreflang no resuelve mi caso. El hreflang solo indica a Google el idioma/región del contenido, no cambia el slug del idioma en la URL. Lo que necesito es modificar el prefijo del idioma en la URL, es decir que WPML genere /cl/ en lugar de /es-cl/.

Entiendo que el campo code en wp_icl_languages controla ese slug, pero no puede modificarse desde la interfaz.

¿Existe alguna forma soportada (mediante filtro o configuración interna) para cambiar el slug de idioma sin alterar el code principal, o al menos registrar un alias como /cl/ → /es-cl/ dentro de WPML?

Gracias desde ya 🙏

octubre 29, 2025 a las 12:39 pm #17529422

Carlos Rojas
Partidario de WPML desde 03/2017

Idiomas: Inglés (English ) Español (Español )

Zona horaria: Europe/Madrid (GMT+01:00)

Hola,
Muchas gracias por tu respuesta.

Desafortunadamente, no existe un hook para modificar el código de los idiomas en la URL. En este caso la recomendación es crear un idioma personalizado con el código deseado y luego duplicar el contenido desde el idioma que ya tienes al nuevo idioma personalizado. En el resumen de este ticket encontrarán la solución al mismo problema: https://wpml.org/forums/topic/how-to-change-language-url-format-code/

Para duplicar el contenido en lotes puedes seguir los pasos descritos en esta guía: https://wpml.org/es/documentation-2/traducir-los-contenidos/mostrar-contenido-no-traducido-en-lenguas-secundarias/#duplicating-content

Muchas gracias por tu comprensión!