Error 500 en WordPress (Internal Server Error): causas y solución
Contenido de esta guía
El error 500 en WordPress (Internal Server Error) indica que el servidor tuvo un problema al generar la página, pero no especifica cuál. Las causas más frecuentes son un archivo .htaccess dañado, un error fatal en un plugin o en el tema y una versión de PHP incompatible. El registro de errores del servidor casi siempre dice cuál es.
.htaccess dañado, plugin o tema con error fatal, versión de PHP incompatible, falta de memoria o permisos de archivos incorrectos..htaccess y descarta plugins y tema de a uno.Qué significa realmente un error 500
Los códigos que empiezan con 5 indican un problema del lado del servidor. El 500 es el más genérico: el servidor sabe que algo falló, pero no tiene una respuesta más específica que dar al navegador. Por eso no sirve adivinar: lo más rápido es mirar el registro de errores, que sí guarda el detalle.
Si en lugar de un error 500 ves una página en blanco o el aviso de error crítico de WordPress, el diagnóstico es parecido, pero empieza por la guía de pantalla blanca en WordPress.
Cómo solucionarlo paso a paso
Revisa el registro de errores
En el panel de tu hosting busca el registro de errores del sitio (suele llamarse Error Log o Registros de errores). La última línea registrada cuando cargaste la página casi siempre explica la causa.
Regenera el archivo .htaccess
En la carpeta principal del sitio, renombra
.htaccessa.htaccess.bak. Si el sitio vuelve, entra a Ajustes › Enlaces permanentes y pulsa Guardar cambios sin modificar nada: WordPress crea un.htaccessnuevo y limpio.Descarta plugins y tema
Renombra la carpeta
wp-content/plugins. Si el error desaparece, devuélvele su nombre y reactiva los plugins de a uno hasta dar con el culpable. Haz lo mismo con la carpeta del tema activo si el problema sigue.Comprueba la versión de PHP
Si el error empezó al cambiar la versión de PHP, vuelve a la anterior desde el panel y actualiza los plugins o el tema que no sean compatibles antes de subirla de nuevo.
Revisa permisos y pide ayuda si sigue
Verifica que los archivos tengan permisos 644 y las carpetas 755. Si todo está bien y el error continúa, pide al soporte de tu hosting que revise el registro del servidor: puede tratarse de un límite de recursos o de una regla de seguridad.
Cómo es un .htaccess limpio de WordPress
Si prefieres crear el archivo a mano, este es el bloque de reglas estándar que usa WordPress cuando está instalado en la carpeta principal del dominio:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Si tenías reglas propias (redirecciones, caché o seguridad), revisa el archivo .htaccess.bak y vuelve a agregarlas de a una, comprobando el sitio después de cada una: así sabrás si alguna de ellas causaba el error.
Cómo leer el registro de errores
| Si el registro dice… | Probable causa |
|---|---|
Invalid command o .htaccess: … not allowed here | Una regla del .htaccess que el servidor no acepta |
PHP Fatal error con una ruta a /plugins/ o /themes/ | Un plugin o tema con un error |
Allowed memory size … exhausted | Falta de memoria de PHP |
is writable by group o un error de permisos | Permisos de archivos demasiado abiertos |
Maximum execution time … exceeded | Un proceso que tarda más de lo permitido |
Si el registro indica falta de memoria, sigue la guía del error de límite de memoria de PHP.
Permisos correctos de archivos y carpetas
Los permisos recomendados para WordPress son 644 para archivos y 755 para carpetas. El archivo wp-config.php puede ser aún más restrictivo, por ejemplo 640 o 600, si tu servidor lo permite. Nunca uses 777: además de ser inseguro, muchos servidores rechazan ejecutar archivos PHP con permisos tan abiertos.
Si el registro menciona límites de recursos, reglas de seguridad del servidor (como ModSecurity) o no muestra nada, el problema probablemente está fuera de WordPress. Pide al soporte de tu hosting que lo revise con el registro del servidor; es información que solo ellos pueden ver completa.
Guía revisada con WordPress 7.1.