Cómo solucionar el error 500 en PrestaShop paso a paso
¿Por qué aparece el error 500 en PrestaShop?
El error 500 prestashop (o 500 internal prestashop) es uno de los avisos más temidos por cualquier dueño de tienda online. La buena noticia es que, en la mayoría de los casos, tiene una solución sencilla que no requiere que seas un experto en programación.
Este error significa que el servidor encontró un problema inesperado que le impide cargar tu tienda. Es un mensaje genérico, pero las causas suelen ser bastante concretas: archivos con permisos incorrectos, un módulo que falla, un archivo .htaccess corrupto o un problema de memoria en tu hosting.
Vamos a ver cómo solucionar el error 500 en PrestaShop paso a paso, de forma ordenada y sin tecnicismos innecesarios. Antes de empezar, ten en cuenta que necesitarás acceso a tu panel de control de hosting (como cPanel, Plesk o Syspanel) y, en algunos casos, a un cliente FTP como FileZilla.
Paso 1: Identifica el alcance del problema (¿es todo el sitio o solo una página?)
Lo primero que debes hacer es determinar si el error servidor prestashop afecta a toda la tienda o solo a algunas secciones. Esta información te dará pistas sobre el origen.
- Si todo el sitio da error 500: el problema suele estar en archivos globales como
.htaccess,config/settings.inc.phpo en la memoria PHP. - Si solo falla una página o un módulo: el problema está relacionado con ese módulo o con alguna plantilla específica.
Prueba rápida: accede a tu tienda desde un navegador en modo incógnito y también desde el móvil (con datos móviles, no WiFi). Si el error persiste, vamos a por el siguiente paso.
Paso 2: Activa el modo debug de PrestaShop para ver el error real
El mensaje "500 Internal Server Error" es muy poco descriptivo. Para solucionar el error 500 de forma eficaz, necesitas ver el error real. PrestaShop tiene un modo de depuración que te mostrará el problema exacto.
- Conéctate a tu hosting mediante FTP (FileZilla) o desde el administrador de archivos de tu panel de control.
- Localiza la carpeta raíz donde está instalado PrestaShop (normalmente
public_htmlohtdocs). - Busca el archivo
config/defines.inc.php. - Descarga el archivo a tu ordenador y ábrelo con un editor de texto (Bloc de notas o Notepad++).
- Busca esta línea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo al servidor (reemplaza el original).
Ahora, recarga tu tienda. Verás un mensaje de error mucho más detallado, como "Fatal error: Allowed memory size exhausted" o "Class not found". Anota ese mensaje porque te servirá para los siguientes pasos.
[INFO] Si no puedes acceder por FTP, también puedes hacerlo desde el administrador de archivos de tu hosting. Busca "Administrador de archivos" en cPanel, Plesk o Syspanel (recuerda que el puerto de acceso a Syspanel es el 2106).
Paso 3: Limpia la caché de PrestaShop
Una de las causas más comunes del prestashop error es una caché corrupta o demasiado antigua. A veces, el error aparece después de actualizar un módulo o cambiar la tienda, y la caché guarda información obsoleta.
🔹 Método manual (sin acceso al panel)
- Conecta por FTP a tu hosting.
- Ve a la carpeta
var/cache(en PrestaShop 1.7 y 1.8) ocache(en versiones anteriores). - Elimina todo el contenido de esa carpeta. No borres la carpeta en sí, solo su contenido.
- Si no puedes borrar algunos archivos, cámbiales el nombre (por ejemplo,
index.phpaindex.php.bak).
🔹 Método desde el panel de administración
Si aún puedes acceder al back-office de PrestaShop:
- Ve a Parámetros avanzados → Rendimiento.
- Haz clic en Vaciar la caché (botón morado).
- También puedes desactivar la caché temporalmente para ver si el problema se resuelve.
Paso 4: Revisa los permisos de archivos y carpetas
Los permisos incorrectos son la causa número uno del error 500 prestashop. Si algún archivo o carpeta tiene permisos demasiado restrictivos, el servidor no puede leerlos y devuelve el error.
🔹 Permisos correctos
- Carpetas: deben tener permiso
755o750. - Archivos: deben tener permiso
644o640. - Archivos de configuración (como
config/settings.inc.php): a veces necesitan444(solo lectura) para evitar modificaciones.
🔹 Cómo cambiarlos
- Conecta por FTP con FileZilla.
- Selecciona todos los archivos y carpetas de la raíz de PrestaShop (Ctrl+A).
- Clic derecho → Permisos de archivos.
- Escribe
644para archivos y marca la casilla "Aplicar a subdirectorios". - Repite el proceso con las carpetas, pero esta vez con
755.
[WARNING] No apliques permisos
777(lectura, escritura y ejecución para todos) porque es un riesgo de seguridad grave. Si tu hosting te lo pide, busca otra alternativa.
Paso 5: Revisa el archivo .htaccess
El archivo .htaccess es como el "manual de instrucciones" del servidor. Si está dañado o configurado incorrectamente, provoca el 500 internal prestashop.
🔹 Regenerar el .htaccess desde el panel
- Accede al back-office de tu PrestaShop.
- Ve a Parámetros avanzados → Rendimiento.
- Busca la sección "Generar archivo .htaccess".
- Haz clic en Guardar (aunque no cambies nada, se regenera el archivo).
🔹 Regenerar el .htaccess manualmente
Si no puedes acceder al panel:
- Conecta por FTP y busca el archivo
.htaccessen la raíz. - Descárgalo y guárdalo como respaldo en tu ordenador.
- Elimínalo del servidor.
- Recarga tu tienda. Si funciona, el problema era el
.htaccess. - Entra al back-office y deja que PrestaShop lo regenere automáticamente.
Paso 6: Aumenta el límite de memoria PHP
Otro culpable habitual del error servidor prestashop es la falta de memoria. Cuando un módulo o una página requiere más memoria de la que el servidor permite, se produce el error 500.
🔹 Cómo aumentar la memoria
- Ve a la carpeta raíz de PrestaShop.
- Busca el archivo
config/defines.inc.php. - Justo después de la línea que dice
<?php, añade esta línea:ini_set('memory_limit', '256M'); - Guarda el archivo y súbelo.
Si no funciona, también puedes intentar creando un archivo php.ini en la raíz con este contenido:
memory_limit = 256M
max_execution_time = 300
[TIP] Si tu hosting usa Syspanel, puedes cambiar el límite de memoria desde el panel, en la sección "Administrador de archivos" o "Configuración de PHP". Recuerda que el puerto de acceso a Syspanel es el 2106.
Paso 7: Desactiva los módulos problemáticos
Si el error apareció después de instalar o actualizar un módulo, es muy probable que ese sea el responsable. Para solucionar el error 500 en PrestaShop, a veces hay que "poner en cuarentena" a los módulos.
🔹 Método rápido con FTP
- Conecta por FTP y ve a la carpeta
modules. - Localiza la carpeta del módulo que sospechas que causa el problema (por la fecha de modificación).
- Renombra la carpeta añadiendo
_bakal final (por ejemplo,moduloproblema_bak). - Recarga tu tienda. Si el error desaparece, ese era el problema.
🔹 Método desde la base de datos (avanzado)
Si no sabes qué módulo es, puedes desactivarlos todos desde la base de datos:
- Accede a phpMyAdmin desde tu hosting.
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_module(oprestashop_module). - Ejecuta esta consulta SQL:
UPDATE ps_module SET active = 0 WHERE active = 1; - Luego, ve al back-office y activa los módulos de uno en uno para identificar al culpable.
Paso 8: Revisa los logs del servidor
Si has llegado hasta aquí y el error persiste, necesitas ver los registros del servidor. Estos archivos contienen el error exacto que está ocurriendo.
🔹 Dónde encontrar los logs
- cPanel: Sección "Métricas" → "Errores".
- Plesk: "Sitios web y dominios" → "Registros".
- Syspanel: Dentro de la sección "Registros" o "Logs". Recuerda que el puerto es el 2106.
- Por FTP: Busca una carpeta llamada
logsoerror_logen la raíz.
🔹 Qué buscar
Abre el archivo de logs más reciente y busca la línea que contenga la fecha y hora actual. Verás un mensaje como:
[error] PHP Fatal error: Uncaught Error: Call to undefined function...
Ese mensaje te dice exactamente qué archivo y qué línea causa el problema. Con esa información, puedes buscar en Google el error exacto o contactar con soporte.
Paso 9: Verifica la versión de PHP
PrestaShop es exigente con la versión de PHP. Si tu hosting actualizó PHP y tu tienda usa una versión antigua, aparecerá el prestashop error.
🔹 Versiones compatibles
- PrestaShop 1.7.x: PHP 7.1 a 8.0 (recomendado 7.4).
- PrestaShop 1.8.x: PHP 7.4 a 8.1.
- PrestaShop 8.x: PHP 7.4 a 8.2.
🔹 Cómo cambiar la versión
- Accede a tu panel de hosting.
- Busca la sección "Gestor de PHP" o "Versión de PHP".
- Selecciona la versión recomendada para tu PrestaShop.
- Guarda los cambios y recarga tu tienda.
[WARNING] Cambiar la versión de PHP puede provocar errores en módulos antiguos. Si después del cambio aparecen errores adicionales, vuelve a la versión anterior o actualiza los módulos.
Paso 10: Contacta con tu proveedor de hosting
Si has probado todos los pasos anteriores y el error 500 prestashop sigue ahí, es momento de pedir ayuda profesional. Muchas veces, el problema está en el servidor (memoria del servidor, configuración de Apache o Nginx, etc.) y solo tu proveedor puede solucionarlo.
Qué decir a tu proveedor:
- El mensaje exacto del error (si lo tienes del modo debug).
- La fecha y hora en la que empezó.
- Los pasos que ya has probado (para que no te hagan repetir).
- Captura de pantalla del error si es posible.
Preguntas frecuentes (FAQ) sobre el error 500 en PrestaShop
❓ ¿El error 500 puede deberse a un tema (plantilla) defectuoso?
Sí. Un tema mal codificado o incompatible puede provocar el error 500. Para comprobarlo, cambia temporalmente a un tema por defecto (como "Classic" en PrestaShop 1.7+) desde el back-office o renombrando la carpeta del tema en /themes.
❓ ¿Cuánto tiempo se tarda en solucionar el error 500?
Depende de la causa. Si es un problema de caché o permisos, puedes solucionarlo en 10-15 minutos. Si es un módulo conflictivo o un problema de servidor, puede llevar más tiempo.
❓ ¿Perderé mis datos si hago estos pasos?
No. Todos los pasos que hemos visto son seguros y no eliminan productos, pedidos ni clientes. Solo modifican archivos de configuración o temporales.
❓ ¿Puedo prevenir el error 500 en el futuro?
En parte, sí:
- Mantén PrestaShop y los módulos actualizados.
- Haz copias de seguridad antes de realizar cambios importantes.
- No instales módulos de fuentes desconocidas.
- Revisa los permisos después de subir archivos por FTP.
❓ ¿Qué hago si no puedo acceder ni al back-office?
Si el error servidor prestashop te bloquea también el panel de administración, utiliza los métodos manuales (FTP y base de datos) que hemos visto. Siempre puedes desactivar módulos o regenerar el .htaccess desde fuera.
Resumen: checklist rápido para solucionar el error 500
Para que no te pierdas, aquí tienes un resumen de todo lo que hemos visto:
- Activa el modo debug para ver el error exacto.
- Limpia la caché de PrestaShop (carpeta
var/cache). - Revisa los permisos de archivos (644) y carpetas (755).
- Regenera el archivo
.htaccess. - Aumenta la memoria PHP a 256M.
- Desactiva módulos sospechosos (renombra la carpeta).
- Revisa los logs del servidor para pistas.
- Verifica la versión de PHP.
- Contacta con tu hosting si nada funciona.
Con esta guía completa, ya tienes todas las herramientas para solucionar el error 500 en PrestaShop. Recuerda ir paso a paso, sin saltarte ninguno, y no desesperes: es un problema común y, con paciencia, siempre tiene solución.
[TIP] Si tu tienda es crítica y no puedes permitirte estar caída, considera contratar un plan de hosting gestionado para PrestaShop. Ellos se encargan de estos problemas por ti y tu tienda estará siempre disponible.
