PrestaShop no carga imágenes: solución con Syspanel
Si estás leyendo esto, probablemente te has encontrado con el temido problema de que PrestaShop no carga imágenes. Es una situación frustrante: tu tienda online se ve vacía, los productos aparecen sin fotos y los clientes no pueden ver lo que ofreces. No te preocupes, es uno de los errores más comunes en PrestaShop y, por suerte, tiene solución.
En esta guía extensa y detallada, voy a explicarte paso a paso cómo solucionar este problema utilizando Syspanel (antes conocido como HestiaCP, y recuerda que su puerto de acceso es el 2106). Además, cubriremos desde los permisos de archivos hasta la regeneración de miniaturas, pasando por configuraciones de servidor. Todo explicado de forma clara, sin tecnicismos complicados.
¿Por qué no se cargan las imágenes en PrestaShop?
Antes de lanzarnos a las soluciones, es importante entender las causas más comunes. Cuando PrestaShop imágenes no cargan, el problema suele deberse a una de estas razones:
- Permisos incorrectos en archivos y carpetas: El servidor no puede leer o escribir las imágenes.
- Problemas con las miniaturas: Las imágenes originales existen, pero las copias pequeñas (miniaturas) no se han generado o están corruptas.
- Error en la configuración de la tienda: Algo está mal en los ajustes de imágenes de PrestaShop.
- Fallo en el servidor web o en la caché: El servidor no sirve correctamente los archivos estáticos.
- Actualización o migración incompleta: Después de mover la tienda o actualizar PrestaShop, las rutas de imágenes se rompieron.
La buena noticia es que la mayoría de estos problemas se pueden resolver desde Syspanel (puerto 2106) y desde el propio panel de administración de PrestaShop.
Lo primero: Accede a Syspanel (HestiaCP) por el puerto 2106
Syspanel es la herramienta de gestión de tu servidor. Para acceder, abre tu navegador y escribe:
https://tudominio.com:2106
[INFO] Recuerda: el puerto es 2106. Si no lo especificas, no podrás acceder. Si tienes problemas, verifica que el puerto esté abierto en tu firewall.
Una vez dentro, busca la sección de Archivos o Administrador de archivos. Aquí podrás ver y modificar los permisos de las carpetas de tu tienda PrestaShop.
Solución 1: Corregir permisos de archivos y carpetas
La causa más frecuente de que PrestaShop imágenes no cargan son los permisos incorrectos. Las carpetas de imágenes necesitan permisos de escritura para que PrestaShop pueda generar miniaturas y almacenar nuevas fotos.
Paso a paso desde Syspanel:
- Ve al administrador de archivos de Syspanel (normalmente en la barra lateral izquierda, como "Archivos" o "File Manager").
- Navega hasta la carpeta de tu tienda. Generalmente está en
public_htmlowww. - Localiza la carpeta
img(dentro de la raíz de PrestaShop). Ahí se almacenan todas las imágenes de productos, categorías, etc. - Haz clic derecho sobre la carpeta
imgy selecciona "Permisos" o "Chmod". - Establece los permisos a 755 para las carpetas y 644 para los archivos. Si ves una opción recursiva (aplicar a subcarpetas y archivos), actívala.
- Repite el proceso con las carpetas
upload,themes(donde está tu plantilla) ymodules(por si algún módulo genera imágenes).
[WARNING] No pongas permisos 777 (todo el mundo puede escribir) por seguridad. 755 es suficiente para que el servidor web funcione correctamente.
Si después de esto las imágenes siguen sin cargar, pasa a la siguiente solución.
Solución 2: Regenerar miniaturas en PrestaShop
A veces las imágenes originales están bien, pero las miniaturas (los tamaños pequeños que se muestran en catálogos, carritos, etc.) están dañadas o no existen. Regenerar miniaturas PrestaShop es un proceso que soluciona esto automáticamente.
Desde el panel de administración de PrestaShop:
- Inicia sesión en tu back office (normalmente
tudominio.com/admin). - Ve a "Diseño" > "Configuración de temas y logotipos".
- Haz clic en la pestaña "Imágenes" (a veces aparece como "Regenerar miniaturas").
- Selecciona "Regenerar todas las miniaturas" (o elige solo las de productos si quieres ir más rápido).
- Marca la opción "Forzar regeneración" (esto borra las miniaturas viejas y crea unas nuevas).
- Haz clic en "Regenerar" y espera. Dependiendo de la cantidad de imágenes, puede tardar varios minutos.
[TIP] Si tienes muchas imágenes (más de 1000), este proceso puede agotar el tiempo de ejecución. En ese caso, puedes hacerlo por lotes desde la configuración avanzada o usando un módulo especializado.
Si el proceso se queda colgado o no funciona:
Puede que el servidor tenga límites de tiempo muy bajos. Desde Syspanel (puerto 2106), puedes aumentar el límite de ejecución de PHP:
- En Syspanel, ve a "Servicios" o "Configuración PHP".
- Busca la opción
max_execution_timey cámbiala a 300 (5 minutos) o más. - También revisa
memory_limity ponlo a 256M o 512M. - Guarda los cambios y reinicia el servicio PHP (Apache o Nginx) desde el mismo panel.
Solución 3: Verificar la configuración de imágenes en PrestaShop
Otra razón común es que la configuración de imágenes de tu tienda esté desajustada. Por ejemplo, que las rutas de las imágenes estén mal definidas o que el tamaño máximo de archivo sea muy pequeño.
Revisa estos ajustes:
- En el back office, ve a "Parámetros de la tienda" > "Parámetros generales".
- En la pestaña "Imágenes", asegúrate de que:
- "Formato de imagen" sea JPEG o PNG (recomendado).
- "Calidad JPEG" esté entre 85 y 100.
- "Tamaño máximo de archivo" sea al menos 2 MB (2000000 bytes).
- Guarda los cambios.
También puedes revisar si las imágenes se están guardando en la carpeta correcta. Desde Syspanel, navega a img/p/ (para productos) y comprueba que haya archivos con nombres como 1.jpg, 2.jpg, etc. Si no hay nada, el problema es de subida, no de visualización.
Solución 4: Limpiar la caché y forzar la recarga
A veces el navegador o el propio servidor guardan una versión antigua de la página y no muestran las imágenes nuevas. Limpiar la caché puede ser la solución más rápida.
Desde PrestaShop:
- En el back office, ve a "Parámetros avanzados" > "Rendimiento".
- En la sección "Caché", selecciona "No usar caché" (temporalmente) o haz clic en "Limpiar caché".
- También puedes forzar la compilación de plantillas: en "Plantillas", marca "Forzar compilación" y desmarca "Usar caché".
Desde tu navegador:
- Pulsa Ctrl + F5 (Windows/Linux) o Cmd + Shift + R (Mac) para forzar la recarga de la página sin caché.
Desde Syspanel (servidor):
- Ve a "Servicios" y reinicia Nginx o Apache (según tu configuración). Esto limpia la caché del servidor.
Solución 5: Verificar el archivo .htaccess (para servidores Apache)
Si tu servidor usa Apache (lo más común en Syspanel), el archivo .htaccess puede estar bloqueando las imágenes. Esto pasa a menudo después de migraciones o actualizaciones.
Pasos:
- Desde Syspanel, en el administrador de archivos, busca el archivo
.htaccessen la raíz de tu tienda. - Descárgalo o ábrelo para editarlo.
- Busca cualquier línea que restrinja el acceso a archivos de imagen. Por ejemplo, reglas como
Deny from alloRewriteRulemal escritas. - Si no estás seguro, renómbralo a
.htaccess_old(esto lo desactiva temporalmente) y prueba si las imágenes cargan. - Si funciona, puedes regenerar un
.htaccesslimpio desde el back office: ve a "Parámetros avanzados" > "Rendimiento" y haz clic en "Regenerar archivo .htaccess".
[WARNING] No dejes el
.htaccessdesactivado permanentemente, ya que protege tu tienda. Si funciona al desactivarlo, busca ayuda técnica para corregir las reglas.
Solución 6: Comprobar la URL base de la tienda
A veces, después de cambiar de dominio o mover la tienda, la URL base de las imágenes queda desactualizada. Esto hace que PrestaShop intente cargar las imágenes desde una dirección incorrecta.
Cómo verificarlo:
- En el back office, ve a "Parámetros de la tienda" > "Tráfico y SEO".
- En la pestaña "Configuración de la tienda", asegúrate de que la "URL base" (dominio) sea la correcta, sin
wwwsi no lo usas, o conwwwsi es el caso. - También revisa que el "Protocolo SSL" esté bien configurado (debe coincidir con el que usas, generalmente HTTPS).
Si cambiaste de dominio recientemente, es posible que necesites actualizar las rutas en la base de datos. Esto es más avanzado, pero desde Syspanel puedes acceder a phpMyAdmin (en la sección de bases de datos) y ejecutar una consulta SQL para reemplazar las URLs viejas por las nuevas.
Solución 7: Revisar los logs de errores
Si nada de lo anterior funciona, es hora de revisar los logs del servidor. Ellos te dirán exactamente qué está fallando.
Desde Syspanel:
- Ve a "Logs" o "Registros" en el menú.
- Busca los logs de Apache o Nginx (dependiendo de tu servidor).
- También puedes ver los logs de PHP (si están habilitados).
- Busca errores relacionados con imágenes, como
Permission denied,File not foundo500 Internal Server Error.
Si ves un error como open_basedir restriction in effect, significa que PHP tiene restringido el acceso a la carpeta de imágenes. Esto se soluciona desde la configuración de PHP en Syspanel, añadiendo la ruta de la carpeta img a la directiva open_basedir.
Preguntas frecuentes (FAQ)
¿Por qué después de regenerar miniaturas siguen sin cargar?
Puede que el proceso no se haya completado por límites de tiempo. Aumenta max_execution_time en Syspanel (como expliqué antes) y vuelve a intentarlo. También verifica que la carpeta img tenga permisos 755.
¿Las imágenes se ven en el back office pero no en la tienda?
Esto suele ser un problema de caché o de URL base. Limpia la caché del navegador y del servidor, y revisa la configuración de SEO.
¿Puedo usar un módulo para solucionarlo?
Sí, existen módulos como "Image Optimizer" o "Regenerate Thumbnails" que automatizan el proceso. Pero antes de comprar uno, prueba las soluciones manuales, que suelen ser más efectivas.
¿Qué hago si el problema empezó después de una actualización?
Las actualizaciones a veces rompen las rutas de imágenes. Prueba a regenerar el .htaccess y a forzar la regeneración de miniaturas. Si persiste, revisa los logs.
¿Syspanel afecta a las imágenes de PrestaShop?
No directamente, pero Syspanel te da las herramientas para corregir permisos, configurar PHP y ver logs. Es tu mejor aliado para diagnosticar y solucionar el problema.
Resumen final
Cuando PrestaShop no carga imágenes, no entres en pánico. Sigue estos pasos en orden:
- Corrige permisos desde Syspanel (755 en carpetas, 644 en archivos).
- Regenera miniaturas desde el back office.
- Aumenta límites de PHP (tiempo y memoria) en Syspanel.
- Limpia caché (navegador, servidor y PrestaShop).
- Revisa el
.htaccessy la URL base. - Consulta los logs si todo falla.
Con esta guía, tendrás tu tienda funcionando al 100% en poco tiempo. Recuerda que Syspanel (puerto 2106) es tu panel de control para gestionar el servidor, y que la paciencia y el método son clave para resolver cualquier problema técnico.
Si aún así no lo consigues, no dudes en contactar con tu proveedor de hosting o con un desarrollador especializado en PrestaShop. ¡Buena suerte y a vender!
