Cómo arreglar el error 500 en PrestaShop (causas y soluciones)
¿Qué significa el error 500 en PrestaShop?
El error 500 PrestaShop (también conocido como "Internal Server Error" o "error interno del servidor") es uno de los avisos más temidos por cualquier dueño de tienda online. Pero respira hondo: en la gran mayoría de los casos, es un problema que puedes solucionar tú mismo sin necesidad de ser un experto en programación.
Este error aparece cuando el servidor no puede procesar correctamente una petición de tu tienda. Lo más frustrante es que, a diferencia de otros errores (como el 404 que te dice "no existe esta página"), el 500 no te da pistas claras de qué está fallando. Es como si tu tienda dijera: "algo está mal, pero no sé decirte qué".
En esta guía extensa vamos a desglosar las causas más comunes y te daré soluciones paso a paso para cada una de ellas. Al final, también encontrarás una sección de preguntas frecuentes para resolver dudas rápidas.
Causas más frecuentes del error 500 en PrestaShop
Antes de lanzarnos a arreglar nada, es importante entender por qué ocurre este error. Las razones suelen agruparse en estas categorías:
- Permisos de archivos incorrectos (la causa más común).
- Archivos corruptos o incompletos tras una actualización o instalación de módulo.
- Problemas con el archivo
.htaccess. - Errores de PHP (límite de memoria, versión incompatible, etc.).
- Conflictos entre módulos o temas.
- Espacio en disco agotado o problemas con la base de datos.
Vamos a ver cada una de ellas en detalle, con sus soluciones prácticas.
1. Permisos de archivos incorrectos
¿Por qué ocurre?
PrestaShop necesita lectura y escritura en ciertos archivos y carpetas para funcionar correctamente. Si los permisos son demasiado restrictivos, el servidor no puede acceder a ellos y responde con un error 500. Esto suele pasar después de mover la tienda de servidor, hacer una copia de seguridad manual o al cambiar los permisos por error.
Solución paso a paso
Para arreglar los permisos, necesitas acceder a tu hosting mediante FTP o el administrador de archivos de tu panel de control. Aquí te explico el método más seguro:
- Conecta por FTP a tu servidor (o usa el administrador de archivos de tu hosting).
- Navega hasta la raíz de tu instalación de PrestaShop (donde están las carpetas
config,img,var,modules, etc.). - Selecciona todos los archivos y carpetas de la raíz.
- Cambia los permisos de las carpetas a 755 (lectura y ejecución para todos, escritura solo para el propietario).
- Cambia los permisos de los archivos a 644 (lectura para todos, escritura solo para el propietario).
- Especial atención a la carpeta
var(ocacheen versiones antiguas): esta debe tener permisos 777 en algunos servidores para que PrestaShop pueda generar archivos temporales. Si tu hosting es seguro, prueba primero con 755 y si sigue fallando, sube a 777.
[TIP] Si no sabes cómo cambiar permisos por FTP, la mayoría de clientes FTP como FileZilla te permiten hacer clic derecho sobre el archivo/carpeta y seleccionar "Permisos de archivo...". Ahí introduces el número.
[WARNING] No dejes todas las carpetas en 777 de forma permanente. Es un riesgo de seguridad grave. Úsalo solo temporalmente para diagnosticar y luego vuelve a 755.
2. Archivos corruptos o incompletos
¿Por qué ocurre?
Si acabas de actualizar PrestaShop, instalar un módulo o subir un tema, es posible que algún archivo se haya subido de forma incompleta o se haya corrompido durante la transferencia. El error 500 aparece porque el código intenta cargar un archivo que no está completo.
Solución paso a paso
La forma más fiable de arreglar esto es reemplazar los archivos dañados con una copia limpia:
- Descarga la versión exacta de PrestaShop que tienes instalada (puedes verla en el back office, en "Parámetros avanzados" > "Información").
- Descomprime el archivo en tu ordenador.
- Conecta por FTP a tu servidor.
- Sube los archivos de la carpeta
config,srcyvendor(si existen) reemplazando los existentes. No subas la carpetainstall. - Si el error comenzó tras instalar un módulo, elimina la carpeta del módulo desde
/modules/nombre_del_modulopara desactivarlo por completo. - Borra la carpeta
var/cache(ocacheen versiones antiguas) para forzar la regeneración de archivos temporales.
[INFO] Si no recuerdas qué cambio hiciste antes del error, revisa el historial de tu panel de control (si es cPanel o similar) o los correos de tu hosting. A veces el propio error te da pistas.
3. Problemas con el archivo .htaccess
¿Por qué ocurre?
PrestaShop genera automáticamente un archivo .htaccess que controla las redirecciones, URLs amigables y reglas de seguridad. Si este archivo se corrompe, se sube mal o tiene reglas incompatibles, el servidor falla y devuelve el error 500.
Solución paso a paso
- Conecta por FTP a tu servidor.
- Busca el archivo
.htaccessen la raíz de tu tienda. Si no lo ves, activa la opción "mostrar archivos ocultos" en tu cliente FTP. - Descarga una copia de seguridad a tu ordenador (por si acaso).
- Elimina el archivo
.htaccessdel servidor. - Ve a tu back office de PrestaShop (si aún puedes acceder) y ve a "Parámetros avanzados" > "SEO y URLs".
- Guarda la página sin hacer cambios. Esto forzará a PrestaShop a regenerar el archivo
.htaccessautomáticamente.
Si no puedes acceder al back office, puedes probar a crear un archivo .htaccess vacío y subirlo a la raíz. Luego intenta acceder a tu tienda. Si funciona, significa que el problema era el archivo y podrás regenerarlo desde el panel.
[WARNING] Nunca edites el
.htaccessa mano si no sabes exactamente qué estás haciendo. Una línea mal escrita puede tumbar tu tienda por completo.
4. Errores de PHP: memoria, versión o configuración
¿Por qué ocurre?
PrestaShop está escrito en PHP, y si tu servidor tiene una versión de PHP incompatible (muy antigua o demasiado nueva), o el límite de memoria es demasiado bajo, el script no puede ejecutarse y se produce el error 500.
Solución paso a paso
- Comprueba la versión de PHP de tu hosting. PrestaShop 1.7 y 8.x funcionan bien con PHP 7.2 a 8.1 (según versión). Si tienes PHP 5.6 o menos, es muy probable que ese sea el problema.
- Cambia la versión de PHP desde el panel de control de tu hosting (cPanel, Plesk, Syspanel, etc.). Busca "Select PHP Version" o "Administrador de PHP".
- Aumenta el límite de memoria. En cPanel busca "MultiPHP INI Editor" o crea un archivo
php.inien la raíz con esta línea:memory_limit = 512M max_execution_time = 300 - Activa la visualización de errores temporalmente para ver el mensaje exacto. Crea un archivo llamado
_error.phpen la raíz con este contenido:
Luego añade<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); ?>require_once('_error.php');al inicio de tu archivoindex.php. Esto te mostrará el error concreto en pantalla. No olvides eliminarlo después.
[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el puerto de acceso al panel es el 2106. Desde allí podrás cambiar la versión de PHP en "Web" > "PHP" o en la configuración del dominio.
5. Conflictos entre módulos o temas
¿Por qué ocurre?
A veces, un módulo recién instalado o una actualización de un tema no es compatible con la versión de PrestaShop que tienes. Esto genera un conflicto que se manifiesta como error 500, especialmente en páginas específicas (como el carrito o el checkout).
Solución paso a paso
- Identifica qué módulo o tema falla. Si el error aparece solo en una página concreta (ej. el carrito), el problema está en el módulo que gestiona esa función.
- Desactiva el módulo sospechoso desde el back office (si puedes acceder). Ve a "Módulos" > "Administrador de módulos" y busca el que instalaste recientemente.
- Si no puedes acceder al back office, renombra la carpeta del módulo desde FTP. Por ejemplo, cambia
/modules/mi_moduloa/modules/mi_modulo_off. Esto lo desactiva forzosamente. - Prueba con el tema por defecto. Ve a "Diseño" > "Tema y logotipo" y cambia al tema clásico de PrestaShop. Si el error desaparece, el problema es tu tema personalizado.
[TIP] Siempre haz una copia de seguridad de tu base de datos y archivos antes de instalar módulos o temas nuevos. Así podrás revertir cualquier cambio fácilmente.
6. Espacio en disco agotado o problemas con la base de datos
¿Por qué ocurre?
Si tu servidor se queda sin espacio en disco, PrestaShop no puede escribir archivos temporales ni la caché, y responde con un error 500. También puede ocurrir si la base de datos está corrupta o llena de registros obsoletos.
Solución paso a paso
- Revisa el espacio en disco desde el panel de control de tu hosting. Si está al 95% o más, libera espacio eliminando copias de seguridad antiguas, logs o archivos temporales.
- Comprueba la base de datos. Desde phpMyAdmin (o la herramienta de tu hosting), selecciona tu base de datos y haz clic en "Reparar" (si usas phpMyAdmin, hay una pestaña de "Operaciones" y luego "Reparar tabla").
- Optimiza las tablas. Marca todas las tablas y en el menú desplegable selecciona "Optimizar tablas". Esto compacta la base y elimina fragmentación.
- Limpia la caché de PrestaShop. Elimina el contenido de la carpeta
var/cache(todos los archivos dentro, no la carpeta en sí) y tambiénvar/logs.
[WARNING] No borres nunca la carpeta
varcompleta, solo su contenido interno. Si la eliminas entera, PrestaShop no podrá regenerarla correctamente.
Preguntas frecuentes (FAQ)
¿El error 500 puede deberse a un ataque de hackers?
Sí, es posible. Si tu tienda fue comprometida, los archivos pueden haber sido modificados maliciosamente. Revisa los archivos de tu instalación con un antivirus o compara con una copia limpia de PrestaShop.
¿Cómo sé si es un problema del servidor o de mi tienda?
Puedes crear un archivo test.php en la raíz con solo <?php echo "Hola"; ?>. Si al acceder a tudominio.com/test.php ves "Hola", el servidor está bien y el problema es de PrestaShop. Si también da error 500, es un problema general del servidor (contacta con tu hosting).
¿Debo contactar con mi proveedor de hosting si no puedo arreglarlo?
Sí, si has probado todas las soluciones anteriores y sigues con el error 500 PrestaShop, contacta con tu proveedor. Muchas veces ellos pueden ver los logs del servidor y decirte exactamente qué está fallando. Pídeles que revisen el log de errores de PHP y el log de Apache/Nginx.
¿Puedo evitar este error en el futuro?
Sí, con estos hábitos:
- Mantén copias de seguridad periódicas (archivos y base de datos).
- Actualiza PrestaShop, módulos y temas solo a versiones compatibles.
- No instales módulos de fuentes no oficiales.
- Revisa los permisos de archivos después de cualquier cambio importante.
¿Qué hago si el error aparece solo en el back office?
Si el front office (tu tienda) funciona pero el panel de administración da error 500, el problema suele estar en un módulo de administración o en la carpeta admin (que tiene un nombre personalizado). Prueba a renombrar la carpeta de módulos recientes o restaura los archivos de la carpeta src desde una copia limpia.
Resumen final
El error 500 PrestaShop es un aviso genérico, pero con un poco de paciencia y siguiendo estos pasos, en la mayoría de los casos puedes solucionarlo sin ayuda profesional. Recuerda siempre:
- Revisa los permisos de archivos primero.
- Comprueba si hiciste algún cambio reciente (módulo, tema, actualización).
- Aumenta el límite de memoria de PHP si tienes una tienda grande.
- No temas contactar con tu hosting si estás atascado.
Espero que esta guía te haya sido útil. Si tienes alguna duda más específica, déjala en los comentarios y estaré encantado de ayudarte. ¡Tu tienda volverá a estar online en poco tiempo!
