La mayoría de los errores de WordPress vienen de un conflicto de plugin, un límite de memoria PHP, permisos de archivo incorrectos o un archivo corrupto (.htaccess, wp-config.php). Antes de corregir, haz una copia de seguridad, activa WP_DEBUG e identifica el mensaje exacto.
Un sitio caído es dinero detenido. Y el peor de los errores de WordPress rara vez muestra la causa — solo una pantalla blanca, un 500 seco o un “error al establecer la conexión”. Esta guía es el mapa: cómo diagnosticar cualquier error, la corrección directa de los más comunes, y la señal honesta de cuándo el problema no eres tú — es el servidor.
Antes de tocar nada: 3 pasos que salvan el sitio
La prisa rompe sitios. Antes de cualquier corrección:
- Haz una copia de seguridad de archivos y base de datos. Siempre. Es la diferencia entre un susto y una pérdida.
- Activa el modo de depuración. En
wp-config.php, antes de/* That's all, stop editing! */:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // registra en wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // no expone el error al visitante
- Prueba en staging, no en producción. Si el host ofrece un entorno de prueba, reproduce el error ahí primero.
Cómo diagnosticar cualquier error de WordPress
Antes de memorizar correcciones, sigue el flujo. Aísla la causa en minutos:
- ¿El sitio abre? No → error fatal (blanco, 500, base de datos). Sí, pero roto → CSS/JS o un plugin.
- ¿Abre
wp-admin? Si el panel funciona y solo el sitio se rompe, el problema es un tema/plugin o el.htaccess. - ¿Cuál es el mensaje? Consulta el
debug.logo el log de errores del servidor. Sin mensaje (pantalla blanca) → casi siempre un error fatal de PHP o memoria. - Aísla: desactiva todos los plugins (renombra
wp-content/plugins). ¿Volvió? Reactívalos uno a uno hasta encontrar al culpable. ¿No volvió? Cambia a un tema por defecto (Twenty Twenty-*). - ¿Sigue roto con todo desactivado? El problema es el servidor/host — salta a la sección final.
Herramienta clave: WP-CLI resuelve la mayoría de esto por línea de comandos (
wp plugin deactivate --all,wp theme activate), sin depender del panel.
Errores de pantalla y ejecución
Pantalla blanca de la muerte (WSOD)
Síntoma: página totalmente blanca, sin mensaje, front-end y/o admin.
Causa raíz: un error fatal de PHP — casi siempre un conflicto de plugin, un tema roto o memoria agotada.
Corrección rápida: en WordPress 5.2+, revisa el correo del admin — el modo de recuperación envía un enlace. ¿Sin correo? Activa el WP_DEBUG de arriba y recarga para ver el error real. Si persiste, renombra wp-content/plugins a plugins_old vía FTP; si el sitio vuelve, el culpable es un plugin — reactívalos uno a uno.
Error 500 Internal Server Error
Síntoma: un “500 Internal Server Error” genérico, sin detalle.
Causa raíz: un .htaccess corrupto, memoria PHP agotada, una versión de PHP incompatible o un plugin con error de servidor.
Corrección rápida: renombra el .htaccess de la raíz a .htaccess_old y recarga. ¿Volvió? Ve a Ajustes → Enlaces permanentes y haz clic en Guardar para generar un .htaccess limpio. Si no, aumenta la memoria (abajo) y desactiva plugins.
Memoria PHP agotada
Síntoma: “Allowed memory size of X bytes exhausted” o pantalla blanca en páginas pesadas.
Causa raíz: el sitio superó el límite de memoria de PHP.
Corrección rápida: en wp-config.php, aumenta el límite:
define( 'WP_MEMORY_LIMIT', '256M' );
Si no resuelve, el límite real está en el servidor (php.ini / host) — ahí es donde escalar.
Errores de base de datos y conexión
Error al establecer la conexión con la base de datos
Síntoma: “Error establishing a database connection” — sitio y admin totalmente caídos.
Causa raíz: credenciales incorrectas en wp-config.php, base de datos sobrecargada/caída o tablas corruptas.
Corrección rápida: confirma que DB_NAME, DB_USER, DB_PASSWORD y DB_HOST en wp-config.php coincidan exactamente con lo que configuró el host. ¿Correctos y aún falla? La base puede estar caída (habla con el host) o corrupta — repárala con:
define( 'WP_ALLOW_REPAIR', true );
Luego accede a tudominio.com/wp-admin/maint/repair.php y elimina la línea al terminar.
Errores HTTP (403 / 404 / 429 / 502 / 504)
404 en todas las entradas (pero la home abre)
Síntoma: la home funciona, todas las entradas/páginas dan 404.
Causa raíz: estructura de enlaces permanentes corrupta o .htaccess sin las reglas de rewrite.
Corrección rápida: ve a Ajustes → Enlaces permanentes y haz clic en Guardar cambios (sin cambiar nada) — esto regenera las reglas. Si persiste, confirma que el .htaccess tenga el bloque # BEGIN WordPress y que mod_rewrite esté activo.
403 Forbidden
Síntoma: “403 Forbidden — no tienes permiso para acceder”.
Causa raíz: permisos de archivo/carpeta incorrectos, un .htaccess restrictivo o un plugin de seguridad bloqueando.
Corrección rápida: confirma permisos — carpetas 755, archivos 644. Renombra el .htaccess para probar. Si un plugin de seguridad (firewall) bloquea tu IP, desactívalo vía FTP.
Errores de contenido y operación
Modo de mantenimiento atascado
Síntoma: “Mantenimiento programado. Vuelve en un minuto” que nunca desaparece.
Causa raíz: una actualización se interrumpió y dejó el archivo .maintenance en la raíz.
Corrección rápida: conéctate por FTP, elimina el archivo .maintenance de la raíz del sitio. Recarga — el sitio vuelve al instante.
Las entradas programadas no se publican
Síntoma: las entradas programadas quedan atascadas como “programada” y no se publican.
Causa raíz: wp-cron.php no se dispara — común en sitios de bajo tráfico o con el cron desactivado.
Corrección rápida: desactiva el cron virtual y usa un cron real del servidor. En wp-config.php:
define( 'DISABLE_WP_CRON', true );
Luego configura un cron job en el host que llame a wp-cron.php cada 5–15 minutos.
Las imágenes no cargan o aparecen rotas
Síntoma: las imágenes desaparecen, se vuelven un icono roto, especialmente tras una migración.
Causa raíz: URLs antiguas en la base de datos (tras cambiar de dominio) o permisos incorrectos en wp-content/uploads.
Corrección rápida: confirma permisos 755 en uploads. Tras una migración, actualiza las URLs en la base de datos con WP-CLI:
wp search-replace 'https://dominio-antiguo.com' 'https://dominio-nuevo.com' --skip-columns=guid
Seguridad: cuando un “error” es una intrusión
No todo “error” es un bug. Un redireccionamiento a un sitio extraño, un admin que no creaste, spam en japonés en Google o un aviso “este sitio puede ser peligroso” en Chrome no son fallos de configuración — son señales de malware. Si es el caso, el flujo es otro: diagnóstico y eliminación. Mira la guía dedicada: cómo identificar malware en WordPress.
Cuando NO eres tú (es el host/servidor)
El punto honesto que los tutoriales evitan. Si el error persiste con todos los plugins desactivados, un tema por defecto activo y el .htaccess regenerado, el problema no está en tu WordPress. Probablemente sea:
- Una versión de PHP incompatible (demasiado antigua o nueva para un plugin)
- Límites de recursos del plan de hosting superados (memoria, CPU, procesos)
- Una base de datos caída o sobrecargada en el servidor
- Configuración del servidor (
php.ini, límites de subida, timeouts)
Cómo confirmarlo: el log de errores del servidor (en el panel del host) muestra el error de bajo nivel. Con él en mano, el soporte del hosting lo resuelve rápido — o es hora de considerar un mejor hosting. Cuando el diagnóstico exige acceso al servidor, versión de PHP y configuración fina, es el tipo de trabajo que Pixelize hace en el servicio de WordPress Specialist.