Solución a 'Error 500 Internal Server Error' en WordPress y PrestaShop
[INFO] Este artículo está pensado para que cualquier persona, aunque no tenga experiencia técnica avanzada, pueda entender y solucionar el temido error 500 en su tienda online o blog. Vamos a ir paso a paso, con calma y con soluciones probadas.
El "Error 500 Internal Server Error" es, probablemente, uno de los avisos más frustrantes que podemos encontrarnos al administrar una web. Es un mensaje genérico que significa: "Algo ha ido mal en el servidor, pero no te voy a decir exactamente qué". Para un usuario de WordPress o PrestaShop, ver este error en lugar de su página principal es sinónimo de parón en la actividad y, a menudo, de un buen susto.
Sin embargo, la buena noticia es que, en la gran mayoría de los casos, este error tiene una solución clara y no implica necesariamente un problema grave con tu proveedor de hosting. De hecho, muchas veces la causa está en un simple archivo con permisos incorrectos o en un plugin conflictivo.
En esta guía extensa y detallada, vamos a desglosar todas las causas comunes y, lo más importante, las soluciones paso a paso para el error 500 wordpress y el error 500 prestashop. Nuestro objetivo es que, al final de este artículo, tengas las herramientas y el conocimiento para diagnosticar y arreglar este problema por ti mismo, o al menos, para saber exactamente qué información necesitas para contactar con el soporte técnico de tu hosting y resolverlo rápidamente.
¿Qué es exactamente el Error 500 Internal Server Error?
Antes de lanzarnos a solucionar, es crucial entender qué significa este código de estado HTTP. Cuando tu navegador intenta acceder a tu web, envía una petición al servidor. El servidor procesa esa petición y, normalmente, responde con un código "200 OK" y el contenido de la página. Si algo falla en el proceso de generación de esa página, el servidor puede devolver un código de error.
El error 500 es un error genérico del lado del servidor. A diferencia de un "404 Not Found" (que indica que la página no existe), el 500 significa que el servidor encontró una condición inesperada que le impidió completar la petición. Es como si un coche (tu petición) llegara a un taller (el servidor) y el mecánico (el sistema) dijera: "No puedo arreglar esto, hay un problema con mis herramientas", sin especificar cuál.
Este error puede aparecer en cualquier parte de tu sitio: en la portada, en el panel de administración, o solo en una página específica. También puede ser intermitente o constante. Identificar estas particularidades nos ayudará a encontrar la solución más rápido.
Primeros Pasos Inmediatos y Diagnóstico Inicial
Cuando te enfrentas a un internal server error, la primera reacción no debe ser el pánico. Hay una serie de verificaciones rápidas que puedes hacer en cuestión de minutos para descartar las causas más comunes y, a veces, resolver el problema al instante.
1. Recargar la Página y Comprobar en Otro Dispositivo
A veces, el error es temporal. Un problema puntual con un script o una sobrecarga momentánea del servidor puede causar un error 500 que desaparece al recargar. Prueba a hacer una recarga forzada (Ctrl + F5 o Cmd + Shift + R) para ignorar la caché del navegador.
También es buena idea intentar acceder desde otro navegador o, mejor aún, desde tu teléfono móvil con datos móviles (no con el Wi-Fi de tu casa). Si la página carga bien desde el móvil, el problema podría estar en tu red local o en la caché de tu ordenador.
2. Revisar los Archivos de Registro (Logs) del Servidor
Esta es la acción más importante para diagnosticar el problema. Los logs del servidor son como la "caja negra" de tu web; registran todo lo que ocurre, incluidos los errores. Si tienes acceso a un panel de control como cPanel, Plesk o Syspanel, busca la sección de "Registros de Errores" o "Error Logs".
[WARNING] Si tu hosting utiliza Syspanel, recuerda que el puerto de acceso es el 2106 y que la gestión de logs suele estar en la sección "Métricas" o "Registros". Busca archivos como error.log o php_error.log en la carpeta logs de tu cuenta.
El mensaje de error en el log será mucho más específico. Por ejemplo, podría decir PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate X bytes). Esta información es oro puro, ya que te indica exactamente qué está fallando. Si ves este mensaje, el problema es de memoria PHP. Si ves un error relacionado con .htaccess, sabrás que el problema está en ese archivo.
3. Descartar Problemas de Permisos de Archivos (Permisos 644 y 755)
Los permisos de archivos y carpetas son reglas que le dicen al servidor quién puede leer, escribir o ejecutar cada archivo. Si un archivo o carpeta tiene permisos incorrectos, el servidor puede devolver un error 500 al intentar acceder a él.
La regla general es que los archivos deben tener permiso 644 y las carpetas 755. Si algo se ha cambiado a 777 (permisos totales para todos) o a 600 (solo lectura para el propietario), puede causar problemas.
Puedes cambiar los permisos desde el administrador de archivos de tu panel de control o mediante un cliente FTP como FileZilla. En FileZilla, haz clic derecho sobre el archivo o carpeta, selecciona "Permisos de archivo" y ajusta los valores. Es recomendable hacer esto de forma global para toda la carpeta de tu sitio, pero ten cuidado de no cambiar los permisos de archivos especiales si no estás seguro.
Solucionar el Error 500 en WordPress
WordPress es el CMS más popular del mundo, y por tanto, el que más errores de este tipo genera. La mayoría de las soluciones están relacionadas con plugins, temas o el archivo .htaccess.
### Causa Principal: Conflictos de Plugins o Temas
Un plugin o tema con código defectuoso, o que es incompatible con tu versión de WordPress o PHP, es la causa número uno del error 500 wordpress. El conflicto puede ocurrir al actualizar, al instalar uno nuevo o simplemente al cargar una funcionalidad concreta.
Paso 1: Desactivar todos los plugins vía FTP o Administrador de Archivos.
Si no puedes acceder al panel de administración de WordPress (wp-admin), tendrás que hacerlo manualmente.
- Accede a tu hosting por FTP (FileZilla) o al administrador de archivos de tu panel (cPanel, Syspanel, etc.).
- Navega hasta la carpeta raíz de tu WordPress, normalmente llamada
public_htmlohtdocs. - Busca la carpeta
wp-content. - Dentro, busca la carpeta
plugins. No entres en ella, simplemente haz clic derecho sobre la carpetapluginsy selecciona "Renombrar". - Cámbiale el nombre a algo como
plugins_desactivados. - Ahora intenta acceder a tu web. Si el error desaparece, el problema era uno de los plugins.
[TIP] Al renombrar la carpeta, WordPress no encontrará los plugins y los desactivará todos automáticamente. Para reactivarlos uno a uno, renombra la carpeta de nuevo a plugins y ve activando cada plugin desde el panel de administración. Si el error vuelve al activar uno, ese es el culpable.
Paso 2: Cambiar al tema por defecto.
Si el problema no eran los plugins, el siguiente sospechoso es el tema.
- En la misma carpeta
wp-content, busca la carpetathemes. - Dentro, verás las carpetas de tus temas instalados (por ejemplo,
twentytwentyfour,tu-tema-personalizado). - Renombra la carpeta de tu tema activo (el que estás usando) a algo como
tu-tema-desactivado. - Al hacer esto, WordPress no encontrará el tema activo y usará uno de los temas por defecto (como Twenty Twenty-Four). Si el error se soluciona, el problema era tu tema.
### El Archivo .htaccess Corrupto
El archivo .htaccess es un archivo de configuración muy poderoso en servidores Apache. Si está dañado o tiene directivas incorrectas, puede provocar un error 500.
- Desde tu administrador de archivos o FTP, localiza el archivo
.htaccessen la raíz de tu instalación de WordPress. - No lo borres todavía. Primero, descárgalo a tu ordenador como copia de seguridad.
- Ahora, renómbralo en el servidor a
htaccess_backup.txt. - Intenta acceder a tu web. Si funciona, el archivo
.htaccessera el problema. - Para crear uno nuevo y limpio, ve a
Ajustes > Enlaces permanentesen tu panel de WordPress y pulsa "Guardar cambios". Esto generará un nuevo.htaccesscon las reglas por defecto.
### Aumentar el Límite de Memoria PHP
Si el log de errores mostraba un mensaje sobre "memory exhausted", la solución es aumentar el límite de memoria PHP. Puedes hacerlo añadiendo una línea de código al archivo wp-config.php.
- Localiza el archivo
wp-config.phpen la raíz. - Ábrelo con un editor de texto (como el Bloc de notas o el editor del panel de control).
- Busca la línea que dice
¡Eso es todo! ¡Diviértete!o similar. - Justo antes de esa línea, añade lo siguiente:
define('WP_MEMORY_LIMIT', '256M'); - Guarda el archivo y súbelo de nuevo al servidor si lo estabas editando localmente.
Este cambio le dice a WordPress que puede usar hasta 256 MB de memoria, lo cual suele ser suficiente para la mayoría de los sitios.
Solucionar el Error 500 en PrestaShop
PrestaShop es otro gigante del comercio electrónico, y aunque sus errores pueden ser similares, la estructura de archivos y la forma de solucionarlos tiene sus particularidades.
### La Carpeta var/cache: El Enemigo Silencioso
En PrestaShop, la caché puede ser la causa de muchos males, incluido el error 500 prestashop. Cuando se corrompe la caché, el sistema intenta leer archivos que no existen o que están incompletos, provocando un fallo fatal.
Paso 1: Vaciar la caché manualmente.
- Accede a tu hosting por FTP o al administrador de archivos.
- Navega hasta la carpeta raíz de tu PrestaShop.
- Busca la carpeta
var/cache(en versiones antiguas eracache). - Dentro, encontrarás subcarpetas como
devyprod. Entra en la carpetaprod(o en la que corresponda a tu entorno de producción). - Borra TODO el contenido de esta carpeta, pero no la carpeta en sí. Es decir, borra los archivos y subcarpetas que haya dentro.
- Vuelve a intentar cargar tu tienda. En la mayoría de los casos, esto resolverá el error.
[WARNING] Si no ves la carpeta var, puede que tu versión de PrestaShop sea muy antigua (1.6 o anterior). En ese caso, busca la carpeta cache y borra su contenido (excepto el archivo .htaccess y index.php si los hay).
### Conflictos con Módulos y Overrides
Al igual que en WordPress, un módulo de PrestaShop puede ser el origen del problema.
Paso 1: Desactivar módulos vía FTP.
- Accede a la carpeta raíz de PrestaShop.
- Busca la carpeta
modules. - Para desactivar un módulo sospechoso, renombra su carpeta. Por ejemplo, si crees que el módulo de pago "PagoFácil" es el problema, renombra la carpeta
pagofacilapagofacil_off. - Haz esto con los módulos que hayas instalado o actualizado recientemente. Es un proceso de prueba y error.
Si el error desaparece, el módulo que renombraste era el culpable. Puedes intentar reinstalarlo o buscar una alternativa.
Paso 2: Revisar los Overrides (Clases sobreescritas).
PrestaShop permite a los módulos "sobrescribir" las clases del núcleo para añadir funcionalidades. A veces, estos overrides entran en conflicto.
- En la carpeta raíz, busca la carpeta
override. - Dentro, hay una subcarpeta
classes. Si has instalado módulos recientemente, es posible que hayan añadido archivos aquí. - Puedes intentar renombrar archivos dentro de
override/classes(o la carpetaoverridecompleta) para ver si el error se soluciona. Hazlo con cuidado y guarda los archivos originales.
### Permisos de Archivos Específicos de PrestaShop
PrestaShop es muy sensible a los permisos de sus archivos. La configuración recomendada es:
- Archivos: 644
- Carpetas: 755
- Archivos de configuración (como
config/settings.inc.phpen versiones antiguas): 644
A veces, al subir archivos por FTP con un cliente mal configurado, los permisos se cambian a 644 o 755, pero en PrestaShop a veces necesita que algunos archivos sean escribibles (por ejemplo, para caché o logs). Si el error persiste, revisa que los permisos de la carpeta var/cache y var/logs sean correctos (755 o 775).
Otras Causas Comunes y Soluciones para Ambos CMS
Hay problemas que afectan tanto a WordPress como a PrestaShop, y que a menudo se pasan por alto.
### Problemas con el Archivo .htaccess en PrestaShop
Al igual que en WordPress, un .htaccess corrupto puede causar estragos en PrestaShop.
- Localiza el archivo
.htaccessen la raíz. - Renómbralo a
.htaccess_backup. - Ve a tu panel de administración de PrestaShop (si puedes) en
Parámetros avanzados > Rendimientoy pulsa el botón "Guardar" para regenerar el archivo .htaccess. - Si no puedes acceder al panel, tendrás que esperar a solucionar el error 500 para poder regenerarlo, o pedir a tu soporte que lo haga.
### La Versión de PHP es Incompatible
Tanto WordPress como PrestaShop requieren una versión mínima de PHP. Si tu hosting actualizó la versión de PHP y tu CMS es antiguo, es muy probable que aparezca el error 500.
- WordPress: requiere PHP 7.4 o superior (recomendado PHP 8.0+).
- PrestaShop: las versiones 1.7 requieren PHP 7.1 o superior, y las 8.x requieren PHP 7.2 o superior.
Puedes cambiar la versión de PHP desde el panel de control de tu hosting. En cPanel, suele estar en "Select PHP Version" o "MultiPHP Manager". En Syspanel, busca la sección de "Ajustes de PHP" o similar.
[INFO] Si tu sitio es muy antiguo, puede que no sea compatible con las versiones más nuevas de PHP. En ese caso, deberías considerar actualizar tu CMS o, al menos, encontrar una versión de PHP intermedia que sea compatible (por ejemplo, PHP 7.4).
### Agotamiento de la Memoria del Servidor (Límite de Ejecución)
Si tu web recibe mucho tráfico o tiene scripts muy pesados, puede que el servidor se quede sin memoria. Esto no es un problema de tu código, sino de los recursos asignados a tu plan de hosting.
Solución: Contacta con tu proveedor de hosting y pregunta si puedes aumentar el límite de memoria o si tu plan es suficiente para el tráfico que recibes. A veces, una simple actualización de plan resuelve el problema.
### Archivos Corruptos o Incompletos
Una subida de archivos incompleta (por ejemplo, al actualizar el CMS) puede dejar archivos corruptos que causan errores.
- Re-subir los archivos: Puedes descargar la última versión de WordPress o PrestaShop desde sus sitios oficial
