Cómo resolver el error 500 en PrestaShop (guía para cPanel y Plesk)
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, seguramente te has topado con el temido error 500 en PrestaShop. No te preocupes, es un problema muy común y, aunque suene grave, en la mayoría de los casos se soluciona con unos pocos pasos. Vamos a desglosarlo de forma sencilla, tanto si usas cPanel como Plesk.
¿Qué es el error 500 y por qué aparece en PrestaShop?
El error 500 es un código genérico que significa "Error Interno del Servidor". Básicamente, tu tienda PrestaShop intentó cargar, pero algo en el servidor (o en tu configuración) falló. No te dice exactamente qué está mal, pero las causas más frecuentes en PrestaShop son:
- Archivos .htaccess corruptos (el archivo que gestiona las reglas de URL y redirecciones).
- Problemas de permisos de archivos (el servidor no puede leer o escribir ciertos archivos).
- Configuración de PHP incorrecta (límite de memoria, tiempo de ejecución, etc.).
- Módulos o temas incompatibles (especialmente después de una actualización).
- Problemas con el archivo de configuración
settings.inc.php. - Caché corrupta de PrestaShop o del servidor.
Vamos a ir paso a paso, desde lo más sencillo a lo más técnico. No te saltes ninguno.
Paso 1: Lo primero, activa el modo depuración de PrestaShop
Antes de tocar nada, necesitamos que PrestaShop nos cuente qué está pasando. Normalmente el error 500 es mudo, pero podemos activar el modo depuración para ver el mensaje de error real.
Para acceder al archivo de configuración principal:
Necesitas un gestor de archivos (como el de cPanel, Plesk o FTP). Busca el archivo config/defines.inc.php en la raíz de tu instalación de PrestaShop.
- Abre el archivo con un editor de texto (como el Bloc de notas o el editor de cPanel).
- Busca esta línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true);
(También puedes añadir debajo:define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);para evitar avisos molestos) - Guarda el archivo y vuelve a cargar tu tienda.
- ¡Importante! Una vez solucionado el error, vuelve a poner
false. Si lo dejas entrue, tu tienda mostrará información sensible a los visitantes.
[TIP] Si no encuentras el archivo, puede que tu hosting lo tenga oculto. En cPanel, activa "Mostrar archivos ocultos" en el gestor de archivos.
Paso 2: Solucionar el error 500 PrestaShop desde cPanel
cPanel es uno de los paneles más usados. Aquí te explico cómo atacar el problema desde ahí.
2.1. Regenera el archivo .htaccess
El archivo .htaccess es el culpable en el 80% de los casos. Puede corromperse al instalar un módulo o al cambiar la URL de la tienda.
-
Renombra el archivo actual (no lo borres aún). Busca en la raíz de tu tienda el archivo
.htaccessy renómbralo a.htaccess_old. Esto desactivará temporalmente las reglas. -
Prueba tu tienda. Si el error desaparece, el problema era el .htaccess.
-
Regenera un nuevo .htaccess desde el back office de PrestaShop:
- Ve a Parámetros de la tienda > Tráfico y SEO > SEO y URLs.
- Haz clic en el botón "Guardar" (sin cambiar nada). Esto forzará a PrestaShop a crear un nuevo
.htaccesslimpio.
-
Si no puedes acceder al back office, puedes crear un
.htaccessbásico manualmente con este contenido (sustituyetudominio.compor el tuyo):<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^tudominio.com$ [NC] RewriteRule ^(.*)$ https://www.tudominio.com/$1 [L,R=301] </IfModule>
2.2. Revisa los permisos de archivos y carpetas
Los permisos incorrectos son otra causa clásica. En cPanel:
- Ve al Administrador de archivos y selecciona la carpeta raíz de tu tienda.
- Selecciona todas las carpetas (no los archivos) y haz clic en "Permisos".
- Establece los permisos a 755 (marca las casillas: Propietario: Lectura, Escritura, Ejecución; Grupo: Lectura, Ejecución; Público: Lectura, Ejecución).
- Ahora selecciona todos los archivos y ponlos a 644 (Propietario: Lectura, Escritura; Grupo: Lectura; Público: Lectura).
- Excepción importante: La carpeta
cache,logyuploaddeben tener permisos 755 o incluso 777 temporalmente para que PrestaShop pueda escribir en ellas.
[WARNING] No dejes permisos 777 de forma permanente. Es un riesgo de seguridad. Úsalos solo para pruebas y luego vuelve a 755.
2.3. Aumenta la memoria PHP desde cPanel
PrestaShop es un poco glotón con la memoria. Si tu tienda tiene muchos productos o módulos, puede necesitar más.
- En cPanel, busca la sección "Seleccionar versión de PHP" o "Administrador de PHP".
- Haz clic en "Opciones" o "Cambiar configuración".
- Busca la variable
memory_limity cámbiala a 256M o incluso 512M. - También revisa
max_execution_time(ponlo a 120 segundos) ymax_input_vars(ponlo a 5000, importante para tiendas con muchos atributos). - Guarda los cambios. Esto se aplica automáticamente.
Paso 3: Solucionar el error 500 PrestaShop desde Plesk
Si usas Plesk, no te preocupes, los pasos son similares pero con la interfaz de Plesk.
3.1. Accede al Administrador de archivos de Plesk
- Ve a tu dominio y haz clic en "Administrador de archivos".
- Busca el archivo
.htaccessen la raíz y renómbralo a.htaccess.bak(igual que en cPanel). - Prueba tu tienda. Si funciona, el problema es el .htaccess.
3.2. Ajusta la configuración de PHP en Plesk
Plesk tiene un apartado específico para PHP.
- En el panel de tu dominio, busca "Configuración de PHP" o "PHP Settings".
- Verás una lista de parámetros. Busca y modifica:
memory_limit: 256M o 512M.max_execution_time: 120.max_input_vars: 5000.
- Haz clic en "Aplicar" o "OK". Plesk suele tardar unos segundos en refrescar.
3.3. Revisa los logs de error en Plesk
Plesk facilita mucho la búsqueda de errores.
- En el panel de tu dominio, busca "Registros" o "Logs".
- Descarga el archivo
error_logmás reciente. - Ábrelo con un editor de texto. Busca la palabra "PHP Fatal error" o "500". Ahí verás la línea exacta del error (por ejemplo, "require_once(): Failed opening required..."). Eso te dará la pista definitiva.
Paso 4: Soluciones avanzadas (si lo anterior no funciona)
A veces el error es más específico. Prueba estas opciones.
4.1. Desactiva todos los módulos de PrestaShop
Un módulo recién instalado o actualizado puede estar causando el error. No puedes entrar al back office, así que toca hacerlo por FTP.
- Conéctate por FTP a tu servidor.
- Ve a la carpeta
/modules. - Renombra la carpeta del módulo sospechoso (por ejemplo,
micodigoamicodigo_off). Si no sabes cuál es, renombra todos los módulos que hayas instalado recientemente. - Prueba la tienda. Si funciona, ya sabes el culpable.
4.2. Borra la caché de PrestaShop manualmente
La caché de PrestaShop a veces se corrompe.
- Conéctate por FTP.
- Borra todo el contenido de la carpeta
/cache/smarty/compile(no borres la carpeta en sí, solo su interior). - Borra también el contenido de
/cache/smarty/cache. - Opcional: borra el archivo
/cache/class_index.php. PrestaShop lo regenerará solo.
4.3. Revisa el archivo settings.inc.php
Este archivo contiene la configuración de la base de datos. Si está dañado, todo falla.
- Busca el archivo
/config/settings.inc.php. - Ábrelo y asegúrate de que los datos de conexión a la base de datos (nombre, usuario, contraseña, servidor) son correctos. Si recientemente cambiaste la contraseña de MySQL, este archivo puede estar desactualizado.
- Si tienes una copia de seguridad, restaura este archivo.
[INFO] Si usas Syspanel (el panel que antes se llamaba HestiaCP), el acceso a los archivos es similar. Recuerda que la URL de acceso a Syspanel es tudominio.com:2106. Allí encontrarás el gestor de archivos y la configuración de PHP.
Preguntas frecuentes (FAQ) sobre el error 500 en PrestaShop
P: ¿Por qué aparece el error 500 solo en algunas páginas?
R: Generalmente es por un módulo específico o por una regla de .htaccess mal escrita para esa URL. Prueba a desactivar el módulo de esa página o regenera el .htaccess.
P: ¿El error 500 puede deberse a un plugin de caché?
R: Sí, sobre todo si usas cachés como Varnish o Redis sin configurar bien. Desactiva temporalmente la caché desde el archivo config/defines.inc.php (poniendo define('_PS_CACHE_ENABLED_', false);).
P: No tengo acceso al back office ni al FTP. ¿Qué hago?
R: Contacta con tu soporte de hosting. Ellos pueden acceder directamente al servidor y revisar los logs. Si tienes cPanel, pídeles que activen el "Modo de depuración" desde su lado.
P: Después de solucionarlo, ¿cómo evito que vuelva a pasar?
R: Mantén PrestaShop, los módulos y el tema siempre actualizados. Haz copias de seguridad periódicas del .htaccess y de la carpeta config. Y no instales módulos de fuentes no oficiales.
P: ¿El error 500 está relacionado con el SEO?
R: Indirectamente, sí. Un error 500 constante hará que Google no pueda indexar tu tienda, lo que perjudica tu posicionamiento. Por eso es crítico solucionarlo rápido.
Resumen rápido para no perderte
- Activa el modo depuración para ver el error real.
- Renombra el .htaccess (es la causa más común).
- Revisa los permisos de archivos (755 carpetas, 644 archivos).
- Aumenta la memoria PHP (256M o 512M) desde cPanel o Plesk.
- Borra la caché de PrestaShop (carpetas
/cache/smarty/compiley/cache/smarty/cache). - Desactiva módulos sospechosos renombrando sus carpetas.
- Revisa los logs del servidor (error_log) para obtener la pista definitiva.
Y recuerda, si te sientes abrumado, siempre puedes pedir ayuda a tu proveedor de hosting. ¡Ellos están para eso! Espero que esta guía te haya sido útil. ¡Tu tienda volverá a funcionar en poco tiempo!
