{"id":3776,"date":"2026-08-20T14:15:06","date_gmt":"2026-08-20T12:15:06","guid":{"rendered":"https:\/\/mantenimientoweb.pro\/blog\/como-solucionar-el-error-500-internal-server-error-en-wordpress-2\/"},"modified":"2026-08-20T14:15:07","modified_gmt":"2026-08-20T12:15:07","slug":"como-solucionar-el-error-500-internal-server-error-en-wordpress-2","status":"publish","type":"post","link":"https:\/\/mantenimientoweb.pro\/blog\/como-solucionar-el-error-500-internal-server-error-en-wordpress-2\/","title":{"rendered":"\u00bfC\u00f3mo solucionar el error 500 Internal Server Error en WordPress?"},"content":{"rendered":"<article>\n  \u00bfC\u00f3mo solucionar el error 500 Internal Server Error en WordPress? Gu\u00eda profesional, sin supersticiones y con bistur\u00ed t\u00e9cnico \ud83d\udee0\ufe0f<\/p>\n<p>El <strong>error 500 Internal Server Error en WordPress<\/strong> tiene una virtud casi art\u00edstica: aparece cuando menos conviene y explica casi nada. Una pantalla blanca, un mensaje seco, el sitio ca\u00eddo. Es el equivalente digital de una puerta cerrada con un cartel que dice \u201calgo sali\u00f3 mal\u201d. Muy amable el servidor, desde luego.<\/p>\n<p>Pero no hay que rendirse. El error 500 no es una condena: es un s\u00edntoma. Puede venir de un plugin con mala memoria, de un archivo <code>.htaccess<\/code> corrupto, de un l\u00edmite PHP insuficiente, de permisos mal configurados, de una versi\u00f3n de PHP incompatible, de reglas de seguridad demasiado celosas o de un servidor saturado como una estaci\u00f3n de tren en v\u00edsperas de vacaciones. El reto consiste en no golpear la web a ciegas, sino diagnosticarla con m\u00e9todo.<\/p>\n<p>En esta gu\u00eda encontrar\u00e1s un proceso ordenado para <strong>arreglar el error 500 en WordPress<\/strong>, desde las verificaciones r\u00e1pidas hasta el an\u00e1lisis de logs, con ejemplos pr\u00e1cticos para cPanel, FTP\/SFTP, WordPress, WP-CLI y servidores Apache o Nginx. La idea es simple: apagar el incendio sin quemar la casa. \ud83d\udd25<\/p>\n<p>    <strong>Contenido r\u00e1pido<\/strong><\/p>\n<ul>\n<li><a href=\"#que-es\">Qu\u00e9 significa realmente el error 500 en WordPress<\/a><\/li>\n<li><a href=\"#antes\">Qu\u00e9 hacer antes de tocar archivos<\/a><\/li>\n<li><a href=\"#causas\">Causas m\u00e1s frecuentes<\/a><\/li>\n<li><a href=\"#pasos\">Pasos para solucionar el error 500<\/a><\/li>\n<li><a href=\"#logs\">C\u00f3mo leer los logs y activar depuraci\u00f3n<\/a><\/li>\n<li><a href=\"#casos\">Casos especiales: WooCommerce, admin-ajax, REST API y migraciones<\/a><\/li>\n<li><a href=\"#prevencion\">C\u00f3mo prevenir que vuelva a ocurrir<\/a><\/li>\n<\/ul>\n<h2 id=\"que-es\">Qu\u00e9 significa el error 500 Internal Server Error en WordPress<\/h2>\n<p>El c\u00f3digo HTTP 500 indica un <strong>fallo interno del servidor<\/strong>. Es decir, el servidor recibi\u00f3 la petici\u00f3n del navegador, intent\u00f3 procesarla y, en alg\u00fan punto del camino, tropez\u00f3. No siempre significa que el servidor est\u00e9 roto; a menudo el problema nace en la aplicaci\u00f3n, en este caso WordPress, o en alguno de sus componentes.<\/p>\n<p>En t\u00e9rminos simples: el navegador pregunta \u201c\u00bfpuedo ver esta p\u00e1gina?\u201d y el servidor responde \u201cno s\u00e9 c\u00f3mo dec\u00edrtelo, pero no\u201d. Es una respuesta gen\u00e9rica, y precisamente por eso resulta frustrante. A diferencia de un error 404, que suele apuntar a una p\u00e1gina inexistente, el 500 es una niebla. Densa, inc\u00f3moda, a veces perfumada con PHP fatal errors.<\/p>\n<table>\n<thead>\n<tr>\n<th>C\u00f3digo<\/th>\n<th>Qu\u00e9 suele significar<\/th>\n<th>Diferencia pr\u00e1ctica<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>500<\/strong><\/td>\n<td>Error interno al procesar la solicitud.<\/td>\n<td>Puede deberse a WordPress, PHP, plugins, tema, permisos o servidor.<\/td>\n<\/tr>\n<tr>\n<td><strong>502 Bad Gateway<\/strong><\/td>\n<td>Un servidor intermedio recibi\u00f3 una respuesta inv\u00e1lida.<\/td>\n<td>Frecuente en configuraciones con proxy, Nginx, Cloudflare o PHP-FPM.<\/td>\n<\/tr>\n<tr>\n<td><strong>503 Service Unavailable<\/strong><\/td>\n<td>Servicio temporalmente no disponible.<\/td>\n<td>Puede aparecer por mantenimiento, saturaci\u00f3n o l\u00edmites del hosting.<\/td>\n<\/tr>\n<tr>\n<td><strong>504 Gateway Timeout<\/strong><\/td>\n<td>Tiempo de espera agotado entre servidores.<\/td>\n<td>Suele relacionarse con procesos lentos, consultas pesadas o timeouts.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La paradoja es evidente: WordPress es una plataforma dise\u00f1ada para facilitar la publicaci\u00f3n, pero su error m\u00e1s temido no publica nada, ni siquiera una pista decente. Democracia editorial por fuera; laberinto de dependencias por dentro.<\/p>\n<h2 id=\"antes\">Antes de tocar nada: tres reglas que evitan tragedias \ud83e\uddef<\/h2>\n<p>Una vez, hace a\u00f1os, vi a alguien \u201csolucionar\u201d un error 500 eliminando media carpeta de plugins por FTP. El sitio volvi\u00f3. Tambi\u00e9n desapareci\u00f3 el sistema de reservas. Aquello fue una victoria parecida a curar un dolor de cabeza rompiendo el despertador: t\u00e9cnicamente hab\u00eda silencio, s\u00ed, pero no salud.<\/p>\n<p>Antes de modificar archivos, sigue estas reglas:<\/p>\n<ol>\n<li><strong>Haz una copia de seguridad completa<\/strong>: archivos y base de datos. Si el hosting ofrece snapshots, \u00fasalos. Si no, descarga por SFTP y exporta la base desde phpMyAdmin o una herramienta equivalente.<\/li>\n<li><strong>No pruebes diez cambios a la vez<\/strong>: cambia una cosa, verifica, documenta. El caos tambi\u00e9n sabe disfrazarse de productividad.<\/li>\n<li><strong>Si es un sitio cr\u00edtico, trabaja en staging<\/strong>: una tienda WooCommerce, una web de reservas o un portal con usuarios no deber\u00eda operarse directamente en producci\u00f3n salvo emergencia real.<\/li>\n<\/ol>\n<p>    <strong>\u26a0\ufe0f Importante:<\/strong> si no puedes acceder al panel de WordPress, no significa que todo est\u00e9 perdido. La mayor\u00eda de soluciones se pueden aplicar desde el administrador de archivos del hosting, FTP\/SFTP, SSH o WP-CLI.<\/p>\n<h2 id=\"causas\">Causas m\u00e1s frecuentes del error 500 en WordPress<\/h2>\n<p>El error 500 puede tener muchas caras. Algunas son banales; otras, m\u00e1s retorcidas. Lo \u00fatil es conocer el mapa antes de internarse en el bosque.<\/p>\n<table>\n<thead>\n<tr>\n<th>Causa probable<\/th>\n<th>S\u00edntomas comunes<\/th>\n<th>Soluci\u00f3n habitual<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Archivo <code>.htaccess<\/code> corrupto<\/td>\n<td>Error 500 en todo el sitio, especialmente tras cambiar enlaces permanentes o instalar plugins de cach\u00e9\/seguridad.<\/td>\n<td>Renombrar <code>.htaccess<\/code> y regenerarlo desde Ajustes &gt; Enlaces permanentes.<\/td>\n<\/tr>\n<tr>\n<td>Plugin incompatible o defectuoso<\/td>\n<td>El error aparece tras actualizar, instalar o configurar un plugin.<\/td>\n<td>Desactivar plugins y reactivarlos uno por uno.<\/td>\n<\/tr>\n<tr>\n<td>Tema con fallo PHP<\/td>\n<td>El frontend cae, pero quiz\u00e1 el admin sigue funcionando; o todo cae tras actualizar el tema.<\/td>\n<td>Cambiar temporalmente a un tema predeterminado.<\/td>\n<\/tr>\n<tr>\n<td>L\u00edmite de memoria PHP insuficiente<\/td>\n<td>Errores intermitentes, pantalla blanca, fallos en WooCommerce, Elementor, importaciones o tareas pesadas.<\/td>\n<td>Aumentar <code>WP_MEMORY_LIMIT<\/code> y revisar consumo real.<\/td>\n<\/tr>\n<tr>\n<td>Versi\u00f3n de PHP incompatible<\/td>\n<td>Fallos tras cambiar PHP o actualizar WordPress, plugins o tema.<\/td>\n<td>Usar una versi\u00f3n PHP compatible y actualizar componentes.<\/td>\n<\/tr>\n<tr>\n<td>Permisos incorrectos<\/td>\n<td>Error tras migraci\u00f3n, restauraci\u00f3n o cambios por FTP.<\/td>\n<td>Corregir permisos: directorios 755 y archivos 644 en la mayor\u00eda de entornos.<\/td>\n<\/tr>\n<tr>\n<td>Reglas de seguridad o ModSecurity<\/td>\n<td>El error aparece al guardar formularios, opciones o contenido espec\u00edfico.<\/td>\n<td>Revisar logs del firewall y ajustar reglas con el hosting.<\/td>\n<\/tr>\n<tr>\n<td>Recursos del hosting agotados<\/td>\n<td>Errores intermitentes en horas pico, procesos lentos, ca\u00eddas bajo tr\u00e1fico.<\/td>\n<td>Optimizar, cachear, revisar CPU\/RAM\/I\/O y considerar upgrade.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"pasos\">C\u00f3mo solucionar el error 500 Internal Server Error en WordPress, paso a paso<\/h2>\n<h3>1. Recarga, prueba en inc\u00f3gnito y descarta cach\u00e9s demasiado entusiastas \ud83d\udd04<\/h3>\n<p>Parece b\u00e1sico, pero conviene empezar por lo simple. Recarga la p\u00e1gina, prueba en una ventana de inc\u00f3gnito y revisa desde otro navegador o conexi\u00f3n. Si usas Cloudflare, un plugin de cach\u00e9, Varnish, LiteSpeed Cache o cach\u00e9 del hosting, purga la cach\u00e9.<\/p>\n<p>La cach\u00e9 es maravillosa cuando acelera una web; cuando conserva un error, es como un museo dedicado al desastre. Bello, in\u00fatil y persistente.<\/p>\n<ul>\n<li>Limpia cach\u00e9 del navegador.<\/li>\n<li>Purge cache en Cloudflare o CDN.<\/li>\n<li>Vac\u00eda cach\u00e9 del plugin: LiteSpeed Cache, WP Rocket, W3 Total Cache, SG Optimizer, etc.<\/li>\n<li>Desactiva temporalmente optimizaciones agresivas si el error apareci\u00f3 tras minificar CSS\/JS.<\/li>\n<\/ul>\n<h3>2. Revisa si el error afecta a todo el sitio o solo a una parte<\/h3>\n<p>Antes de operar, observa. No es lo mismo un error 500 en toda la web que uno limitado al \u00e1rea de administraci\u00f3n, al checkout de WooCommerce o a una URL concreta.<\/p>\n<ul>\n<li><strong>Todo el sitio ca\u00eddo:<\/strong> sospecha de <code>.htaccess<\/code>, plugins globales, tema, PHP o servidor.<\/li>\n<li><strong>Solo wp-admin:<\/strong> puede ser plugin de seguridad, memoria PHP, conflictos de admin, cookies o reglas de acceso.<\/li>\n<li><strong>Solo una p\u00e1gina:<\/strong> revisa shortcode, constructor visual, plantilla, consulta pesada o contenido embebido.<\/li>\n<li><strong>Solo al guardar:<\/strong> posible ModSecurity, firewall, l\u00edmite de variables PHP o problema con REST API.<\/li>\n<li><strong>Solo en WooCommerce checkout:<\/strong> pasarelas de pago, impuestos, env\u00edos, hooks personalizados o falta de recursos.<\/li>\n<\/ul>\n<h3>3. Renombra el archivo .htaccess y regenera enlaces permanentes<\/h3>\n<p>En servidores Apache o LiteSpeed, WordPress utiliza el archivo <code>.htaccess<\/code> para gestionar reglas de reescritura, enlaces permanentes, redirecciones, seguridad y cach\u00e9. Un peque\u00f1o error ah\u00ed puede derribar el sitio entero. Un punto y coma mal colocado no tiene \u00e9pica, pero puede comportarse como un sabotaje.<\/p>\n<p>C\u00f3mo probarlo:<\/p>\n<ol>\n<li>Accede por FTP\/SFTP o al administrador de archivos del hosting.<\/li>\n<li>Entra en la carpeta ra\u00edz de WordPress, normalmente <code>public_html<\/code>, <code>www<\/code> o el directorio del dominio.<\/li>\n<li>Busca el archivo <code>.htaccess<\/code>. Si no aparece, activa \u201cmostrar archivos ocultos\u201d.<\/li>\n<li>Ren\u00f3mbralo a <code>.htaccess_old<\/code>.<\/li>\n<li>Intenta cargar el sitio.<\/li>\n<\/ol>\n<p>Si la web vuelve, el archivo estaba corrupto o conten\u00eda reglas conflictivas. Luego entra en WordPress y ve a <strong>Ajustes &gt; Enlaces permanentes<\/strong>. Sin cambiar nada, pulsa <strong>Guardar cambios<\/strong>. WordPress generar\u00e1 un <code>.htaccess<\/code> limpio.<\/p>\n<p>Contenido b\u00e1sico de <code>.htaccess<\/code> para una instalaci\u00f3n WordPress est\u00e1ndar:<\/p>\n<pre><code># BEGIN WordPress\n&lt;IfModule mod_rewrite.c&gt;\nRewriteEngine On\nRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\nRewriteBase \/\nRewriteRule ^index\\.php$ - [L]\nRewriteCond %{REQUEST_FILENAME} !-f\nRewriteCond %{REQUEST_FILENAME} !-d\nRewriteRule . \/index.php [L]\n&lt;\/IfModule&gt;\n# END WordPress<\/code><\/pre>\n<p>    <strong>\ud83d\udccc Nota:<\/strong> si usas WordPress en subdirectorio, multisitio, WooCommerce con reglas especiales, plugins de cach\u00e9 o redirecciones manuales, tu <code>.htaccess<\/code> puede necesitar reglas adicionales. No copies y pegues a ciegas si no conoces el entorno.<\/p>\n<h3>4. Desactiva todos los plugins sin entrar al panel<\/h3>\n<p>Los plugins son el gran milagro de WordPress y, a veces, su peque\u00f1a maldici\u00f3n. Permiten crear tiendas, academias, reservas, membres\u00edas y formularios con unos clics. Tambi\u00e9n pueden declarar la guerra entre s\u00ed por una funci\u00f3n duplicada, una librer\u00eda vieja o una llamada PHP incompatible.<\/p>\n<p>Si no puedes acceder a <code>wp-admin<\/code>, desactiva todos los plugins desde FTP\/SFTP:<\/p>\n<ol>\n<li>Ve a <code>wp-content<\/code>.<\/li>\n<li>Renombra la carpeta <code>plugins<\/code> como <code>plugins_old<\/code>.<\/li>\n<li>Crea una nueva carpeta vac\u00eda llamada <code>plugins<\/code>.<\/li>\n<li>Prueba si el sitio carga.<\/li>\n<\/ol>\n<p>Si funciona, el culpable est\u00e1 entre los plugins. Para encontrarlo:<\/p>\n<ol>\n<li>Elimina la carpeta vac\u00eda <code>plugins<\/code>.<\/li>\n<li>Renombra <code>plugins_old<\/code> de nuevo a <code>plugins<\/code>.<\/li>\n<li>Entra a WordPress, donde los plugins deber\u00edan aparecer desactivados.<\/li>\n<li>Act\u00edvalos uno por uno, comprobando el sitio tras cada activaci\u00f3n.<\/li>\n<\/ol>\n<p>Tambi\u00e9n puedes desactivar un plugin concreto renombrando su carpeta interna. Por ejemplo:<\/p>\n<pre><code>wp-content\/plugins\/plugin-problematico\nwp-content\/plugins\/plugin-problematico_old<\/code><\/pre>\n<h3>5. Usa WP-CLI si tienes acceso SSH<\/h3>\n<p>Para desarrolladores o administradores con SSH, <strong>WP-CLI<\/strong> es una herramienta r\u00e1pida y elegante. Un bistur\u00ed, no un martillo.<\/p>\n<p>Desactivar todos los plugins:<\/p>\n<pre><code>wp plugin deactivate --all<\/code><\/pre>\n<p>Listar plugins y su estado:<\/p>\n<pre><code>wp plugin list<\/code><\/pre>\n<p>Activar uno por uno:<\/p>\n<pre><code>wp plugin activate nombre-del-plugin<\/code><\/pre>\n<p>Cambiar a un tema predeterminado:<\/p>\n<pre><code>wp theme activate twentytwentyfour<\/code><\/pre>\n<p>Comprobar la versi\u00f3n de WordPress:<\/p>\n<pre><code>wp core version<\/code><\/pre>\n<p>Verificar archivos del n\u00facleo:<\/p>\n<pre><code>wp core verify-checksums<\/code><\/pre>\n<p>    <strong>\ud83d\udca1 Consejo t\u00e9cnico:<\/strong> si <code>wp core verify-checksums<\/code> detecta archivos modificados en el n\u00facleo de WordPress, revisa si hay corrupci\u00f3n, una actualizaci\u00f3n incompleta o incluso malware. Los archivos core no deber\u00edan editarse manualmente.<\/p>\n<h3>6. Cambia temporalmente a un tema predeterminado<\/h3>\n<p>Un tema no solo define apariencia. En WordPress, un tema puede contener funciones PHP, plantillas, integraciones, constructores visuales, hooks, llamadas a APIs y dependencias. Puede ser una fachada bonita con una sala de m\u00e1quinas bastante temperamental.<\/p>\n<p>Si sospechas del tema, accede por FTP\/SFTP a:<\/p>\n<pre><code>wp-content\/themes\/<\/code><\/pre>\n<p>Renombra la carpeta del tema activo. Por ejemplo:<\/p>\n<pre><code>mi-tema\nmi-tema_old<\/code><\/pre>\n<p>WordPress intentar\u00e1 cargar otro tema disponible. Lo ideal es tener instalado un tema oficial reciente como <code>twentytwentyfour<\/code> o <code>twentytwentyfive<\/code>, seg\u00fan la versi\u00f3n disponible en tu instalaci\u00f3n.<\/p>\n<p>Si tienes acceso a la base de datos, tambi\u00e9n puedes cambiar el tema desde la tabla <code>wp_options<\/code>, editando los valores <code>template<\/code> y <code>stylesheet<\/code>. Ojo: el prefijo puede no ser <code>wp_<\/code>; muchas instalaciones usan prefijos personalizados por seguridad o por simple herencia hist\u00f3rica.<\/p>\n<h3>7. Aumenta el l\u00edmite de memoria PHP, pero no lo uses como aspirina universal<\/h3>\n<p>WordPress puede fallar con error 500 si el proceso PHP se queda sin memoria. Esto es com\u00fan en webs con WooCommerce, constructores visuales, plugins de membres\u00eda, importadores, sitios multiling\u00fces o paneles con muchas consultas. Aumentar memoria puede resolver el s\u00edntoma, aunque no siempre la causa. Dar m\u00e1s memoria a un plugin desbocado es como ampliar una autopista para un conductor que va en direcci\u00f3n contraria: ayuda un rato, hasta que deja de ayudar.<\/p>\n<p>Abre <code>wp-config.php<\/code> y a\u00f1ade antes de la l\u00ednea que dice <code>\/* That's all, stop editing! Happy publishing. *\/<\/code> o su equivalente:<\/p>\n<pre><code>define('WP_MEMORY_LIMIT', '256M');\ndefine('WP_MAX_MEMORY_LIMIT', '512M');<\/code><\/pre>\n<p>En algunos hostings tambi\u00e9n puedes ajustar valores desde:<\/p>\n<ul>\n<li>cPanel &gt; MultiPHP INI Editor.<\/li>\n<li>Panel del hosting &gt; Configuraci\u00f3n PHP.<\/li>\n<li>Archivo <code>php.ini<\/code>.<\/li>\n<li>Archivo <code>.user.ini<\/code>.<\/li>\n<li>Configuraci\u00f3n de PHP-FPM, si administras el servidor.<\/li>\n<\/ul>\n<p>Valores \u00fatiles a revisar:<\/p>\n<pre><code>memory_limit = 256M\nmax_execution_time = 120\nmax_input_time = 120\nmax_input_vars = 3000\npost_max_size = 64M\nupload_max_filesize = 64M<\/code><\/pre>\n<p>    <strong>\u26a0\ufe0f Atenci\u00f3n:<\/strong> si el hosting limita memoria a nivel de servidor, WordPress no podr\u00e1 superar ese techo aunque lo definas en <code>wp-config.php<\/code>. En hosting compartido, la libertad t\u00e9cnica a veces es una habitaci\u00f3n con paredes acolchadas.<\/p>\n<h3>8. Revisa la versi\u00f3n de PHP y compatibilidad<\/h3>\n<p>WordPress recomienda usar versiones modernas y mantenidas de PHP por seguridad y rendimiento. Sin embargo, no todos los plugins y temas avanzan al mismo ritmo. Ah\u00ed aparece una ant\u00edtesis inc\u00f3moda: el servidor quiere futuro; el plugin abandonado exige pasado.<\/p>\n<p>Un error 500 puede aparecer tras cambiar de PHP 7.4 a PHP 8.1, 8.2 o 8.3 si alg\u00fan componente utiliza funciones obsoletas, c\u00f3digo incompatible o dependencias antiguas. Tambi\u00e9n puede ocurrir lo contrario: un WordPress moderno funcionando sobre una versi\u00f3n PHP demasiado vieja.<\/p>\n<p>Qu\u00e9 hacer:<\/p>\n<ul>\n<li>Consulta la versi\u00f3n PHP desde el panel del hosting.<\/li>\n<li>Comprueba los requisitos de WordPress, tema y plugins cr\u00edticos.<\/li>\n<li>Actualiza plugins y tema antes de subir versi\u00f3n PHP.<\/li>\n<li>Prueba el cambio en staging si es posible.<\/li>\n<li>Revisa el log de errores para identificar funciones incompatibles.<\/li>\n<\/ul>\n<p>Errores t\u00edpicos en logs relacionados con compatibilidad:<\/p>\n<pre><code>PHP Fatal error: Uncaught Error: Call to undefined function\nPHP Fatal error: Uncaught TypeError\nPHP Deprecated: Creation of dynamic property\nPHP Parse error: syntax error<\/code><\/pre>\n<p>No todos los avisos <code>Deprecated<\/code> provocan un error 500, pero s\u00ed indican deuda t\u00e9cnica. Y la deuda t\u00e9cnica, como la humedad en una pared, rara vez mejora si se la mira con optimismo.<\/p>\n<h3>9. Corrige permisos de archivos y carpetas<\/h3>\n<p>Despu\u00e9s de una migraci\u00f3n, restauraci\u00f3n o subida por FTP, los permisos pueden quedar mal asignados. Si el servidor no puede leer o ejecutar lo necesario, WordPress puede responder con error 500.<\/p>\n<p>Como regla general en muchos entornos Linux:<\/p>\n<ul>\n<li><strong>Carpetas:<\/strong> <code>755<\/code><\/li>\n<li><strong>Archivos:<\/strong> <code>644<\/code><\/li>\n<li><strong>wp-config.php:<\/strong> <code>640<\/code> o <code>600<\/code>, si el servidor lo permite<\/li>\n<\/ul>\n<p>Evita permisos <code>777<\/code>. S\u00ed, a veces \u201cfunciona\u201d. Tambi\u00e9n funciona dejar la puerta de casa abierta para no perder las llaves. No por eso es una estrategia brillante.<\/p>\n<p>Comandos orientativos por SSH, ejecutados desde la ra\u00edz de WordPress:<\/p>\n<pre><code>find . -type d -exec chmod 755 {} \\;\nfind . -type f -exec chmod 644 {} \\;<\/code><\/pre>\n<p>Si administras el servidor, revisa tambi\u00e9n propietario y grupo. En servidores con PHP-FPM, Apache o Nginx, un propietario incorrecto puede impedir escritura en <code>wp-content\/uploads<\/code>, cach\u00e9 o actualizaciones.<\/p>\n<h3>10. Reinstala los archivos del n\u00facleo de WordPress<\/h3>\n<p>Una actualizaci\u00f3n interrumpida, archivos da\u00f1ados o una infecci\u00f3n pueden corromper el n\u00facleo de WordPress. La soluci\u00f3n no es borrar todo y rezar, sino reinstalar los archivos core sin tocar <code>wp-content<\/code> ni la base de datos.<\/p>\n<p>Desde el panel de WordPress, si puedes acceder:<\/p>\n<ol>\n<li>Ve a <strong>Escritorio &gt; Actualizaciones<\/strong>.<\/li>\n<li>Haz clic en <strong>Reinstalar la versi\u00f3n actual<\/strong>.<\/li>\n<\/ol>\n<p>Con WP-CLI:<\/p>\n<pre><code>wp core download --force<\/code><\/pre>\n<p>Manual por FTP\/SFTP:<\/p>\n<ol>\n<li>Descarga WordPress desde <a href=\"https:\/\/wordpress.org\/download\/\" target=\"_blank\" rel=\"noopener\">wordpress.org<\/a>.<\/li>\n<li>Descomprime el paquete.<\/li>\n<li>Sube y reemplaza carpetas <code>wp-admin<\/code> y <code>wp-includes<\/code>.<\/li>\n<li>Sube archivos ra\u00edz de WordPress, excepto <code>wp-config.php<\/code>.<\/li>\n<li>No sobrescribas <code>wp-content<\/code>.<\/li>\n<\/ol>\n<p>    <strong>\ud83d\udccc Precauci\u00f3n:<\/strong> antes de reinstalar, haz copia de seguridad. El procedimiento es seguro si se ejecuta bien, pero el exceso de confianza tiene una larga carrera como villano silencioso.<\/p>\n<h3>11. Revisa reglas de seguridad, ModSecurity y firewall<\/h3>\n<p>Algunos errores 500 no vienen de WordPress, sino de filtros del servidor. ModSecurity, WAF del hosting, reglas anti-inyecci\u00f3n, protecci\u00f3n contra bots o firewalls de aplicaciones pueden bloquear peticiones leg\u00edtimas. A veces ocurre al guardar una p\u00e1gina con cierto c\u00f3digo, al enviar formularios, al actualizar opciones de un constructor visual o al llamar a la REST API.<\/p>\n<p>Se\u00f1ales t\u00edpicas:<\/p>\n<ul>\n<li>El error aparece solo al guardar cambios.<\/li>\n<li>El contenido incluye scripts, iframes, JSON, reglas CSS largas o palabras que activan falsos positivos.<\/li>\n<li>Ocurre en Elementor, Divi, WPBakery, formularios o ajustes de plugins de seguridad.<\/li>\n<li>En logs aparecen referencias a <code>ModSecurity<\/code>, <code>Access denied<\/code> o reglas con ID.<\/li>\n<\/ul>\n<p>Soluci\u00f3n: contacta con el hosting y pide revisi\u00f3n del log de ModSecurity para la hora exacta del error. No conviene desactivar un firewall entero por comodidad; mejor ajustar la regla concreta si es un falso positivo.<\/p>\n<h3>12. Comprueba l\u00edmites de CPU, procesos, I\/O y base de datos<\/h3>\n<p>En hosting compartido, un sitio puede recibir un error 500 si supera l\u00edmites de recursos: CPU, RAM, entrada\/salida de disco, procesos PHP simult\u00e1neos o conexiones a base de datos. Esto suele manifestarse de forma intermitente: ahora funciona, ahora no, como una bombilla cansada en un pasillo antiguo.<\/p>\n<p>Qu\u00e9 revisar en el panel del hosting:<\/p>\n<ul>\n<li>Uso de CPU.<\/li>\n<li>Uso de memoria f\u00edsica.<\/li>\n<li>Procesos de entrada.<\/li>\n<li>I\/O y IOPS.<\/li>\n<li>Errores PHP.<\/li>\n<li>Consultas lentas MySQL\/MariaDB.<\/li>\n<\/ul>\n<p>Posibles medidas:<\/p>\n<ul>\n<li>Activar cach\u00e9 de p\u00e1gina.<\/li>\n<li>Configurar object cache con Redis o Memcached si el hosting lo soporta.<\/li>\n<li>Optimizar consultas pesadas.<\/li>\n<li>Eliminar plugins redundantes.<\/li>\n<li>Revisar tareas cron internas.<\/li>\n<li>Usar CDN para archivos est\u00e1ticos.<\/li>\n<li>Actualizar plan de hosting si la web ya super\u00f3 la etapa de \u201cpeque\u00f1o proyecto\u201d.<\/li>\n<\/ul>\n<h3>13. Revisa el cron de WordPress y tareas programadas<\/h3>\n<p>WordPress usa <code>wp-cron.php<\/code> para ejecutar tareas programadas: publicar entradas, enviar correos, sincronizar pedidos, limpiar cach\u00e9, procesar suscripciones. En sitios con tr\u00e1fico irregular o plugins pesados, WP-Cron puede generar picos de consumo.<\/p>\n<p>Si el error 500 aparece en ciertos momentos o despu\u00e9s de acciones concretas, revisa eventos cron con plugins especializados o WP-CLI:<\/p>\n<pre><code>wp cron event list<\/code><\/pre>\n<p>En sitios de alto tr\u00e1fico, suele ser mejor desactivar WP-Cron interno y ejecutar un cron real desde el servidor:<\/p>\n<pre><code>define('DISABLE_WP_CRON', true);<\/code><\/pre>\n<p>Luego programar en el servidor una tarea como:<\/p>\n<pre><code>*\/5 * * * * wget -q -O - https:\/\/tudominio.com\/wp-cron.php?doing_wp_cron &gt;\/dev\/null 2&gt;&amp;1<\/code><\/pre>\n<p>Esto no es obligatorio para todos los sitios, pero en proyectos grandes aporta estabilidad. Orden frente a improvisaci\u00f3n; reloj frente a estampida.<\/p>\n<h2 id=\"logs\">C\u00f3mo activar depuraci\u00f3n y leer los logs de error en WordPress \ud83d\udd0d<\/h2>\n<p>Si el error 500 es una habitaci\u00f3n a oscuras, los logs son la linterna. No siempre iluminan todo, pero casi siempre muestran d\u00f3nde est\u00e1 el primer mueble contra el que vas a golpearte.<\/p>\n<h3>Activar WP_DEBUG correctamente<\/h3>\n<p>Edita el archivo <code>wp-config.php<\/code> y a\u00f1ade o modifica estas l\u00edneas antes de \u201cHappy publishing\u201d:<\/p>\n<pre><code>define('WP_DEBUG', true);\ndefine('WP_DEBUG_LOG', true);\ndefine('WP_DEBUG_DISPLAY', false);\n@ini_set('display_errors', 0);<\/code><\/pre>\n<p>Con esta configuraci\u00f3n, WordPress guardar\u00e1 errores en:<\/p>\n<pre><code>wp-content\/debug.log<\/code><\/pre>\n<p>No es recomendable mostrar errores en pantalla en un sitio p\u00fablico, porque pueden revelar rutas internas, nombres de plugins o informaci\u00f3n sensible. La transparencia es una virtud humana; en producci\u00f3n, a veces es una vulnerabilidad.<\/p>\n<h3>D\u00f3nde encontrar logs del servidor<\/h3>\n<p>Adem\u00e1s de <code>debug.log<\/code>, revisa los logs del servidor. La ubicaci\u00f3n depende del hosting:<\/p>\n<ul>\n<li><strong>cPanel:<\/strong> M\u00e9tricas &gt; Errores, o archivos <code>error_log<\/code> en directorios del sitio.<\/li>\n<li><strong>Plesk:<\/strong> Dominios &gt; Logs.<\/li>\n<li><strong>Apache:<\/strong> <code>\/var\/log\/apache2\/error.log<\/code> o <code>\/var\/log\/httpd\/error_log<\/code>.<\/li>\n<li><strong>Nginx:<\/strong> <code>\/var\/log\/nginx\/error.log<\/code>.<\/li>\n<li><strong>PHP-FPM:<\/strong> logs espec\u00edficos del pool PHP, seg\u00fan configuraci\u00f3n.<\/li>\n<li><strong>Cloudflare:<\/strong> eventos de firewall, si el bloqueo ocurre antes de llegar al servidor.<\/li>\n<\/ul>\n<h3>C\u00f3mo interpretar un error fatal<\/h3>\n<p>Un registro t\u00edpico puede verse as\u00ed:<\/p>\n<pre><code>PHP Fatal error:  Uncaught Error: Call to undefined function ejemplo()\nin \/home\/usuario\/public_html\/wp-content\/plugins\/mi-plugin\/includes\/class-main.php:127<\/code><\/pre>\n<p>Qu\u00e9 nos dice:<\/p>\n<ul>\n<li><strong>Tipo de error:<\/strong> <code>PHP Fatal error<\/code>, capaz de provocar error 500.<\/li>\n<li><strong>Funci\u00f3n problem\u00e1tica:<\/strong> <code>ejemplo()<\/code>.<\/li>\n<li><strong>Ruta:<\/strong> el fallo est\u00e1 dentro de un plugin.<\/li>\n<li><strong>L\u00ednea:<\/strong> archivo <code>class-main.php<\/code>, l\u00ednea 127.<\/li>\n<\/ul>\n<p>Con esa informaci\u00f3n, el camino se estrecha. Ya no persigues fantasmas: persigues un archivo, una funci\u00f3n, una versi\u00f3n, una incompatibilidad.<\/p>\n<p>    <strong>\u2705 Buena pr\u00e1ctica:<\/strong> cuando encuentres un error fatal en un plugin o tema comercial, env\u00eda al soporte el mensaje exacto del log, versi\u00f3n de WordPress, versi\u00f3n PHP y pasos para reproducirlo. \u201cMi web no funciona\u201d es comprensible, pero \u201cfatal error en archivo X l\u00ednea Y con PHP 8.2\u201d abre puertas m\u00e1s r\u00e1pido.<\/p>\n<h2 id=\"casos\">Casos especiales donde el error 500 se disfraza mejor<\/h2>\n<h3>Error 500 en WooCommerce<\/h3>\n<p>WooCommerce convierte WordPress en una tienda, pero tambi\u00e9n aumenta la complejidad: carrito, sesiones, pagos, correos, inventario, impuestos, env\u00edos, webhooks. Es una peque\u00f1a ciudad comercial dentro de una web. Si algo falla en una avenida principal, el tr\u00e1fico se atasca.<\/p>\n<p>Revisa especialmente:<\/p>\n<ul>\n<li>Pasarelas de pago recientemente actualizadas.<\/li>\n<li>Plugins de facturaci\u00f3n, impuestos o env\u00edos.<\/li>\n<li>Hooks personalizados en <code>functions.php<\/code>.<\/li>\n<li>Plantillas sobrescritas en el tema.<\/li>\n<li>Memoria PHP y tiempo m\u00e1ximo de ejecuci\u00f3n.<\/li>\n<li>Webhooks fallidos.<\/li>\n<li>Errores en checkout, carrito o p\u00e1gina \u201cMi cuenta\u201d.<\/li>\n<\/ul>\n<p>Herramientas \u00fatiles:<\/p>\n<ul>\n<li><strong>WooCommerce &gt; Estado &gt; Registro:<\/strong> logs propios de WooCommerce.<\/li>\n<li><strong>WooCommerce &gt; Estado del sistema:<\/strong> versiones, plantillas, l\u00edmites PHP.<\/li>\n<li><strong>Modo sandbox<\/strong> en pasarelas de pago para reproducir sin afectar pedidos reales.<\/li>\n<\/ul>\n<h3>Error 500 en admin-ajax.php<\/h3>\n<p><code>admin-ajax.php<\/code> se utiliza para muchas acciones as\u00edncronas en WordPress. Un error 500 ah\u00ed puede afectar formularios, constructores visuales, filtros, carritos din\u00e1micos o paneles de administraci\u00f3n.<\/p>\n<p>Diagn\u00f3stico:<\/p>\n<ul>\n<li>Abre las herramientas de desarrollador del navegador.<\/li>\n<li>Ve a la pesta\u00f1a <strong>Network<\/strong> o <strong>Red<\/strong>.<\/li>\n<li>Reproduce la acci\u00f3n que falla.<\/li>\n<li>Busca la petici\u00f3n a <code>admin-ajax.php<\/code> con estado 500.<\/li>\n<li>Revisa respuesta, payload y logs PHP.<\/li>\n<\/ul>\n<p>Normalmente el problema no est\u00e1 en <code>admin-ajax.php<\/code> en s\u00ed, sino en una funci\u00f3n enganchada a una acci\u00f3n AJAX por un plugin o tema.<\/p>\n<h3>Error 500 en la REST API<\/h3>\n<p>El editor de bloques, WooCommerce, aplicaciones externas y muchos plugins dependen de la REST API de WordPress. Si falla, puedes ver mensajes como \u201cLa actualizaci\u00f3n fall\u00f3\u201d o \u201cRespuesta no v\u00e1lida\u201d.<\/p>\n<p>Prueba esta URL:<\/p>\n<pre><code>https:\/\/tudominio.com\/wp-json\/<\/code><\/pre>\n<p>Si devuelve error 500, revisa:<\/p>\n<ul>\n<li>Plugins de seguridad bloqueando REST API.<\/li>\n<li>Reglas <code>.htaccess<\/code>.<\/li>\n<li>Permalinks mal regenerados.<\/li>\n<li>Errores PHP en plugins que registran endpoints.<\/li>\n<li>Autenticaci\u00f3n, cabeceras o reglas del servidor.<\/li>\n<\/ul>\n<h3>Error 500 despu\u00e9s de migrar WordPress<\/h3>\n<p>Las migraciones son mudanzas digitales. Todo parece estar en cajas, pero siempre falta un tornillo de la cama o aparece una taza rota dentro de una bota. Tras mover WordPress a otro hosting o dominio, el error 500 puede venir de:<\/p>\n<ul>\n<li>Rutas absolutas antiguas en configuraci\u00f3n.<\/li>\n<li><code>.htaccess<\/code> incompatible con el nuevo servidor.<\/li>\n<li>Versi\u00f3n PHP distinta.<\/li>\n<li>Extensiones PHP faltantes.<\/li>\n<li>Permisos o propietarios incorrectos.<\/li>\n<li>Base de datos importada con prefijo diferente.<\/li>\n<li>URLs serializadas mal reemplazadas.<\/li>\n<\/ul>\n<p>Para reemplazar URLs en WordPress, evita b\u00fasquedas manuales en SQL si hay datos serializados. Usa herramientas que respeten serializaci\u00f3n, como WP-CLI:<\/p>\n<pre><code>wp search-replace 'https:\/\/dominio-antiguo.com' 'https:\/\/dominio-nuevo.com' --skip-columns=guid<\/code><\/pre>\n<h3>Error 500 despu\u00e9s de instalar un certificado SSL<\/h3>\n<p>Al activar HTTPS, pueden aparecer redirecciones en bucle o reglas conflictivas. No siempre se muestran como error 500, pero puede ocurrir si <code>.htaccess<\/code>, Cloudflare y WordPress intentan imponer HTTPS cada uno por su cuenta, como tres porteros peleando por abrir la misma puerta.<\/p>\n<p>Revisa:<\/p>\n<ul>\n<li>URLs del sitio en <strong>Ajustes &gt; Generales<\/strong>.<\/li>\n<li>Reglas de redirecci\u00f3n HTTP a HTTPS.<\/li>\n<li>Modo SSL de Cloudflare: evita combinaciones incorrectas como \u201cFlexible\u201d cuando el servidor ya tiene SSL v\u00e1lido.<\/li>\n<li>Plugins de SSL duplicados o innecesarios.<\/li>\n<\/ul>\n<h2>Soluciones avanzadas para administradores y desarrolladores<\/h2>\n<h3>Revisar configuraci\u00f3n Nginx<\/h3>\n<p>En Nginx no se utiliza <code>.htaccess<\/code>. Las reglas est\u00e1n en archivos de configuraci\u00f3n del servidor. Si el error 500 aparece tras cambios en Nginx, PHP-FPM o reglas de reescritura, revisa la configuraci\u00f3n del bloque del sitio.<\/p>\n<p>Ejemplo b\u00e1sico de bloque para WordPress:<\/p>\n<pre><code>location \/ {\n    try_files $uri $uri\/ \/index.php?$args;\n}\n\nlocation ~ \\.php$ {\n    include snippets\/fastcgi-php.conf;\n    fastcgi_pass unix:\/run\/php\/php8.2-fpm.sock;\n}<\/code><\/pre>\n<p>Comprueba sintaxis y recarga:<\/p>\n<pre><code>nginx -t\nsystemctl reload nginx<\/code><\/pre>\n<p>Si usas PHP-FPM:<\/p>\n<pre><code>systemctl status php8.2-fpm\njournalctl -u php8.2-fpm --since \"30 minutes ago\"<\/code><\/pre>\n<h3>Revisar extensiones PHP necesarias<\/h3>\n<p>WordPress y sus plugins pueden requerir extensiones como:<\/p>\n<ul>\n<li><code>mysqli<\/code> o <code>mysqlnd<\/code><\/li>\n<li><code>curl<\/code><\/li>\n<li><code>mbstring<\/code><\/li>\n<li><code>xml<\/code><\/li>\n<li><code>zip<\/code><\/li>\n<li><code>gd<\/code> o <code>imagick<\/code><\/li>\n<li><code>intl<\/code><\/li>\n<li><code>openssl<\/code><\/li>\n<\/ul>\n<p>Una extensi\u00f3n faltante puede romper importadores, pasarelas, generaci\u00f3n de im\u00e1genes, traducciones o integraciones externas. El error final puede ser 500, aunque la causa real sea una pieza ausente del motor.<\/p>\n<h3>Desactivar temporalmente object cache<\/h3>\n<p>Si usas Redis, Memcached u object cache persistente, una cach\u00e9 corrupta o una conexi\u00f3n fallida puede producir errores inesperados. Prueba a desactivar temporalmente el drop-in:<\/p>\n<pre><code>wp-content\/object-cache.php<\/code><\/pre>\n<p>Ren\u00f3mbralo a:<\/p>\n<pre><code>object-cache.php_old<\/code><\/pre>\n<p>Despu\u00e9s purga Redis o Memcached si tienes acceso. En WP-CLI:<\/p>\n<pre><code>wp cache flush<\/code><\/pre>\n<h3>Revisar drop-ins de WordPress<\/h3>\n<p>En <code>wp-content<\/code> pueden existir archivos especiales llamados drop-ins, cargados por WordPress para funciones avanzadas:<\/p>\n<ul>\n<li><code>advanced-cache.php<\/code><\/li>\n<li><code>object-cache.php<\/code><\/li>\n<li><code>db.php<\/code><\/li>\n<li><code>maintenance.php<\/code><\/li>\n<li><code>sunrise.php<\/code> en algunos multisitios<\/li>\n<\/ul>\n<p>Plugins de cach\u00e9, bases de datos avanzadas o multisitio pueden depender de ellos. Si un drop-in queda hu\u00e9rfano tras desinstalar un plugin, puede provocar errores. Renombrarlo temporalmente ayuda a descartar.<\/p>\n<h2>Qu\u00e9 hacer si el error 500 aparece solo en el administrador de WordPress<\/h2>\n<p>Cuando el sitio p\u00fablico carga, pero <code>wp-admin<\/code> muestra error 500, el diagn\u00f3stico cambia ligeramente. El \u00e1rea administrativa carga scripts, men\u00fas, widgets, notificaciones, actualizaciones y llamadas internas que el visitante com\u00fan no ve.<\/p>\n<p>Pasos recomendados:<\/p>\n<ol>\n<li>Desactiva plugins de seguridad o administraci\u00f3n pesada.<\/li>\n<li>Aumenta <code>WP_MAX_MEMORY_LIMIT<\/code>.<\/li>\n<li>Revisa errores en <code>debug.log<\/code>.<\/li>\n<li>Desactiva widgets del escritorio si alguno consume APIs externas.<\/li>\n<li>Comprueba si el error ocurre en una pantalla concreta: plugins, entradas, WooCommerce, Elementor, usuarios.<\/li>\n<li>Revisa reglas de acceso a <code>wp-admin<\/code> o <code>wp-login.php<\/code> en <code>.htaccess<\/code>.<\/li>\n<\/ol>\n<p>Si el error aparece al entrar con un usuario concreto, puede existir un problema con capacidades, metadatos de usuario, idioma del perfil o configuraci\u00f3n personalizada de administraci\u00f3n.<\/p>\n<h2>Qu\u00e9 hacer si aparece \u201cThere has been a critical error on this website\u201d<\/h2>\n<p>Desde WordPress 5.2 existe una protecci\u00f3n contra errores fatales que puede mostrar el mensaje: <strong>\u201cThere has been a critical error on this website\u201d<\/strong> o su traducci\u00f3n. No es exactamente lo mismo que el error 500 gen\u00e9rico, pero ambos pueden compartir causa.<\/p>\n<p>WordPress intenta enviar un correo al administrador con un enlace de modo recuperaci\u00f3n. Si lo recibes, \u00fasalo para entrar y desactivar el plugin o tema problem\u00e1tico. Si no llega, revisa logs.<\/p>\n<p>Posibles razones por las que no recibes el correo:<\/p>\n<ul>\n<li>El correo administrador est\u00e1 desactualizado.<\/li>\n<li>El servidor no env\u00eda emails correctamente.<\/li>\n<li>No hay SMTP configurado.<\/li>\n<li>El error ocurre antes de que WordPress pueda enviar el aviso.<\/li>\n<\/ul>\n<h2>Lista r\u00e1pida de diagn\u00f3stico: del s\u00edntoma a la causa \ud83e\udded<\/h2>\n<table>\n<thead>\n<tr>\n<th>S\u00edntoma<\/th>\n<th>Primer sospechoso<\/th>\n<th>Acci\u00f3n recomendada<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Error tras actualizar un plugin<\/td>\n<td>Plugin incompatible<\/td>\n<td>Desactivar ese plugin por FTP o WP-CLI.<\/td>\n<\/tr>\n<tr>\n<td>Error tras cambiar enlaces permanentes<\/td>\n<td><code>.htaccess<\/code><\/td>\n<td>Renombrar y regenerar.<\/td>\n<\/tr>\n<tr>\n<td>Error al guardar p\u00e1ginas<\/td>\n<td>ModSecurity o l\u00edmite PHP<\/td>\n<td>Revisar logs del firewall y <code>max_input_vars<\/code>.<\/td>\n<\/tr>\n<tr>\n<td>Error en checkout<\/td>\n<td>Pasarela, WooCommerce o memoria<\/td>\n<td>Revisar logs WooCommerce y PHP.<\/td>\n<\/tr>\n<tr>\n<td>Error intermitente<\/td>\n<td>Recursos del hosting<\/td>\n<td>Analizar CPU, RAM, I\/O y procesos.<\/td>\n<\/tr>\n<tr>\n<td>Error tras migraci\u00f3n<\/td>\n<td>Permisos, PHP, rutas o <code>.htaccess<\/code><\/td>\n<td>Comparar entorno anterior y nuevo.<\/td>\n<\/tr>\n<tr>\n<td>Pantalla blanca sin mensaje<\/td>\n<td>Error fatal oculto<\/td>\n<td>Activar <code>WP_DEBUG_LOG<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Errores comunes que empeoran el problema<\/h2>\n<p>La prisa es mala consejera, y en WordPress adem\u00e1s suele tener acceso FTP. Evita estos errores:<\/p>\n<ul>\n<li><strong>Borrar plugins en lugar de desactivarlos:<\/strong> puedes perder configuraciones o datos asociados.<\/li>\n<li><strong>Editar archivos core:<\/strong> cualquier actualizaci\u00f3n sobrescribir\u00e1 cambios, y adem\u00e1s complica el diagn\u00f3stico.<\/li>\n<li><strong>Dar permisos 777:<\/strong> abre riesgos de seguridad innecesarios.<\/li>\n<li><strong>Desactivar todos los sistemas de seguridad sin revisar logs:<\/strong> arregla el s\u00edntoma y quiz\u00e1 invita al problema siguiente.<\/li>\n<li><strong>Restaurar una copia antigua sin analizar:<\/strong> si no conoces la causa, el error puede volver.<\/li>\n<li><strong>Actualizar todo en producci\u00f3n durante la ca\u00edda:<\/strong> a veces resuelve; a veces convierte un incendio en festival pirot\u00e9cnico.<\/li>\n<\/ul>\n<h2 id=\"prevencion\">C\u00f3mo prevenir futuros errores 500 en WordPress \ud83d\udee1\ufe0f<\/h2>\n<p>Una web saludable no es la que nunca falla, sino la que falla con menos frecuencia, deja rastros claros y se recupera r\u00e1pido. La prevenci\u00f3n no tiene el brillo heroico de una reparaci\u00f3n urgente a medianoche, pero suele ser m\u00e1s barata, m\u00e1s tranquila y m\u00e1s profesional.<\/p>\n<h3>Mant\u00e9n actualizaciones con criterio<\/h3>\n<ul>\n<li>Actualiza WordPress, plugins y temas de forma regular.<\/li>\n<li>Revisa changelogs antes de actualizar componentes cr\u00edticos.<\/li>\n<li>Haz backup antes de actualizaciones importantes.<\/li>\n<li>Prueba en staging si gestionas WooCommerce, membres\u00edas o LMS.<\/li>\n<\/ul>\n<h3>Elige plugins como quien elige socios<\/h3>\n<p>No instales plugins por impulso. Eval\u00faa:<\/p>\n<ul>\n<li>Frecuencia de actualizaci\u00f3n.<\/li>\n<li>Compatibilidad con tu versi\u00f3n de WordPress y PHP.<\/li>\n<li>Soporte activo.<\/li>\n<li>Reputaci\u00f3n y n\u00famero de instalaciones.<\/li>\n<li>Impacto en rendimiento.<\/li>\n<\/ul>\n<p>Menos plugins no siempre significa mejor web, pero plugins redundantes s\u00ed suelen significar problemas. Dos plugins de cach\u00e9, tres constructores y cuatro suites de seguridad no crean una fortaleza; crean una asamblea ruidosa.<\/p>\n<h3>Implementa copias de seguridad autom\u00e1ticas<\/h3>\n<p>Una estrategia seria de backups debe incluir:<\/p>\n<ul>\n<li>Copias completas de archivos.<\/li>\n<li>Copias de base de datos.<\/li>\n<li>Almacenamiento externo: S3, Google Drive, Dropbox, servidor remoto.<\/li>\n<li>Retenci\u00f3n suficiente: diaria, semanal y mensual seg\u00fan actividad.<\/li>\n<li>Pruebas de restauraci\u00f3n. Un backup no probado es una promesa, no una garant\u00eda.<\/li>\n<\/ul>\n<h3>Monitoriza uptime y rendimiento<\/h3>\n<p>Usa herramientas de monitorizaci\u00f3n para detectar ca\u00eddas antes que tus clientes:<\/p>\n<ul>\n<li>UptimeRobot.<\/li>\n<li>Better Stack.<\/li>\n<li>StatusCake.<\/li>\n<li>Pingdom.<\/li>\n<li>New Relic o similares para an\u00e1lisis avanzado.<\/li>\n<\/ul>\n<p>Tambi\u00e9n conviene revisar m\u00e9tricas de Core Web Vitals, tiempos de respuesta del servidor, consultas lentas y errores PHP recurrentes. Un error 500 rara vez nace de la nada; muchas veces ven\u00eda dejando migas, peque\u00f1as advertencias como hojas secas antes del incendio.<\/p>\n<h3>Usa staging y control de versiones<\/h3>\n<p>Para proyectos profesionales, el flujo ideal incluye:<\/p>\n<ul>\n<li>Entorno local o staging.<\/li>\n<li>Control de versiones con Git para tema personalizado y plugins propios.<\/li>\n<li>Despliegues documentados.<\/li>\n<li>Rollback r\u00e1pido.<\/li>\n<li>Registro de cambios t\u00e9cnicos.<\/li>\n<\/ul>\n<p>WordPress naci\u00f3 con esp\u00edritu editorial, pero los proyectos serios necesitan disciplina de ingenier\u00eda. Libertad para publicar; rigor para mantener. Esa tensi\u00f3n, bien gestionada, es donde una web deja de ser improvisaci\u00f3n y se convierte en infraestructura.<\/p>\n<h2>Checklist final para reparar el error 500 en WordPress<\/h2>\n<ul>\n<li>Hacer copia de seguridad de archivos y base de datos.<\/li>\n<li>Comprobar si el error afecta a todo el sitio o solo a una secci\u00f3n.<\/li>\n<li>Purgar cach\u00e9 del navegador, plugin, hosting y CDN.<\/li>\n<li>Renombrar <code>.htaccess<\/code> y regenerar enlaces permanentes.<\/li>\n<li>Desactivar plugins y reactivarlos uno por uno.<\/li>\n<li>Cambiar temporalmente a un tema predeterminado.<\/li>\n<li>Activar <code>WP_DEBUG_LOG<\/code> y revisar <code>wp-content\/debug.log<\/code>.<\/li>\n<li>Consultar logs del servidor: Apache, Nginx, PHP-FPM o panel del hosting.<\/li>\n<li>Aumentar memoria PHP si hay errores de agotamiento de memoria.<\/li>\n<li>Verificar compatibilidad de PHP con WordPress, plugins y tema.<\/li>\n<li>Corregir permisos de archivos y carpetas.<\/li>\n<li>Reinstalar archivos core de WordPress si hay corrupci\u00f3n.<\/li>\n<li>Revisar ModSecurity, WAF y reglas del firewall.<\/li>\n<li>Analizar consumo de recursos del hosting.<\/li>\n<li>Documentar la causa y aplicar prevenci\u00f3n.<\/li>\n<\/ul>\n<h2>Cu\u00e1ndo contactar con el hosting o con un desarrollador<\/h2>\n<p>Hay momentos en los que insistir solo alarga la ca\u00edda. Contacta con tu proveedor de hosting si:<\/p>\n<ul>\n<li>No tienes acceso a logs del servidor.<\/li>\n<li>El error coincide con l\u00edmites de CPU, RAM, procesos o I\/O.<\/li>\n<li>Sospechas de ModSecurity o firewall.<\/li>\n<li>El servidor devuelve 500 incluso con plugins desactivados y <code>.htaccess<\/code> regenerado.<\/li>\n<li>Hay errores PHP-FPM, Nginx o Apache fuera del alcance de WordPress.<\/li>\n<\/ul>\n<p>Acude a un desarrollador si:<\/p>\n<ul>\n<li>El log apunta a c\u00f3digo personalizado.<\/li>\n<li>El error afecta procesos cr\u00edticos de negocio.<\/li>\n<li>Hay incompatibilidades complejas entre plugins.<\/li>\n<li>Necesitas depurar consultas, hooks o integraciones externas.<\/li>\n<li>La web ha sido infectada o muestra archivos sospechosos.<\/li>\n<\/ul>\n<p>Cuando escribas al soporte, incluye datos concretos:<\/p>\n<ul>\n<li>URL afectada.<\/li>\n<li>Hora aproximada del error y zona horaria.<\/li>\n<li>Acci\u00f3n que lo provoca.<\/li>\n<li>Captura de pantalla si aplica.<\/li>\n<li>Fragmento del log de error.<\/li>\n<li>Cambios recientes: actualizaciones, migraci\u00f3n, plugins, PHP, SSL.<\/li>\n<\/ul>\n<p>    <strong>\ud83d\udcce Plantilla \u00fatil para soporte:<\/strong><\/p>\n<p>\u201cMi sitio WordPress muestra error 500 al acceder a [URL] desde las [hora]. Ocurri\u00f3 despu\u00e9s de [cambio realizado]. Ya prob\u00e9 [acciones]. \u00bfPodr\u00edan revisar logs de PHP\/servidor y ModSecurity en ese intervalo? Adjunto error encontrado: [mensaje del log].\u201d<\/p>\n<h2>Una \u00faltima mirada: reparar no es adivinar<\/h2>\n<p>El <strong>500 Internal Server Error en WordPress<\/strong> impresiona porque parece absoluto: una pantalla sin matices, una negativa sin explicaci\u00f3n. Pero debajo de esa superficie opaca suele haber una causa concreta, casi dom\u00e9stica: un plugin incompatible, una regla torcida, una memoria insuficiente, un permiso mal puesto, un servidor exhausto.<\/p>\n<p>La diferencia entre una reparaci\u00f3n profesional y una tarde de desesperaci\u00f3n est\u00e1 en el m\u00e9todo. Mirar logs. Cambiar una variable cada vez. Entender el contexto. No confundir rapidez con precipitaci\u00f3n. En el fondo, mantener una web WordPress se parece a cuidar un jard\u00edn mec\u00e1nico: hay que podar, actualizar, vigilar plagas, regar lo justo y no sorprenderse si una ra\u00edz invisible levanta una baldosa.<\/p>\n<p>Si sigues este proceso, no solo podr\u00e1s <strong>solucionar el error 500 en WordPress<\/strong>; tambi\u00e9n conocer\u00e1s mejor tu sitio. Y eso, aunque llegue disfrazado de aver\u00eda, es una forma extra\u00f1a de progreso. A veces la web se cae para obligarnos a mirar lo que sosten\u00eda su equilibrio. Qu\u00e9 detalle tan poco elegante, pero tan instructivo. \ud83d\ude80<\/p>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo solucionar el error 500 Internal Server Error en WordPress? Gu\u00eda profesional, sin supersticiones y<\/p>\n","protected":false},"author":1,"featured_media":3775,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-3776","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mantenimiento"],"_links":{"self":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/comments?post=3776"}],"version-history":[{"count":1,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3776\/revisions"}],"predecessor-version":[{"id":3777,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3776\/revisions\/3777"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/media\/3775"}],"wp:attachment":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/media?parent=3776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/categories?post=3776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/tags?post=3776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}