Solucionar el error '500 Internal Server Error' en WordPress y PrestaShop
¡Hola! Si has llegado hasta aquí, probablemente estés viendo una pantalla en blanco o un mensaje que dice "500 Internal Server Error" en tu tienda online o en tu blog. No te preocupes, es mucho más común de lo que piensas y, en la gran mayoría de los casos, tiene una solución sencilla.
Este error es la forma que tiene el servidor de decir: "Algo ha ido mal, pero no voy a darte más detalles para proteger la información". Es frustrante, pero con una buena guía y un poco de paciencia, podrás resolverlo. En este artículo, vamos a desglosar paso a paso cómo solucionar el error 500 tanto en WordPress como en PrestaShop, sin necesidad de ser un experto en Linux o SysAdmin. Vamos a ello.
¿Qué es exactamente el Error 500 Internal Server Error?
Antes de ponernos manos a la obra, es importante entender que el internal server error es un código de estado HTTP genérico. Significa que el servidor encontró una condición inesperada que le impidió completar la petición.
Piensa en ello como un semáforo en rojo. El semáforo (tu servidor) no te dice por qué está en rojo (si hay un atasco, una obra o un accidente), solo te dice que no puedes pasar. Nuestro trabajo será investigar la causa del atasco.
Las causas más frecuentes suelen ser:
- Errores de permisos de archivos: Archivos con permisos demasiado estrictos o demasiado permisivos.
- Errores en el archivo
.htaccess: Una configuración incorrecta en este archivo rompe la web. - Límite de memoria de PHP agotado: A veces, un plugin o tema requiere más memoria de la que el servidor permite.
- Errores de sintaxis en PHP: Un error de escritura en un archivo del código de tu web.
- Problemas con plugins o temas: Una actualización fallida o un conflicto entre extensiones.
- Errores del servidor: Problemas con el software del servidor (Apache, Nginx, etc.) o con la base de datos.
Fase 1: El Primer Paso Universal - Revisar los Logs del Servidor
Este es el consejo de oro. No intentes adivinar; ve a la fuente de la verdad: los logs servidor. Son los archivos donde se registran todos los eventos y errores. Aquí es donde el servidor "habla" y nos dice exactamente qué falla.
¿Cómo accedo a ellos?
-
Desde tu Panel de Control (cPanel, Plesk, Syspanel, etc.): Busca una sección llamada "Métricas" o "Registros". Normalmente hay un icono llamado "Error Log" o "Registros de errores". Haz clic y verás una lista de los últimos errores.
-
Desde un Cliente FTP (como FileZilla): Conecta a tu servidor y navega hasta la carpeta
/logs. A veces está en la raíz de tu cuenta. Los archivos suelen llamarseerror_log,error.logo similar. Descarga el más reciente y ábrelo con un editor de texto (como el Bloc de notas). -
[INFO] Si usas Syspanel (antes HestiaCP): Accede a tu panel a través del puerto 2106 (por ejemplo,
https://tu-dominio.com:2106). Dentro, busca la sección de "Registros" o "Logs" en el menú lateral. Ahí encontrarás los logs de tu sitio web.
¿Qué busco en el log?
Busca la línea que contenga la fecha y hora en que se produjo el error. Deberías ver un mensaje como:
[Thu Jan 01 10:00:00 2025] [error] [client 192.168.1.1] PHP Fatal error: Allowed memory size of 67108864 bytes exhausted...
Ese mensaje es oro puro. Te dice que el error es por memoria. Si ves algo como PHP Parse error: syntax error, unexpected..., el problema es de sintaxis. Anota ese mensaje, te guiará en los siguientes pasos.
Fase 2: Solucionar el Error 500 en WordPress
WordPress es muy popular y, por lo tanto, muy propenso a este error. Vamos a las soluciones más efectivas, ordenadas de la más fácil a la más compleja.
1. La Reina de las Soluciones: El Archivo .htaccess
Este archivo es un archivo de configuración que controla cómo Apache maneja tu web. Si está dañado o tiene una directiva incorrecta, adiós web.
Pasos para resetearlo:
- Conéctate a tu hosting vía FTP (FileZilla) o desde el administrador de archivos de tu panel.
- Navega hasta la carpeta raíz de tu instalación de WordPress (donde están las carpetas
wp-admin,wp-contentywp-includes). - Busca el archivo
.htaccess. Ojo: Puede que no lo veas porque tu cliente FTP tiene ocultos los archivos que empiezan por un punto. Activa la opción "Mostrar archivos ocultos" en tu cliente FTP. - No lo borres aún. Primero, descárgalo a tu ordenador como copia de seguridad.
- Ahora sí, elimina el archivo
.htaccessdel servidor. - Ve a tu web (recarga la página). Si el error desaparece, el problema era este archivo.
- Para regenerarlo, ve a Ajustes > Enlaces permanentes en tu panel de administración de WordPress y haz clic en "Guardar cambios". WordPress creará un nuevo
.htaccesslimpio.
2. El Sospechoso Habitual: Plugins y Temas
Un plugin o tema con un error es la causa más común de este problema.
Método Rápido (por FTP):
- Conéctate por FTP y navega a
wp-content/. - Renombra la carpeta
pluginsaplugins_old. Esto desactiva todos los plugins a la vez. - Recarga tu web. Si ya funciona, el culpable es uno de los plugins.
- Ahora, renombra la carpeta de nuevo a
pluginsy ve activándolos uno a uno desde el panel de administración hasta que encuentres el que falla. Cuando lo encuentres, elimínalo o busca una alternativa.
Si el error persiste, prueba con el tema:
- En
wp-content/, renombra la carpeta de tu tema activo (por ejemplo,mi-tema) ami-tema_old. - WordPress usará automáticamente un tema por defecto (como Twenty Twenty-Four).
- Si la web carga, el problema es de tu tema. Puedes descargar una versión nueva y actualizada o contactar al desarrollador.
3. Aumentar el Límite de Memoria PHP
Si el log mencionaba memoria, esta es tu solución.
Opción A: Desde el archivo wp-config.php
- Edita el archivo
wp-config.phpen la raíz de tu WordPress. - Justo antes de la línea que dice
/* That's all, stop editing! Happy publishing. */, añade esta línea:
define('WP_MEMORY_LIMIT', '256M');
- Guarda el archivo y recarga tu web.
Opción B: Desde el archivo php.ini
Este archivo controla la configuración de PHP. Si tu hosting te lo permite (a veces no), crea un archivo llamado php.ini en la raíz de tu web y añade:
memory_limit = 256M
4. Verificar los Permisos de Archivos
Los permisos incorrectos son otro clásico. La regla general es:
- Carpetas: Permisos
755. - Archivos: Permisos
644.
Cómo cambiarlos desde FTP:
- Haz clic derecho sobre una carpeta y selecciona "Permisos de archivo..." (o "File permissions...").
- Introduce el valor numérico
755y asegúrate de marcar "Recursivo" (o "Recurse into subdirectories") para aplicar a todas las subcarpetas. - Haz lo mismo con los archivos, pero usando
644.
[WARNING] No te pases con los permisos. Dar permisos 777 a todo es un riesgo de seguridad enorme. Úsalo solo como prueba temporal y revierte los cambios al terminar.
Fase 3: Solucionar el Error 500 en PrestaShop
PrestaShop es más estricto con el rendimiento y la caché, así que el error 500 suele venir por ahí.
1. Borrar la Caché (El Primer Paso en PrestaShop)
PrestaShop guarda mucha información en archivos de caché. Si estos se corrompen, la web explota.
Método por FTP:
- Conecta por FTP a tu servidor.
- Navega hasta la carpeta
var/cache(en versiones 1.7 y superiores) ocache(en versiones 1.6 y anteriores). - Dentro, encontrarás carpetas como
devyprod. Borra todo el contenido de estas carpetas, pero no borres las carpetas en sí. Simplemente entra y elimina los archivos que haya dentro. - Recarga tu web. Esto suele arreglar el problema al instante.
2. Desactivar el Modo de Desarrollo (o Activar el Modo Depuración)
Si borrar la caché no funciona, necesitamos más información.
Para PrestaShop 1.7 y superiores:
- Ve a la carpeta raíz de tu PrestaShop y busca el archivo
config/defines.inc.php. - Ábrelo con un editor de texto y busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala a:
define('_PS_MODE_DEV_', true); - Guarda el archivo y recarga tu web. Ahora verás en pantalla el error específico (por ejemplo, "Table 'ps_shop' doesn't exist").
- IMPORTANTE: Cuando termines de investigar, vuelve a poner
falsepara no dejar tu tienda expuesta.
Para PrestaShop 1.6 y anteriores:
- En la raíz, busca el archivo
config/config.inc.php. - Busca
@ini_set('display_errors', 'off');y cámbialo a@ini_set('display_errors', 'on');. - Guarda y recarga.
3. El Archivo .htaccess en PrestaShop
Al igual que en WordPress, el .htaccess puede ser el problema.
- Conecta por FTP a la raíz de tu PrestaShop.
- Descarga una copia de seguridad de
.htaccess. - Elimínalo del servidor.
- Ve al panel de administración de tu PrestaShop: Parámetros Avanzados > Herramientas (o "Utilidades"). Busca el botón "Regenerar el archivo .htaccess" y haz clic.
- Si no funciona, en el mismo menú de Parámetros Avanzados, ve a "Rendimiento" y activa o desactiva la "URL amigable" (la guardas y la vuelves a activar). Esto fuerza la regeneración del archivo.
4. Problemas con el Tema o los Módulos
Al igual que en WordPress, un mal módulo o tema puede romper tu PrestaShop.
- Renombra la carpeta de tu tema: En la carpeta
themes, renombra la carpeta de tu tema activo (ej.classicaclassic_old). PrestaShop usará el tema por defecto. Si se arregla, el problema es de tu tema. - Renombra la carpeta de módulos: En la carpeta
modules, renombra la carpeta de los módulos que hayas instalado recientemente o que sospeches. Es más tedioso porque hay muchos, pero es efectivo. Empieza por los de terceros, no por los que vienen por defecto.
Fase 4: Soluciones Avanzadas (Cuando Nada de lo Anterior Funciona)
Si has llegado hasta aquí y el error 500 persiste, no te rindas. Aún quedan balas en la recámara.
1. Revisar el Espacio en Disco
Un disco duro lleno al 100% puede causar errores extraños, incluido el 500.
- Entra a tu panel de control (cPanel, Syspanel, etc.) y mira el uso de disco. Si está al límite, borra archivos temporales, copias de seguridad antiguas o bases de datos que no uses.
2. Comprobar la Conexión a la Base de Datos
A veces la base de datos falla o se corrompe.
- Desde cPanel/Syspanel: Busca la herramienta "MySQL Databases" o similar. Si puedes, intenta reparar las tablas de tu base de datos.
- Desde phpMyAdmin: Accede a tu base de datos, selecciona todas las tablas y en el menú desplegable elige "Reparar tabla".
3. El Último Recurso: Contactar con tu Proveedor de Hosting
Si nada funciona, el problema puede ser del servidor en sí (un módulo de Apache desactualizado, un error de configuración de PHP, etc.). Contacta con el soporte técnico de tu hosting y diles:
- "He revisado los logs y he probado a desactivar plugins, temas y borrar caché, pero sigo teniendo un error 500."
- "Necesito que revisen la configuración del servidor y los logs de error de Apache/Nginx."
[INFO] Si tu hosting es Syspanel: El soporte técnico suele ser muy ágil. Puedes abrir un ticket de soporte desde el propio panel (puerto 2106) o desde el área de cliente de tu proveedor. Dales el máximo de información posible y serán ellos quienes investiguen a fondo.
Preguntas Frecuentes (FAQ)
¿Por qué veo el error 500 solo en una página y no en toda la web?
Esto suele indicar un problema con un plugin o módulo específico que se ejecuta solo en esa página, o un error de sintaxis en la plantilla de esa página en concreto.
¿El error 500 es lo mismo que el error 404?
No. El 404 significa que la página no existe. El 500 significa que el servidor está funcionando, pero ha encontrado un error interno al intentar procesar tu solicitud.
¿Puedo evitar este error en el futuro?
Sí, en gran medida. Mantén actualizados WordPress/PrestaShop, así como todos tus plugins, temas y módulos. Haz copias de seguridad periódicas. Y, sobre todo, antes de actualizar algo importante, haz una copia de seguridad completa.
¿Cuánto tiempo se tarda en arreglar?
Depende de la causa. El truco del .htaccess o la caché puede tardar 5 minutos. Si tienes que revisar plugins uno a uno, puede llevarte una hora. Pero con esta guía, tendrás una ventaja enorme.
¿Necesito ser un experto en Linux para hacer esto?
Para nada. Todas las soluciones que te he dado se pueden hacer desde el panel de control de tu hosting o con un cliente FTP, sin tocar una sola línea de código de terminal. La lógica es la misma: aislar el problema.
Espero que esta guía extensa te haya sido de gran ayuda. El error 500 es un dolor de cabeza, pero es un problema solucionable. Respira hondo, sigue los pasos en orden y, sobre todo, no tengas miedo de experimentar (siempre con una copia de seguridad cerca). Si has llegado hasta el final, ya sabes más que el 90% de los usuarios que se enfrentan a este problema. ¡Mucha suerte!
