Cómo solucionar el error 'PrestaShop no carga imágenes'
¿Por qué PrestaShop no carga imágenes? Causas más comunes
Cuando tu tienda online muestra PrestaShop imágenes rotas, la primera impresión para tus clientes es nefasta. Un catálogo visual es esencial en el e-commerce, y este error puede deberse a múltiples factores: desde permisos de archivos incorrectos hasta problemas de caché o configuración de la base de datos.
En esta guía completa, te explicaré paso a paso cómo diagnosticar y solucionar imágenes PrestaShop sin necesidad de ser un experto en programación. Vamos a ir desde lo más básico hasta soluciones avanzadas, siempre con un lenguaje claro y ejemplos prácticos.
Diagnóstico inicial: ¿Qué tipo de error de imágenes tienes?
Antes de lanzarnos a solucionar, necesitas identificar el comportamiento exacto. No es lo mismo que no se vean las imágenes del producto, que aparezcan rotas solo en el panel de administración, o que el problema sea intermitente.
Tipos de fallos visuales más habituales
- Imágenes en blanco (fondo gris o vacío): Generalmente indica un problema de generación de miniaturas.
- Icono de imagen rota (un cuadrado con una cruz): Suele estar relacionado con rutas incorrectas o archivos eliminados.
- Imágenes que cargan muy lentas o a medias: Apunta a problemas de caché o de configuración del servidor.
- Imágenes que se ven en el back-office pero no en la tienda: Problema de permisos de carpetas o de CDN mal configurado.
[INFO] Si el error apareció después de una actualización de PrestaShop o de cambiar de servidor, es muy probable que el problema esté en los permisos de archivos o en las rutas de las imágenes guardadas en la base de datos.
Primeros pasos: La solución rápida de la caché
El 60% de los casos de error imágenes PrestaShop se resuelven simplemente limpiando la caché. PrestaShop guarda versiones estáticas de tus imágenes para acelerar la carga, pero a veces esa caché se corrompe o guarda rutas antiguas.
Cómo forzar la regeneración de miniaturas
- Accede a tu Panel de Administración de PrestaShop.
- Ve al menú Diseño > Temas.
- Haz clic en el botón "Regenerar miniaturas" (o "Regenerar imágenes" dependiendo de la versión).
- Selecciona todos los tipos de imágenes y marca la opción "Forzar la regeneración".
- Pulsa "Regenerar" y espera a que termine el proceso. Puede tardar varios minutos si tienes un catálogo grande.
[TIP] Si tienes más de 10,000 productos, haz la regeneración en lotes para no saturar el servidor. Puedes hacerlo seleccionando solo una categoría a la vez.
Limpieza manual de la caché de Smarty
Si la regeneración no funciona, vamos a limpiar la caché manualmente:
- Ve a Parámetros avanzados > Rendimiento.
- En la sección "Caché", selecciona "Sí" y luego "Vaciar la caché".
- También desactiva la opción "Cachear" temporalmente para ver si el problema persiste.
- Guarda los cambios y comprueba tu tienda.
Permisos de archivos y carpetas: El culpable silencioso
Los permisos incorrectos son la causa número uno de PrestaShop no carga imágenes en servidores Linux. Si las carpetas donde se almacenan las imágenes no tienen los permisos de lectura y escritura adecuados, el sistema no puede generar ni mostrar las miniaturas.
Permisos correctos para PrestaShop
Necesitas que las siguientes carpetas tengan permisos 755 (lectura y ejecución para todos, escritura solo para el propietario) o 775 si tu servidor usa un grupo diferente:
/img/img/p/img/c/img/m/img/tmp/upload
Cómo cambiar permisos desde Syspanel (HestiaCP)
Si tu hosting usa Syspanel (anteriormente conocido como HestiaCP), el proceso es muy sencillo:
- Accede a Syspanel a través del puerto 2106 (por ejemplo:
https://tu-dominio.com:2106). - Ve a Archivos > Administrador de archivos.
- Navega hasta la carpeta
public_html(o la raíz de tu tienda). - Haz clic derecho sobre la carpeta
/imgy selecciona "Permisos". - Introduce
755en el campo de permisos numéricos. - Marca la casilla "Aplicar a subcarpetas" y "Aplicar a archivos".
- Pulsa "Aceptar".
[WARNING] No pongas permisos 777 (escritura para todos) en producción. Aunque soluciona el problema temporalmente, es un grave riesgo de seguridad. Si necesitas 777 para pruebas, cámbialo a 755 al terminar.
Problemas con la configuración de la base de datos
A veces el problema no está en los archivos, sino en la información que PrestaShop tiene guardada en su base de datos. Las rutas de las imágenes pueden estar mal almacenadas.
Verificar el prefijo de la tabla ps_image
- Accede a phpMyAdmin desde Syspanel (puerto 2106).
- Selecciona la base de datos de tu tienda.
- Busca la tabla
ps_image(o tu_prefijo_image). - Ejecuta la siguiente consulta SQL:
SELECT * FROM ps_image WHERE id_product = 1;
Si los resultados muestran id_image pero las rutas de archivo no coinciden con la estructura real de carpetas, tendrás que actualizar las rutas.
Actualizar rutas de imágenes en la base de datos
Un truco común es usar SQL para actualizar las rutas. Por ejemplo, si cambiaste de dominio:
UPDATE ps_image SET path = REPLACE(path, 'http://dominio-antiguo.com', 'http://dominio-nuevo.com');
[INFO] Si no te sientes cómodo con SQL, no te preocupes. Muchas veces este paso no es necesario y el problema se resuelve con los pasos anteriores. Solo recurre a esto si nada más funcionó.
Configuración de URLs amigables y redirecciones
Otra causa frecuente de PrestaShop imágenes rotas es una mala configuración de las URLs amigables. Si tienes activada la reescritura de URLs y el archivo .htaccess está corrupto o mal generado, las rutas a las imágenes fallarán.
Regenerar el archivo .htaccess
- Ve a Parámetros avanzados > Herramientas.
- Haz clic en "Regenerar archivo .htaccess".
- También puedes regenerar el archivo de robots.txt desde ahí.
- Guarda y comprueba si las imágenes cargan.
Comprobar la configuración de "URLs de la tienda"
- Ve a Parámetros avanzados > Configuración general.
- En la pestaña "URLs", verifica que la URL de tu tienda sea correcta (con o sin www, con http o https).
- Si cambiaste de dominio recientemente, este es el lugar clave para corregirlo.
[WARNING] Si activas o desactivas SSL, asegúrate de que la URL esté actualizada. Un error común es tener la URL con
http://cuando el sitio funciona conhttps://, lo que provoca imágenes rotas por contenido mixto (mixed content).
El problema del contenido mixto (HTTP vs HTTPS)
Si tu tienda tiene certificado SSL pero las imágenes se están cargando desde URLs http://, los navegadores modernos las bloquearán por seguridad. Esto es muy común después de instalar un certificado SSL.
Cómo forzar HTTPS en todas las imágenes
- Accede a Parámetros avanzados > Configuración general.
- En la pestaña "General", busca la opción "Activar SSL" y actívala.
- Activa también "Activar SSL en todas las páginas".
- Guarda los cambios.
- Regenera el archivo
.htaccesscomo vimos antes.
Si el problema persiste, puedes añadir una redirección forzada en el .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Soluciones avanzadas: Módulos y overrides conflictivos
A veces, un módulo de terceros (como un plugin de caché o un optimizador de imágenes) interfiere con la generación de miniaturas. Esta es una causa común de error imágenes PrestaShop que aparece solo en algunas páginas.
Probar con los overrides desactivados
- Ve a Parámetros avanzados > Rendimiento.
- En la sección "Overrides", desactiva la opción "Usar overrides".
- Guarda y comprueba.
[TIP] Si con los overrides desactivados las imágenes funcionan, entonces tienes un override conflictivo. Identifica el módulo que lo causa desactivando los módulos uno a uno.
Desactivar módulos de optimización temporalmente
- Ve a Módulos > Módulos y servicios.
- Busca módulos relacionados con: caché, optimización de imágenes, CDN, lazy load.
- Desactívalos uno a uno y comprueba después de cada desactivación.
Aumentar la memoria PHP y el límite de ejecución
La generación de miniaturas consume muchos recursos. Si tu servidor tiene un límite de memoria bajo, el proceso fallará silenciosamente y tendrás PrestaShop imágenes rotas.
Cómo aumentar la memoria PHP desde Syspanel
- Accede a Syspanel en el puerto 2106.
- Ve a Web > Configuración del servidor web.
- Selecciona tu dominio y haz clic en "Configuración PHP".
- Aumenta el "memory_limit" a al menos
256M. - También aumenta el "max_execution_time" a
300segundos. - Guarda y reinicia el servicio PHP si es necesario.
Configuración manual en el archivo config.inc.php
Si no tienes acceso a Syspanel, puedes editar el archivo manualmente:
- Ve a la carpeta
/configde tu instalación de PrestaShop. - Abre el archivo
config.inc.phpcon un editor de texto. - Añade estas líneas al principio:
ini_set('memory_limit', '256M');
ini_set('max_execution_time', '300');
[WARNING] Aumentar demasiado la memoria puede afectar el rendimiento del servidor. Empieza con 256M y ve subiendo solo si es necesario.
Verificar el espacio en disco y la integridad de los archivos
Un detalle que muchos pasan por alto: si el disco duro del servidor está lleno, PrestaShop no puede escribir nuevas miniaturas. Esto provoca que PrestaShop no carga imágenes nuevas pero sí las antiguas.
Comprobar el espacio disponible
- Accede a Syspanel (puerto 2106).
- Ve a Estadísticas > Uso del disco.
- Verifica que tengas al menos un 20% de espacio libre.
Verificar la integridad de los archivos de imagen
- Usa el administrador de archivos de Syspanel.
- Navega a
/img/py comprueba que las subcarpetas tienen la estructura correcta (1/2/3/12345.jpg, etc.). - Si ves archivos con tamaño 0KB, están corruptos y deben regenerarse.
Solución definitiva: Reinstalar las imágenes de PrestaShop
Si has probado todo lo anterior y sigues con PrestaShop imágenes rotas, quizás la instalación de los archivos base de imagen está dañada. Esto es poco común pero posible.
Reemplazar la carpeta img desde la instalación original
- Descarga de nuevo PrestaShop (la misma versión que tienes instalada).
- Extrae el archivo ZIP en tu ordenador.
- Sube solo la carpeta
/imgdesde esa descarga a tu servidor (reemplazando la existente). - IMPORTANTE: No subas la carpeta
/img/pni/img/cporque ahí están las imágenes de tus productos. Solo sube las carpetas base como/img/admin,/img/tmp, etc.
Reinstalar el tema
A veces el problema no es de PrestaShop sino del tema. Prueba a cambiar a un tema por defecto (como Classic) y ver si las imágenes funcionan.
- Ve a Diseño > Temas.
- Haz clic en "Añadir nuevo tema".
- Instala el tema Classic que viene incluido.
- Actívalo y comprueba.
Preguntas frecuentes sobre imágenes rotas en PrestaShop
¿Por qué solo se rompen las imágenes de productos nuevos?
Esto suele indicar un problema de permisos en la carpeta /img/p. Cuando añades un producto nuevo, PrestaShop intenta crear una nueva subcarpeta y si no tiene permisos de escritura, falla silenciosamente.
¿Cómo afecta el caché del navegador a las imágenes?
Los navegadores guardan copias de las imágenes. Si cambiaste algo en el servidor, es posible que tu navegador siga mostrando la versión antigua o rota. Prueba con Ctrl + F5 para forzar la recarga, o abre en una ventana de incógnito.
¿Puedo usar un CDN para solucionar el problema?
Un CDN puede enmascarar el problema, pero no lo soluciona de raíz. Si las imágenes originales están rotas, el CDN también las mostrará rotas. Primero arregla el origen y luego considera un CDN para mejorar la velocidad.
¿Qué hago si el error persiste después de todos estos pasos?
Si has seguido todos los pasos y nada funciona, es probable que sea un problema específico de tu servidor. Contacta con tu proveedor de hosting y pídeles que revisen los logs de error de PHP. Busca errores relacionados con GD Library o Imagick, que son las bibliotecas que PrestaShop usa para procesar imágenes.
Conclusión: Resumen de la solución paso a paso
Para solucionar imágenes PrestaShop de forma efectiva, sigue este orden lógico:
- Limpia la caché (Smarty y miniaturas).
- Verifica los permisos de la carpeta
/img(755). - Comprueba las URLs (HTTP/HTTPS, dominio).
- Aumenta la memoria PHP si es necesario.
- Desactiva overrides y módulos conflictivos.
- Regenera el .htaccess.
- Revisa el espacio en disco.
[TIP] Si tu tienda es muy grande, considera hacer una copia de seguridad completa antes de empezar a hacer cambios. Así, si algo sale mal, puedes restaurar todo fácilmente.
Recuerda que la paciencia es clave. Algunos procesos como la regeneración de miniaturas pueden tardar varios minutos. No interrumpas el proceso aunque parezca que el navegador se ha quedado colgado.
Espero que esta guía te haya sido de utilidad. Con estos pasos, la mayoría de los casos de PrestaShop no carga imágenes se resuelven sin necesidad de contratar a un desarrollador. Si el problema persiste, no dudes en contactar con tu soporte de hosting, ya que puede tratarse de una limitación específica de tu plan de alojamiento.
