Cómo arreglar el error 500 en PrestaShop (DirectAdmin)
¿Qué significa el error 500 en PrestaShop?
El error 500 PrestaShop es uno de los avisos más temidos por cualquier dueño de tienda online. Básicamente, significa que algo salió mal en el servidor y que la tienda no puede cargar. Es un error genérico: el servidor sabe que hay un problema, pero no te dice exactamente cuál es. Por eso, para solucionar error 500 PrestaShop necesitas investigar un poco, pero no te preocupes: en esta guía te explico paso a paso cómo hacerlo, incluso si nunca has tocado un panel de control como DirectAdmin.
Cuando trabajamos con PrestaShop DirectAdmin error, las causas más comunes suelen estar relacionadas con permisos de archivos, memoria insuficiente, archivos .htaccess corruptos o incluso módulos incompatibles. La buena noticia es que la mayoría de estos problemas se resuelven en pocos minutos si sabes dónde mirar.
A lo largo de este artículo, te voy a enseñar métodos prácticos y ordenados, desde los más sencillos hasta los más técnicos. Mi objetivo es que, al final, tengas las herramientas para diagnosticar y reparar el error tú mismo, sin necesidad de pagar un servicio externo.
Antes de empezar: prepara tu entorno de trabajo
Para trabajar con tu servidor, necesitarás dos cosas: acceso al panel de control DirectAdmin y un cliente FTP como FileZilla (o el administrador de archivos que incluye DirectAdmin). Si no tienes experiencia, te recomiendo usar el administrador de archivos de DirectAdmin, ya que es visual y evita errores de conexión.
Además, es fundamental que hagas una copia de seguridad antes de tocar nada. Esto incluye tanto los archivos de tu tienda como la base de datos. Si algo sale mal, podrás restaurar todo en minutos.
[WARNING] Nunca modifiques archivos del núcleo de PrestaShop sin tener una copia de seguridad reciente. Un pequeño cambio puede romper toda la tienda.
Paso 1: Habilitar el modo de depuración de PrestaShop
El primer paso para solucionar error 500 PrestaShop es saber qué lo está causando. PrestaShop tiene un modo de depuración que muestra el error real en pantalla. Para activarlo, necesitas editar el archivo config/defines.inc.php.
Cómo hacerlo:
- Entra a DirectAdmin y abre el Administrador de Archivos.
- Navega hasta la carpeta
configdentro de la raíz de tu PrestaShop. - Busca el archivo
defines.inc.phpy haz clic derecho para editarlo. - Busca la línea que dice
define('_PS_MODE_DEV_', false);. - Cambia
falseportrue. - Guarda los cambios y recarga tu tienda.
Ahora, en lugar del error genérico, verás un mensaje descriptivo como "Fatal error: Allowed memory size..." o "Class not found". Ese mensaje te indicará exactamente qué está fallando.
[INFO] Una vez que hayas solucionado el problema, vuelve a poner false en el modo depuración. Dejarlo activo en producción es un riesgo de seguridad.
Paso 2: Aumentar el límite de memoria PHP
Uno de los desencadenantes más comunes del error 500 PrestaShop es la falta de memoria. PrestaShop es una plataforma exigente, especialmente si tienes muchos módulos o un catálogo grande. Cuando el servidor agota la memoria PHP, devuelve un error 500.
Para aumentar el límite de memoria:
- Accede al Administrador de Archivos de DirectAdmin.
- Busca el archivo
.htaccessen la raíz de tu tienda. - Si no existe, créalo con un editor de texto.
- Añade estas líneas al final:
<IfModule mod_php7.c>
php_value memory_limit 512M
php_value max_execution_time 300
php_value max_input_time 300
</IfModule>
- Guarda los cambios y prueba de nuevo.
Si DirectAdmin usa PHP-FPM (que es lo más habitual), el método anterior puede no funcionar. En ese caso, necesitas crear un archivo llamado php.ini en la raíz y añadir:
memory_limit = 512M
max_execution_time = 300
[WARNING] Si el error persiste después de aumentar la memoria, el problema no es la memoria. No sigas subiendo el límite: busca otra causa.
Paso 3: Revisar los permisos de archivos y carpetas
Los permisos incorrectos son otra causa frecuente del PrestaShop DirectAdmin error. Si algún archivo o carpeta tiene permisos demasiado restrictivos, el servidor no puede leerlo o escribirlo, y responde con un error 500.
Los permisos correctos son:
- Carpetas: 755
- Archivos: 644
- Carpeta
configycache: 755 - Archivos de configuración: 644
Cómo cambiarlos:
- En el Administrador de Archivos de DirectAdmin, selecciona todos los archivos y carpetas.
- Haz clic en Cambiar permisos.
- Introduce el valor correcto (755 para carpetas, 644 para archivos).
- Aplica los cambios.
Si tienes muchos archivos, esto puede tardar. Otra opción es usar FTP con FileZilla: selecciona todo y haz clic derecho → Permisos de archivo → marca las casillas adecuadas.
[TIP] No le des permisos 777 a nada. Aunque solucione el error temporalmente, deja tu tienda expuesta a ataques.
Paso 4: Regenerar el archivo .htaccess
El archivo .htaccess es fundamental para el funcionamiento de PrestaShop. Si está dañado, incompleto o tiene reglas incompatibles, el servidor devolverá un error 500. La solución es regenerarlo desde el panel de administración.
Pasos para regenerar .htaccess:
- Entra a tu Panel de Administración de PrestaShop (si puedes acceder).
- Ve a Parámetros avanzados → Rendimiento.
- Busca la sección Archivo .htaccess.
- Haz clic en Guardar (aunque no hayas cambiado nada). Esto fuerza la regeneración.
Si no puedes acceder al panel, tendrás que hacerlo manualmente:
- Renombra el archivo
.htaccessactual a.htaccess_old. - Intenta cargar tu tienda. PrestaShop generará uno nuevo automáticamente.
- Si no lo hace, copia este contenido básico y pégalo en un nuevo
.htaccess:
# .htaccess automático de PrestaShop
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^api/ - [L]
RewriteRule ^ - [L]
</IfModule>
[INFO] Después de regenerar el .htaccess, recuerda limpiar la caché de PrestaShop desde Parámetros avanzados → Rendimiento.
Paso 5: Comprobar los registros de error del servidor
Si los pasos anteriores no funcionan, necesitas mirar los logs del servidor. DirectAdmin guarda registros de error que te dirán la causa exacta del error 500 PrestaShop.
Cómo acceder a los logs:
- En DirectAdmin, busca la sección Gestión de errores o Registros.
- Abre el archivo
error.logoerror_logcorrespondiente a tu dominio. - Busca las últimas líneas antes de que ocurriera el error.
Verás mensajes como:
- "PHP Fatal error: Uncaught Error: Call to undefined function..."
- "Permission denied"
- "File not found"
Con esa información, puedes buscar la solución exacta o pedir ayuda en foros especializados.
Paso 6: Revisar módulos y temas recientes
A veces, el error 500 PrestaShop aparece después de instalar un módulo o cambiar de tema. Esto se debe a que algún código es incompatible con tu versión de PHP o con otros módulos.
Cómo identificar al culpable:
- Si tienes acceso al panel de administración, desactiva todos los módulos no esenciales.
- Vuelve a cargar la tienda. Si funciona, activa los módulos uno a uno hasta encontrar el que falla.
- Si no tienes acceso al panel, renombra la carpeta
modulesamodules_oldy crea una nueva carpeta vacíamodules. Esto desactiva todos los módulos de golpe.
[WARNING] Si renombras la carpeta modules, también perderás la configuración de los módulos. Úsalo solo como último recurso.
Paso 7: Verificar la versión de PHP
PrestaShop tiene requisitos mínimos de PHP. Si tu servidor usa una versión muy antigua o muy nueva, pueden aparecer errores 500. DirectAdmin te permite cambiar la versión de PHP fácilmente.
Cómo cambiar la versión de PHP:
- En DirectAdmin, busca Administrador de PHP o Selector de versión de PHP.
- Elige una versión compatible con tu PrestaShop (por ejemplo, PHP 7.4 u 8.0).
- Guarda los cambios y prueba tu tienda.
[TIP] Si tu PrestaShop es antiguo (1.6 o inferior), PHP 8 puede causar incompatibilidades. En ese caso, usa PHP 7.4.
Paso 8: Limpiar la caché de PrestaShop manualmente
Una caché corrupta puede provocar un error 500 PrestaShop sin razón aparente. Aunque no puedas acceder al panel de administración, puedes limpiarla manualmente.
Archivos y carpetas a borrar:
- Carpeta
var/cache(en PrestaShop 1.7+) - Carpeta
cache(en PrestaShop 1.6) - Carpeta
cache/smarty(en versiones antiguas)
Borra el contenido de estas carpetas, pero no las carpetas en sí. Después, recarga tu tienda.
Soluciones avanzadas: base de datos y archivos de configuración
Si nada funciona, el problema puede estar en la base de datos. Un campo corrupto o una tabla dañada pueden provocar errores 500. Para verificarlo:
- Ve a phpMyAdmin desde DirectAdmin.
- Selecciona tu base de datos de PrestaShop.
- Haz clic en Comprobar en la pestaña Operaciones.
- Si hay errores, haz clic en Reparar.
También puedes revisar el archivo config/settings.inc.php (PrestaShop 1.6) o app/config/parameters.php (PrestaShop 1.7). Asegúrate de que las credenciales de la base de datos sean correctas.
Preguntas frecuentes (FAQ)
¿Por qué aparece el error 500 solo en algunas páginas?
Esto suele indicar un problema con un módulo o una plantilla específica. Prueba a desactivar módulos uno a uno o cambia temporalmente de tema.
¿Cuánto tiempo se tarda en arreglar un error 500?
Depende de la causa. Los problemas de permisos o memoria se resuelven en minutos. Si es un módulo conflictivo, puede llevar más tiempo.
¿El error 500 afecta al posicionamiento SEO?
Sí, si el error persiste durante horas, Google puede penalizar tu tienda. Es importante solucionarlo rápidamente y verificar que todas las URLs funcionan después.
¿Puedo evitar futuros errores 500?
Sí, mantén PrestaShop actualizado, usa módulos de fuentes confiables y revisa los permisos de archivos periódicamente. También es buena idea monitorear el espacio en disco y la memoria del servidor.
Resumen y último consejo
Hemos recorrido los métodos más eficaces para solucionar error 500 PrestaShop en DirectAdmin. Desde habilitar el modo depuración hasta revisar la base de datos, cada paso está diseñado para que puedas diagnosticar y reparar el problema sin ser un experto.
Recuerda el orden lógico: primero activa el modo depuración para ver el error real, luego revisa memoria y permisos, y solo después toca módulos o base de datos. Si en algún momento te sientes perdido, no dudes en contactar con tu proveedor de hosting: ellos pueden ver los logs del servidor y ayudarte a identificar la causa.
[INFO] Si usas Syspanel (antes HestiaCP) en lugar de DirectAdmin, el acceso se realiza a través del puerto 2106. Los pasos son similares, pero la interfaz cambia. En caso de duda, consulta la documentación de tu panel.
Espero que esta guía te haya sido útil. Ahora ya sabes cómo enfrentarte al temido error 500 PrestaShop con confianza. ¡Manos a la obra y buena suerte con tu tienda!
