Solución de errores 500 en PrestaShop alojado en Plesk
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver uno de los problemas más temidos cuando tienes una tienda online: el temido error 500 en PrestaShop, especialmente cuando está alojado en un servidor con Plesk. No te preocupes, porque aunque parezca un monstruo, en realidad es un problema muy común y, sobre todo, soluble. Vamos a desglosarlo paso a paso, como si estuviéramos tomando un café juntos.
¿Qué es exactamente un error 500?
Antes de ponernos manos a la obra, entendamos qué significa. Un error 500 (Internal Server Error) es un mensaje genérico que te dice: "Algo salió mal en el servidor, pero no te voy a dar más detalles". Es como cuando enciendes el coche y no arranca, pero el mecánico te dice "es el motor" sin abrir el capó. La gracia está en que, con las herramientas adecuadas, podemos abrir ese capó y ver qué pasa.
En el mundo de PrestaShop y Plesk, este error puede aparecer por muchas razones: desde un archivo de configuración mal escrito hasta un plugin (módulo) que se ha vuelto loco, pasando por permisos incorrectos o problemas de memoria. Vamos a ver las causas más frecuentes y cómo solucionarlas.
Causas principales del error 500 en PrestaShop con Plesk
Aquí tienes una lista rápida de los culpables más comunes. Luego los detallamos:
- Archivo .htaccess corrupto o mal configurado.
- Módulos o temas incompatibles (especialmente después de una actualización).
- Límites de memoria PHP excedidos (PrestaShop es un poco glotón).
- Permisos de archivos incorrectos (muy típico en Plesk).
- Errores en el archivo config/settings.inc.php (la configuración de la base de datos).
- Problemas con la versión de PHP (PrestaShop necesita una versión específica).
Vamos a atacar cada uno con un plan de batalla claro.
Solución paso a paso para el error 500 en PrestaShop
1. Activar el modo debug de PrestaShop (la linterna en la oscuridad)
Lo primero es hacer que PrestaShop nos cuente qué está pasando. Por defecto, el error 500 es mudo, pero podemos encender la luz de "debug".
Cómo hacerlo:
- Conéctate a tu servidor vía FTP (FileZilla, por ejemplo) o al administrador de archivos de Plesk.
- Busca la carpeta raíz de tu tienda (normalmente
httpdocsopublic_html). - Localiza el archivo config/defines.inc.php.
- Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
- Busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y vuelve a cargar tu tienda.
Ahora, en lugar de un error 500 genérico, verás un mensaje detallado con el error real (por ejemplo, "Fatal error: Allowed memory size exhausted"). Anota ese mensaje, porque es tu pista principal.
[WARNING] No te olvides de volver a poner
falsecuando termines de solucionar el problema, o tu tienda mostrará información sensible a los visitantes.
2. Revisar el archivo .htaccess (el guardián de las reglas)
El archivo .htaccess es como un semáforo para el servidor. Si está mal escrito, todo se bloquea.
Pasos para regenerarlo desde PrestaShop:
- Ve a tu panel de administración de PrestaShop (si puedes acceder).
- Ve a Configuración de la tienda > Parámetros generales > SEO y URLs.
- Haz clic en Guardar sin cambiar nada. Esto fuerza a PrestaShop a regenerar el
.htaccess.
Si no puedes acceder al panel, hazlo manualmente:
- Conéctate por FTP y renombra el archivo .htaccess a
.htaccess_old. - Prueba a cargar tu tienda. Si funciona, el problema estaba ahí.
- Ve a tu panel de administración (si te deja) y regenera el archivo como te expliqué.
[TIP] Si el error persiste, puedes crear un
.htaccessbásico temporal. Solo con estas líneas:RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3. Aumentar la memoria PHP (darle más gasolina a PrestaShop)
PrestaShop, sobre todo con muchos módulos, necesita memoria. El límite suele ser 128 MB o 256 MB. Si se pasa, error 500.
Cómo aumentarlo en Plesk:
- Accede a Plesk > Hosting & DNS > Configuración de hosting de tu dominio.
- Busca la sección PHP Settings.
- Localiza el parámetro
memory_limity cámbialo a256Mo incluso512M. - También revisa
max_execution_timey ponlo a120o300. - Guarda los cambios.
Si no tienes acceso a Plesk, puedes hacerlo mediante un archivo php.ini en la raíz:
- Crea un archivo llamado
php.inien la carpeta raíz. - Escribe dentro:
memory_limit = 256M max_execution_time = 300 upload_max_filesize = 64M post_max_size = 64M - Guarda y sube por FTP.
[INFO] Algunos servidores no permiten sobrescribir estos valores desde un
php.ini. En ese caso, pide a tu proveedor que lo haga.
4. Verificar permisos de archivos y carpetas (el orden en el armario)
Los permisos incorrectos son una causa clásica de error 500 en Plesk. PrestaShop necesita que ciertos archivos sean escribibles (por ejemplo, la carpeta cache o log).
Los permisos recomendados son:
- Carpetas: 755 (rwx r-x r-x)
- Archivos: 644 (rw- r-- r--)
Cómo corregirlos desde Plesk:
- Ve a Archivos en Plesk.
- Selecciona toda la carpeta de tu tienda.
- Haz clic en Cambiar permisos.
- Marca Recursivo para que se aplique a subcarpetas.
- Pon 755 para directorios y 644 para archivos.
Si prefieres línea de comandos (SSH), pero no todos tienen acceso, puedes hacerlo con un script PHP temporal, pero es más seguro usar Plesk.
[WARNING] No pongas permisos 777 (todo el mundo escribe) a no ser que sea estrictamente necesario y temporal. Es un agujero de seguridad.
5. Deshabilitar módulos problemáticos (el detective de los plugins)
A veces un módulo recién instalado o actualizado causa el error. Si no puedes acceder al panel de administración, puedes deshabilitarlos manualmente.
Método manual (por FTP):
- Conéctate a tu servidor.
- Ve a la carpeta
modules. - Renombra la carpeta del módulo sospechoso añadiendo
_oldal final (ejemplo:ps_facebook_old). - Prueba la tienda. Si funciona, ese módulo era el culpable.
Si no sabes cuál es, renombra todos los módulos que no sean esenciales (los de PrestaShop nativos suelen ser seguros). Luego ve activándolos uno a uno para identificar al malo.
6. Comprobar la configuración de la base de datos (el corazón de la tienda)
El archivo config/settings.inc.php contiene los datos de conexión a la base de datos. Si está mal, error 500.
Verifica que:
- El nombre de la base de datos, el usuario y la contraseña son correctos.
- El servidor de la base de datos (normalmente
localhost) es el adecuado.
Si tienes dudas, puedes pedir a tu hosting que te los confirme. No modifiques nada si no estás seguro.
7. Revisar la versión de PHP (el idioma del servidor)
PrestaShop 1.7, por ejemplo, necesita PHP 7.1 o superior, pero no PHP 8.2 (puede dar problemas). En Plesk es fácil cambiarlo.
Cómo hacerlo en Plesk:
- Ve a Configuración de hosting de tu dominio.
- En la sección PHP, selecciona la versión recomendada (por ejemplo, PHP 7.4 o 8.0).
- Guarda.
Si tu PrestaShop es muy antiguo (1.6), necesita PHP 5.6 o 7.0. En ese caso, pide a tu hosting que te lo active, aunque ya no sea seguro.
[INFO] Siempre es mejor usar una versión de PHP que sea compatible con tu PrestaShop. Consulta la documentación oficial.
8. Limpiar la caché de PrestaShop (un reinicio mental)
A veces la caché guarda datos corruptos. Puedes limpiarla sin entrar al panel.
Método manual:
- Conéctate por FTP.
- Elimina todo el contenido de las carpetas:
/cache/smarty/cache//cache/smarty/compile//cache/class_index.php(si existe)
- No borres las carpetas en sí, solo su interior.
También puedes crear un archivo clear_cache.php en la raíz con este contenido:
<?php
require_once 'config/config.inc.php';
Tools::clearCache();
echo 'Caché limpiada';
Luego accede a tudominio.com/clear_cache.php y bórralo después.
9. Revisar los logs del servidor (el libro de bitácora)
Plesk guarda logs de errores. Son muy útiles.
Dónde encontrarlos:
- En Plesk, ve a Sitios web y dominios > [tu dominio] > Registros.
- Busca el archivo
error.logoapache-error.log. - Descárgalo y ábrelo con un editor de texto. Busca líneas que contengan "PHP Fatal error" o "500".
Allí verás la causa exacta: un archivo, una línea de código, un módulo.
[TIP] Si no entiendes el log, copia el fragmento del error y búscalo en Google. Es muy probable que alguien más lo haya tenido.
10. Si nada funciona: restaurar una copia de seguridad
Si has probado todo y el error persiste, toca el plan B: restaurar una copia de seguridad reciente. En Plesk puedes hacerlo fácilmente:
- Ve a Sitios web y dominios > Copias de seguridad.
- Selecciona la copia más reciente (anterior al error).
- Restaura solo los archivos (no la base de datos si no es necesario).
Si no tienes copia, contacta con tu hosting. Algunos guardan backups automáticos.
Preguntas frecuentes (FAQ) sobre el error 500 en PrestaShop y Plesk
¿Por qué aparece el error 500 después de actualizar un módulo?
Es muy común. El módulo puede no ser compatible con la versión de PrestaShop o con otros módulos. Sigue el paso 5 (deshabilitar módulos) para identificarlo.
¿El error 500 puede deberse a un ataque?
Rara vez. Es más probable que sea un problema de configuración. Pero si sospechas, revisa los logs en busca de accesos extraños.
¿Puedo solucionar el error 500 sin acceder al panel de administración?
Sí, con los métodos manuales que te he dado: FTP, modificar archivos, regenerar .htaccess, etc.
¿Cada cuánto debo limpiar la caché de PrestaShop?
No hay una regla fija. Si notas lentitud o errores extraños, límpiala. También después de instalar o actualizar módulos.
¿Qué hago si el error 500 aparece solo en algunas páginas?
Puede ser un módulo específico (por ejemplo, el de pago o envío). Revisa los logs y deshabilita módulos relacionados con esas páginas.
Consejo final: Prevención es mejor que cura
Para evitar futuros dolores de cabeza:
- Haz copias de seguridad semanales (Plesk lo automatiza).
- Actualiza PrestaShop y los módulos con cuidado, siempre probando en un entorno de pruebas si es posible.
- No instales módulos de fuentes dudosas.
- Mantén un registro de los cambios que haces (instalaciones, modificaciones).
Y recuerda: si te sientes abrumado, siempre puedes pedir ayuda a tu proveedor de hosting o a un técnico especializado. El error 500 es frustrante, pero con paciencia y estos pasos, lo superarás.
Espero que este artículo te haya sido de gran ayuda. Si tienes más dudas, no dudes en escribirme. ¡Buena suerte con tu tienda!
