Skip to Content
TroubleshootingLas imágenes no se generan

Las imágenes no se generan

Si tu entrada se publicó con éxito pero la imagen destacada o las imágenes del cuerpo no aparecieron, recorre esta página en orden. La causa más común vive en el Paso 1 — es un problema de entorno más que algo malo en tu campaña.

Antes de empezar

Abre Tools → Site Health en WordPress. Structura añade ahí tres sondas que se encienden cuando los bloqueadores más comunes de generación de imagen están presentes:

  • MySQL packet size is sufficient for background tasks
  • WordPress cron is enabled
  • WordPress uploads directory is writable

Si alguna está marcada en rojo o amarillo, arregla eso primero — los pasos abajo detallan cada arreglo.

Paso 1: ¿Es el max_allowed_packet de MySQL demasiado pequeño?

Esta es la causa única más común que vemos en hosting compartido.

Qué pasa. Structura encola tareas de generación de imagen usando Action Scheduler , que guarda cada tarea encolada en la tabla wp_actionscheduler_actions. Si los datos serializados de la tarea son mayores que el ajuste max_allowed_packet de MySQL, la base de datos rechaza la fila silenciosamente. Sin error PHP, sin error en el admin. La tarea simplemente nunca se crea — así que la imagen nunca se genera.

Structura 1.17+ atrapa esto en el momento de encolar y muestra el fallo en el detalle de la ejecución de la campaña, bajo el paso Visuals. El mensaje se ve así:

Featured image task could not be enqueued. Action Scheduler refused the write — this is usually a MySQL packet-size limit (max_allowed_packet) or a database-write failure on wp_actionscheduler_actions.

Cómo arreglarlo. Necesitas subir max_allowed_packet a al menos 4 MB (4194304). Cómo lo haces depende de tu hosting:

  • Hosting compartido (Hostinger, SiteGround, Bluehost, etc.) — abre un ticket de soporte pidiéndoles subir max_allowed_packet en tu base de datos a 4 MB o mayor. La mayoría de hostings lo harán en pocas horas; es una petición habitual.
  • WordPress gestionado (Kinsta, WP Engine, Pressable) — tu hosting ya ha puesto un valor razonable. Si Site Health lo sigue marcando, abre un ticket de soporte e incluye una captura de la tarjeta de Site Health.
  • VPS / autogestionado — añade max_allowed_packet = 16M bajo [mysqld] en /etc/mysql/my.cnf (o el equivalente en tu instalación de MySQL / MariaDB) y reinicia el servicio de base de datos.

Tras que el cambio surta efecto, ejecuta una campaña otra vez o haz clic en Generar imagen en la pantalla de edición de cualquier entrada generada por Structura — la imagen debería ahora guardarse correctamente.

Paso 2: ¿Está deshabilitado el cron de WordPress?

Qué pasa. Si tu wp-config.php incluye define('DISABLE_WP_CRON', true); y no hay un cron del sistema golpeando wp-cron.php, las tareas de generación de imagen en segundo plano se encolan pero nunca corren.

Cómo arreglarlo. O bien:

  • Quita la constante DISABLE_WP_CRON de wp-config.php, o
  • Añade un cron del lado del servidor que llame a wp-cron.php cada minuto:
* * * * * wget -q -O - https://your-site.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

La mayoría de hostings gestionados se ocupan de esto por ti. En hosting compartido puede que necesites configurar el cron job tú misma en tu panel de hosting.

Paso 3: ¿Es escribible el directorio de uploads?

Qué pasa. Las imágenes generadas se importan vía el helper media_handle_sideload() de WordPress, que escribe en wp-content/uploads/YYYY/MM/. Si ese directorio (o su padre) no es escribible por PHP, el sideload falla. Site Health saca a la luz el mensaje exacto de error de WordPress.

Cómo arreglarlo. Haz que el directorio de uploads sea escribible por el servidor web. El arreglo típico en hostings Linux:

chown -R www-data:www-data wp-content/uploads chmod -R 755 wp-content/uploads

Ajusta el usuario (www-data, apache, nobody, etc.) para que coincida con el usuario del servidor web de tu hosting.

Paso 4: ¿Está el proveedor de imagen configurado correctamente?

Si ninguno de los chequeos de entorno arriba marcó un problema, el problema puede ser del lado del proveedor.

  1. Abre Structura → Ajustes → Motor de IA.
  2. Confirma que tu proveedor de imagen está conectado (visto verde).
  3. Si estás en el plan Free o BYOK (trae tu propia clave), confirma que el proveedor que seleccionaste es capaz de imagen. Claude produce solo texto — si seleccionaste Claude para imágenes, Structura saltará la generación de imagen silenciosamente en planes BYOK (en planes gestionados — Cloud y Cloud Pro — sustituimos un proveedor capaz de imagen automáticamente).

Mira Ajustes de IA para una visita completa.

Paso 5: ¿Sigues atascado?

Abre la ejecución más reciente de la campaña desde el panel y mira el paso Visuals en el detalle de la ejecución. El mensaje de error del paso normalmente nombra el fallo exacto — cópialo a un ticket de soporte junto con:

  • Tu nivel de plan
  • Tu proveedor de imagen configurado
  • El nombre de la campaña
  • El ID de la ejecución de la campaña (visible en la URL del detalle de la ejecución)
  • Una captura de Tools → Site Health

Contacta con soporte.

Páginas relacionadas

Last updated on