Una de las formas más sencillas que existen de conseguir más tráfico orgánico es traducir una web.
Es lógico: más URL, más intenciones de búsquedas, si el contenido es bueno te trae más tráfico.
Claro, hacerlo con IA parece fácil. Y lo es en web pequeñas.
En web medianas y grandes la cosa se complica, por lo menos si intentas hacerlo bien.
Porque no se trata solo de coger un artículo en español, pegarlo en ChatGPT y pedir cinco versiones.
Eso sirve para una prueba, pero una web real tiene categorías, etiquetas, SEO, imágenes, campos personalizados, enlaces internos, menús, páginas de archivo, portadas, slugs, fechas, hreflang y estructura editorial.
Por no hablar de que dentro de cada artículo hay negritas, listas, cursivas que es ideal mantener en la traducción.
Y todo tiene que estar traducido.
Lo que he hecho esta semana en mi web ha sido construir un sistema para pasar de una web en español a una web multilingüe en diez idiomas: (inglés, francés, portugués, italiano, alemán, holandés, sueco, polaco y noruego) usando el plugin Polylang, uno de desarrollo propio y un par de GPTs personalizados.
El resultado es que ya tengo la web en diez idiomas con toda la estructura de categorías y etiquetas y varios artículos publicados traducidos.
Y con un sistema que añade entre 5 y 10 minutos de carga extra a cualquier artículo en español para tenerlo traducido en estos diez idiomas, lo que me parece un tiempo más que razonable.
Te cuento todo el proceso por si quieres repetirlo.
Índice de Contenidos del Artículo
- 1. El problema inicial: traducir artículos no era suficiente
- 2. La base: WordPress, Polylang y copia local
- 3. El sistema: plugin propio más GPTs
- 4. El contenido ya creado: poco a poco
- El resultado
- Aprendizajes del proceso y conclusión
- Preguntas frecuentes
- ¿Se puede traducir una web completa con IA?
- ¿Qué necesito para traducir una web de WordPress a varios idiomas?
- ¿Por qué no basta con copiar un artículo en ChatGPT y pedirle que lo traduzca?
- ¿Qué papel tiene Polylang en este sistema?
- ¿Qué aporta un plugin propio en este proceso?
- ¿Cuánto tiempo se tarda en traducir un artículo a varios idiomas con este sistema?
- ¿Es mejor usar GPTs personalizados o la API?
- ¿La IA puede traducir bien los slugs y los metadatos SEO?
- ¿Cuál es el mayor riesgo al traducir una web con IA?
- ¿Merece la pena montar un sistema así para una web pequeña?
1. El problema inicial: traducir artículos no era suficiente
Cuando me puse a analizar el desarrollo, descubrí que en mi caso, más allá de los artículos en sí, tenía que traducir todo esto:
- Categorías.
- Etiquetas.
- Slugs.
- Metadescripciones.
- Títulos SEO.
- Imágenes destacadas.
- Textos alternativos.
- Campos ACF.
- Bloques internos.
- Enlaces entre artículos.
- Páginas de archivo.
- Textos fijos del tema.
- Módulos de portada.
- CTAs.
- Formularios.
- Tablas de contenidos.
- Artículos relacionados.
- Mantener fechas y notas.
- …
Muchos copies ahí y muchos idiomas como para hacerlo de uno en uno.
Pero había que traducirlo, porque si cualquiera de esas piezas queda en español, la traducción queda a medias.
Por eso el objetivo no era “traducir contenido”, sino crear una arquitectura multilingüe completa y escalable, por si mañana quiero añadir más idiomas.
Que, de hecho, es lo que pasó: empecé solo con cinco (inglés, portugués, francés, alemán e italiano) y le añadí los otros cuatro sobre la marcha. Y de paso comprobé que el sistema me permitía escalar lo que necesitara.
2. La base: WordPress, Polylang y copia local
El proyecto parte de una web WordPress con tema Genesis, diseño propio tipo revista y varias plantillas personalizadas.
Al ser algo de cierto calado y que iba a requerir de muchas pruebas, trabajé con una copia local usando LocalWP. La idea era poder romper cosas sin miedo, probar imports, revisar taxonomías y validar que Polylang enlazaba bien cada traducción.
Por cierto, usé este plugin como base porque ya genera todo lo necesario para tener un sitio en varios idiomas. A partir de él, creé mi plugin complementándolo y adaptándolo a lo que yo necesitaba, que era crear la estructura web y los artículos en varios idiomas de forma rápida.
También en esta primera fase optimicé LocalWP porque al principio el entorno iba demasiado lento y necesitaba uno donde exportar, importar, borrar, repetir y validar de forma fluida..
3. El sistema: plugin propio más GPTs
Podría haber usado una solución estándar de traducción automática, pero el objetivo era otro.
Traducción sencilla de cada post
Con la traducción de los post fui MUY ambicioso ya que quería un sistema en el que GPTs creados para esto tradujeran el contenido de cada post manteniendo:
- Mi estilo personal.
- La misma estructura del artículo original.
- Títulos oficiales de películas, series o libros en cada idioma (es decir, que si la obra es en español, la traducirla cogiera el título con el que se estrenó en Italia, por ejemplo.
- Slugs limpios.
- Alt de imágenes traducidos.
- Yoast con campos completos traducidos, incluyendo description.
- Campos ACF personalizados, que pudiera elegir yo si se exportan o no, o si se traducen o se quedan como estaban (como por ejemplo, la nota que le doy a cada obra en mis reseñas).
- Fragmentos HTML sin romperlos: listas, negritas, bloques de código… que se mantuviera y se quedaran sin traducir las partes necesarias (como los scripts de codigo).
- Enlaces internos de los artículos: que apuntaran a la URL de cada idioma, no siempre a la original.
- Fecha de publicación: se tiene que mantener la original del post en castellano.
Como ves, la lógica que hay detrás de esto no es “traducir y ya”. Hay muchas pruebas detrás e incluso algún descarte, como el schema que, de momento, solo va en español.

Y, además, quería que fuera un sistema gratuito, usando GPTs en vez de la API de OpenAI o Claude. Más manual, pero menos coste.
La solución que adopté incluye estos pasos:
- Publico un artículo en castellano de forma habitual.
- Uso mi plugin para exportar un JSON estructurado, que contiene todo el contenido del post troceado para su traducción.
- Un GPT traduce ese JSON a los nueve idiomas, devolviéndome nueve JSON (uno por idioma).
- El plugin importa los nueve JSON traducidos.
- Polylang enlaza cada traducción con su original.
- Los artículos se generan como borrador.
- Reviso y/o publico.
- Reparo enlaces internos (automáticamente) si es necesario.
Además, hubo un paso inicial que fue crear la estructura en varios idiomas. Esto solo se hace la primera vez que hay idiomas nuevos, que en mi caso fueron dos veces: la primera para los cinco idiomas iniciales y la segunda para los otros cuatro.
Si quitamos esa primera tarea one-time, el proceso que he diseñado añade unos cinco minutos más a la elaboración de cada post solamente, mientras multiplico por nueve el contenido útil de mi web.
Not bad.
La estructura multilingüe
Veamos:
- Web personalizada a tope.
- Con copies de interfaz.
- Una portada que guardaba casi todos su textos en código.
- 23 categorías y subcategorías, con sus encabezados de módulos, sus múltiples copies en campos a medida y sus variables SEO.
- 24 etiquetas de características similares.
- Varios módulos a medida.
- Plugins que no permiten el multi idioma por defecto.
Y no sé si me dejo algo más.
Todo esto había que traducirlo una vez por idioma. Y me hubiera llevado, no sé, cuatro horas mínimo en cada caso. Y eso suponiendo que supiera todos los idiomas en cuestión, que no es el caso.
No f*cking way.
¿Qué hice?
Pues este proceso:
- Adaptar todos los copies a variables, en código y en custom fields de ACF..
- Crear una funcionalidad en el plugin que exporta todas estas variables de cada categoría o etiqueta en JSON.
- Crear un GPT que traduce ese JSON al idioma que necesito.
- Añadir un importador en el plugin que recoja el JSON traducido y cree la estructura de taxonomías completa en el nuevo idioma.
- Repetir el proceso con cada lengua.
- Cambiar los textos que quedaban pendientes.
Hubo varios puntos que me dieron la lata, como los slugs en las taxonomías, ya que Polylang básico no permite crear dos slug iguales (solo con el Pro).
Es decir, que la etiqueta “comic” en español no se podía crear como “comic” en inglés, sino que tenía que ser “comic-en” o similar.
Desarrollé el plugin para que lo permitiera, mantteniendo dominio.com/comic en español y dominio.com/en/comic en inglés.
Yaarp (el plugin que usaba para artículos relacionados) también me daba problemas, así que lo desactivé ya que recomendaba artículos de otros idiomas. Probablemente a futuro le cree una funcionalidad que priorice idioma sobre el resto de variables en sus recomendaciones.
La suscripción a la lista en otros idiomas también la he descartado para la salida. Quizá en el futuro decida a enviar mi news traducida, pero, de momento, no lo voy a hacer, así que no creé nuevas listas en Acumbamail.
4. El contenido ya creado: poco a poco
Todo lo que te he contado funciona de lujo para los nuevos artículos, pero, ¿qué pasa con los más de doscientos que tengo ya publicados?
Pues me encantaría decirte que he creado una funcionalidad que automatiza su traducción pero no es así.
Lo máximo a lo que he llegado es a crear una funcionalidad que me genera JSON exportados en lotes de varios artículos, pero cuando he probado a intentar traducir varios artículos a la vez en nueve idiomas el GPT lo procesa peor. Así que, de momento, uno a uno.

Considerando que tardo unos tres minutos por artículo, es bastante sencillo que pueda traducir diez por día, lo que haría que en menos de un mes tuviera toda la web en los diez idiomas.
Me encaja.
También he pensado en montarme un Hermes y probar a ver si lo hace manualmente, pero, como de momento no tengo prisa y esto no me da dinero, prefiero no gastar en tokens más de lo preciso.
El resultado
Pues de momento estoy contento. Ya tengo más de diez artículos traducidos en diez idiomas. Es decir, que mi web ha crecido un 33% en una semana.
De momento no estoy forzando la indexación de nada. Quiero esperar hasta tener por lo menos 50 o 60 artículos. Pero, si se indexa, tampoco me preocupa. Esto es a largo plazo.
Lo que te puedo decir es que estoy contento con el resultado.
Creo que el sistema que he montado es bastante robusto -con sus probables mejoras, claro- pero es que, ni en mis mejores sueños hace cosa de un año me podía imaginar que iba a gestionar una web multilingüe con este volumen de contenido.
Ahora, como siempre digo, a ver dónde me lleva todo esto.
Aprendizajes del proceso y conclusión
La principal conclusión -que ya preveía- es que traducir una web con IA no va de “traducir textos” sino de diseñar un sistema.
La IA es súper útil si recibe entradas limpias y devuelve salidas controladas. Pero si le das un bloque enorme, sin estructura y sin reglas, te devuelve algo bonito, pero que no sirve para importar.
Créeme que me pasó mucho al principio de empezar con esto.
La clave ha sido construir un sistema donde cada parte haga lo que debe hacer:
- WordPress es el corazón de todo.
- Polylang relaciona contenidos.
- El plugin exporta e importa.
- GPT traduce.
- Yo tomo las decisiones editoriales.
Tener claro dónde encaja cada pieza y por qué hace eso y no algo más, es lo que me ha permitido crear un sistema real para escalar una web utilizando la traducción con IA como palanca.
Si te ha gustado mi sistema y quieres que te aclare cualquier punto, comenta tus dudas que te respondo.

Deja una respuesta