[Feature Request] Problema con las importaciones y traducciones automatizadas
Este hilo está resuelto. Aquí tienes una descripción del problema y la solución.
Problema: Si estás ejecutando importaciones en diferentes idiomas usando cron jobs y luego asignando idiomas con WP-CLI en WPML, y notas que las URLs generadas tienen estructuras duplicadas como 'for-sale-fully-furnished-office-one-2', esto se debe a cómo WordPress maneja los slugs duplicados, no a un error de WPML. Solución: Es importante entender que el segmento '/en/' en la URL solo indica el idioma configurado por WPML y no afecta al slug del contenido. Si WordPress detecta un slug duplicado durante la importación, aplicará su lógica nativa para evitar duplicados añadiendo un sufijo como '-2'. Este comportamiento es independiente de WPML, que se encarga únicamente de la gestión multilingüe. Si deseas evitar este comportamiento, asegúrate de que los slugs sean únicos o diferenciados desde el origen antes de la importación.
Si esta solución no resuelve tu problema o si la información parece desactualizada, te recomendamos abrir un nuevo ticket de soporte. También es aconsejable revisar los problemas conocidos y confirmar que tienes instaladas las últimas versiones de los temas y plugins. Para más asistencia, visita nuestro foro de soporte.
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.
1- ejecuto el import en español con un cron.
2- ejecuto con otro cron el import en inglés.
3- Ejecuto WP-CLI para WPML Export and Import que es el que asigna los lenguajes.
Me está creando esta estructura en las urls: enlace oculto enlace oculto
Me dieron una solución temporal sin testear y me dijeron que lo iban a actualizar en la siguiente versión...¿algún avance con la nueva versión?
Gracias por el seguimiento. Por lo que vemos, esto ocurre antes de que WPML intervenga. El contenido se está importando con el mismo slug, por lo que es WordPress quien añade automáticamente el sufijo “-2” al final para evitar duplicados. En ese sentido, no se trata de un problema propio de WPML.
Sobre la mejora que comentas, sigue en fase de implementación. De momento no tenemos una fecha estimada de salida, ya que este tipo de cambios puede tardar desde algunas semanas hasta varios meses.
Quedo atento si necesitas que revisemos algún detalle adicional.
Gracias, precisamente para eso entiendo que está el plugin y el WPML Export and Import, para evitar que WordPress duplique los slugs y les agregue "-2" si no, que sentido tiene???? menuda respuesta permíteme decirte más absurda y poco profesional, este plugin es una autentica basura, falla por todas partes... y el soporte que dais es lamentable
Quiero aclararte el punto central para evitar confusiones: WPML Export and Import no fue diseñado para evitar que WordPress duplique slugs idénticos durante la creación del contenido. Su función principal es asignar y preservar la información de idioma y la relación entre contenidos importados, no alterar la lógica nativa de WordPress para la generación de slugs.
Por eso, en la práctica, este flujo funciona mejor cuando cada idioma se importa con un slug diferente desde el origen, que es también lo más habitual en sitios multilingües. La mayoría de usuarios traducen también el slug.
ya...entonces para que sirve crear en la url el "/en" ?? Con eso ya debería poder diferenciar una url en un idioma u otro...en fin, he visto miles de páginas en las que los slugs no se traducen, se mantienen y no se crea el "-2" para hacer las traducciones. Muchas de ellas webs de bienes y raíces como esta con el mismo theme ...igual, lo importante es que hay un error reportado desde hace tiempo y no hacen nada para solucionarlo..
Entiendo lo que comentas, pero aquí es importante separar dos cosas distintas dentro de la URL.
El segmento /en/ únicamente indica el idioma o la carpeta de idioma configurada por WPML. Eso no es el slug del contenido.
El slug, en tus ejemplos, sigue siendo:
for-sale-fully-furnished-office-one
Cuando WordPress intenta crear otro contenido con ese mismo slug dentro del mismo tipo de contenido, aplica su lógica nativa para evitar duplicados y por eso añade -2. Ese comportamiento ocurre en WordPress, antes de que WPML pueda intervenir en esa parte del proceso.
Por eso, esto no se considera un error de WPML. WPML es un plugin de WordPress y no reemplaza la lógica nativa con la que WordPress genera y valida slugs únicos durante la creación/importación del contenido.
WPML sí se encarga de la parte multilingüe: idioma, relaciones entre traducciones y contenido traducido. Pero si dos contenidos se crean con el mismo slug, la resolución de ese conflicto la sigue haciendo WordPress.
Sobre tu comentario de que has visto muchos sitios donde no aparece “-2”, eso puede pasar en flujos distintos, por ejemplo cuando la traducción se crea a partir del contenido original ya enlazado como traducción, o cuando el slug ya llega diferenciado desde el origen. En cambio, en un proceso de importación donde WordPress recibe dos entradas con el mismo slug, su comportamiento normal es evitar el duplicado añadiendo ese sufijo.
En resumen: /en/ no sustituye al slug ni evita la validación de duplicados de WordPress. Si los slugs no se traducen o no se diferencian desde el origen, WordPress los gestionará como duplicados y añadirá el sufijo correspondiente. Por tanto, no se trata de un fallo de WPML, sino del funcionamiento normal de WordPress.