PrestaShop no carga imágenes: solución rápida
Si tienes una tienda online con PrestaShop y de repente las imágenes de tus productos, categorías o logotipos dejan de verse, sabes que el problema es grave. Un cliente no puede comprar un producto que no ve. No te preocupes, este es un fallo muy común y, en la mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo sin necesidad de ser un experto en programación.
En esta guía completa y paso a paso, vamos a resolver el molesto problema de que PrestaShop no carga imágenes. Veremos desde las causas más básicas (como permisos de archivos) hasta soluciones más avanzadas como regenerar las imágenes. Al final, tendrás un checklist para diagnosticar y arreglar el error por ti mismo. Vamos a ello.
¿Por qué ocurre el error de imágenes en PrestaShop?
Antes de lanzarnos a solucionar el problema, es útil entender por qué ocurre. El error PrestaShop imágenes no cargan puede deberse a varias razones, pero las más frecuentes son:
- Permisos de archivos incorrectos: PrestaShop necesita permisos de escritura en ciertas carpetas para generar y mostrar las imágenes. Si estos permisos se cambian (por ejemplo, al migrar de servidor o al actualizar), las imágenes dejan de cargarse.
- Problemas con la caché de imágenes: PrestaShop almacena versiones redimensionadas de las imágenes en una carpeta especial. Si esta caché se corrompe, las imágenes no se muestran.
- Configuración incorrecta de la URL: Si cambias la URL de tu tienda o la mueves de dominio, las rutas de las imágenes pueden quedar rotas.
- Falta de memoria PHP: Al regenerar o procesar imágenes, PrestaShop necesita memoria. Si el límite es muy bajo, el proceso falla.
- Módulos o temas incompatibles: A veces, un módulo mal desarrollado o un tema no actualizado pueden bloquear la carga de imágenes.
- Error en la base de datos: Aunque menos común, puede haber una corrupción en las tablas que almacenan las rutas de las imágenes.
Solución rápida paso a paso para que las imágenes vuelvan a cargar
Vamos a seguir un orden lógico, desde lo más simple a lo más complejo. No te saltes pasos; prueba cada uno antes de pasar al siguiente.
1. Refresca la caché del navegador y del servidor
A veces, el problema es solo una caché obsoleta. Es el primer paso y el más fácil.
- En tu navegador: Pulsa
Ctrl + F5(Windows) oCmd + Shift + R(Mac) en la página donde no se ven las imágenes. Esto fuerza una recarga completa. - En el panel de administración de PrestaShop: Ve a Mejorar > Rendimiento y, en la sección "Borrar caché", haz clic en el botón "Borrar caché". Luego, en "Caché de Smarty", selecciona "Forzar compilación" y "Vaciar caché". Guarda los cambios.
[TIP]: Después de hacer esto, vuelve a cargar la página del front office. Si las imágenes aparecen, ¡problema resuelto! Si no, continúa.
2. Verifica los permisos de las carpetas de imágenes
PrestaShop guarda las imágenes en la carpeta img/ dentro de la raíz de tu instalación. El servidor web necesita poder leer y escribir en esta carpeta y sus subcarpetas.
- Accede a tu servidor mediante FTP (por ejemplo, con FileZilla) o a través del administrador de archivos de tu panel de hosting.
- Navega hasta la carpeta
img/de tu PrestaShop. - Haz clic derecho sobre la carpeta
imgy selecciona "Permisos de archivo" (o "Atributos"). - Establece los permisos a 755 para las carpetas y 644 para los archivos. En algunos servidores, puede ser necesario usar 777 temporalmente para las carpetas, pero es menos seguro. Si usas 777, recuerda volver a 755 después de solucionar el problema.
[WARNING]: No modifiques los permisos de archivos que no sean de imágenes. Cambiar permisos de archivos del núcleo de PrestaShop puede romper la tienda.
3. Regenera las imágenes desde el panel de administración
Esta es la solución estrella para el error PrestaShop error imágenes. Si los permisos están bien pero las imágenes siguen sin cargar, es muy probable que la caché de imágenes esté corrupta. Debemos regenerarlas.
- Ve a Mejorar > Imágenes en el menú del back office de PrestaShop.
- Verás una lista de todos los tamaños de imagen que usa tu tienda (por ejemplo, "home_default", "medium_default", "large_default", etc.).
- Importante: Antes de regenerar, asegúrate de que las imágenes originales están en la carpeta
img/p/(para productos) oimg/c/(para categorías). Si no están, este proceso no funcionará. - En la parte inferior de la página, haz clic en el botón "Regenerar miniaturas".
- Se abrirá una ventana. Selecciona la opción "Regenerar todas las imágenes". También puedes elegir "Sobrescribir imágenes existentes" si quieres forzar la regeneración incluso si ya existen.
- Haz clic en "Regenerar" y espera. Dependiendo de la cantidad de productos, puede tardar varios minutos. No cierres la ventana del navegador ni recargues la página.
[INFO]: Si el proceso se queda colgado o da error de tiempo de espera, es probable que tu servidor tenga un límite de memoria PHP bajo. En ese caso, puedes intentar regenerar solo un tamaño de imagen a la vez (por ejemplo, "home_default") para no saturar el servidor.
4. Aumenta el límite de memoria PHP
Como mencionamos, la regeneración de imágenes consume memoria. Si tu servidor tiene un límite bajo (por ejemplo, 64MB), el proceso fallará. Debes aumentarlo.
- Desde el panel de control de tu hosting (Syspanel): Accede a tu panel (por ejemplo, Syspanel, que usa el puerto 2106). Busca la sección de "PHP" o "Configuración de PHP". Allí podrás cambiar el valor de
memory_limita al menos 256MB o 512MB. Guarda los cambios. - Desde el archivo .htaccess: Si no tienes acceso al panel, puedes añadir esta línea al archivo
.htaccessque está en la raíz de tu PrestaShop:php_value memory_limit 256M - Desde el archivo php.ini: Si tu hosting te permite crear un archivo
php.inipersonalizado, añade:memory_limit = 256M
Después de cambiar la memoria, vuelve a intentar la regeneración de imágenes.
5. Verifica la URL de la tienda en la configuración
A veces, la ruta base de las imágenes está mal configurada. Esto ocurre sobre todo después de mover la tienda a un nuevo dominio o subdominio.
- Ve a Mejorar > Parámetros de la tienda > Tráfico y SEO.
- En la pestaña "Configuración de SEO y URL", asegúrate de que los campos "URL de la tienda" y "URL base (SSL)" apuntan a la dirección correcta de tu tienda (con
https://y sin barra al final). - Guarda los cambios y vuelve a cargar la página.
6. Comprueba que las imágenes originales existen en el servidor
Si después de regenerar las imágenes sigue sin funcionar, verifica que los archivos originales estén en su sitio.
- Conéctate por FTP a tu servidor.
- Ve a la carpeta
img/p/. Dentro, los productos se organizan en subcarpetas. Por ejemplo, el producto con ID 123 está enimg/p/1/2/3/123.jpg. Si la carpeta está vacía o el archivo no existe, significa que las imágenes originales se perdieron (por ejemplo, durante una migración). En ese caso, tendrás que subir las imágenes de nuevo desde el back office, producto por producto, o restaurar una copia de seguridad.
7. Desactiva módulos y cambia a un tema por defecto (prueba de diagnóstico)
Un módulo conflictivo o un tema personalizado pueden interferir con la generación de imágenes. Para descartarlo:
- Ve a Mejorar > Módulos > Gestor de módulos.
- Desactiva todos los módulos que no sean esenciales (por ejemplo, de terceros). No desactives los módulos nativos de PrestaShop.
- Luego, ve a Mejorar > Apariencia > Temas y cambia temporalmente al tema por defecto (por ejemplo, "Classic").
- Recarga la página del front office. Si las imágenes aparecen, el problema está en un módulo o en tu tema. Actívalos uno por uno para identificar al culpable.
Preguntas frecuentes (FAQ)
¿Por qué mis imágenes se ven rotas solo en el móvil?
Esto suele deberse a que el tema no tiene configurado correctamente el tamaño de imagen para dispositivos móviles. Ve a Mejorar > Imágenes y asegúrate de que tienes un tamaño de imagen para la resolución de móviles (por ejemplo, "home_default" suele ser para móviles). Luego, regenera solo ese tamaño.
¿Puedo regenerar imágenes sin perder las originales?
Sí, la regeneración solo crea las miniaturas a partir de las imágenes originales. Las originales no se tocan. Siempre que tengas las originales en img/p/ o img/c/, no perderás nada.
¿Qué hago si el proceso de regeneración se queda cargando para siempre?
Como indicamos antes, aumenta el límite de memoria PHP. También puedes probar a regenerar las imágenes desde la línea de comandos (si tienes acceso SSH) con un script, pero eso es más avanzado. Si no, contacta con tu soporte técnico de hosting.
¿El error "PrestaShop imágenes no cargan" puede deberse a un ataque?
Es posible, aunque poco común. Un ataque de malware podría modificar archivos o inyectar código que bloquee las imágenes. Si sospechas de un ataque, revisa los archivos de tu tienda con un antivirus web o contacta a tu proveedor de hosting.
¿Cómo evito que este problema vuelva a ocurrir?
- Haz copias de seguridad periódicas de tu tienda, incluyendo la carpeta
img/y la base de datos. - Mantén PrestaShop, los módulos y el tema actualizados a la última versión.
- No modifiques los permisos de las carpetas a menos que sea estrictamente necesario.
- Configura un límite de memoria PHP adecuado (al menos 256MB) desde el principio.
Conclusión
El problema de que PrestaShop no carga imágenes es frustrante, pero con estos pasos metódicos podrás resolverlo en la mayoría de los casos. Recuerda empezar siempre por lo más simple (refrescar caché y permisos) y luego avanzar a la regeneración de imágenes y ajustes de configuración. Si después de todo esto el problema persiste, es hora de contactar con el soporte técnico de tu hosting, ya que puede ser un problema a nivel de servidor (por ejemplo, falta de la extensión GD de PHP o un error en la configuración de Apache/Nginx).
Esperamos que esta guía te haya sido de ayuda. ¡Tu tienda online volverá a lucir perfecta en poco tiempo!
