Solución de problemas y errores en WordPress


Una de las formas con las que empecé a ganarme la vida cuando me especialicé en WordPress y antes de que existiera Raiola Networks, era resolviendo problemas en WordPress y levantando webs caídas con problemas en el CMS.

Puede decirse, que, en todo este tiempo, he ganado mucha experiencia detectando rápidamente problemas al vuelo en WordPress y reparándolos de la forma más rápida posible.


Hasta la versión 5.2 de WordPress, cuando existía un problema con un plugin y este causaba un error fatal en la ejecución de PHP, lo normal es que apareciera un error en la web o directamente un pantallazo en blanco, por lo que el sitio web dejaba de verse hasta que el problema era detectado y solucionado (desactivando el plugin por ejemplo).


En la mayoría de casos, si el modo debug de WordPress no nos daba datos concluyentes, la solución era ir desactivando plugin a plugin desde el FTP (cambiando el nombre de la carpeta, por ejemplo) hasta dar con el plugin que estaba causando el problema.

La pantalla blanca de la muerte fue uno de los mayores miedos de los webmasters que trabajaban con WordPress, ya que como he comentado, en la mayoría de los casos buscar el problema era una tarea engorrosa y no podíamos ni acceder al panel de administración de WordPress para ver el modo debug y los errores mostrados.

A continuación, te explico algunos métodos y sistemas para conseguir detectar y determinar de dónde vienen los problemas que podemos encontrarnos en una instalación WordPress normal.

Modo recuperación en WordPress

Como he dicho, desde la versión 5.2 de WordPress se ha incorporado un modo recuperación con ciertas características que evitan que nuestro sitio web se caiga completamente cuando aparezca un error en un plugin o theme.

El funcionamiento del modo recuperación es simple, aunque no se puede forzar, para poder utilizar el modo recuperación, la instalación de WordPress debe detectar un error fatal.

Cuando el sitio web (WordPress) detecte un error falta, el visitante podrá ver este mensaje en el navegador web:


Y al mismo tiempo, en el email de administrador del sitio web ha tenido que llegar un mensaje de correo electrónico con algunos datos interesantes para reestablecer el funcionamiento normal del sitio web WordPress.


Al pulsar sobre el enlace que he rodeado en rojo en la captura anterior (en el email) nos activara el modo recuperación de WordPress:


Nos autentificamos con los datos normales de acceso al dashboard de WordPress como administradores y podremos ver el dashboard de WordPress con dos mensajes arriba:


El tema, es que WordPress ha detectado un problema grave en el código de uno de los plugins, pero en ningún momento ha dejado de servir el sitio web, sino que en su lugar cuando detecta que un administrador o usuario con permisos accede, le notifica el problema y le manda un email a la dirección de correo de administrador del sitio web.

Ahora podemos ir a la sección de plugins de WordPress y podremos distinguir bastante bien que plugins nos están dando problemas:


¿Qué tenemos que hacer ahora? Pues podemos sustituir los plugins o directamente eliminarlos para que el sitio vuelva a funcionar correctamente.
La solución depende del caso y del plugin que falle, en muchos casos falla por un problema de compatibilidad con una actualización, en otros por un problema en los propios archivos del plugin, etc… pero si quieres ir a lo seguro, simplemente debes desactivar el plugin para reestablecer el servicio.

En este caso del ejemplo anterior, los errores son simplemente porque he modificado algunos archivos importantes de esos plugins modificando la sintaxis del código PHP para que no sea válido.

¿Y cuál es la razón de que WordPress hay implementado ahora este sistema? Pues en gran parte creo que es por los problemas causados por las actualizaciones automáticas implementadas en las últimas versiones de WordPress, que causaban problemas “automatizadas” en las actualizaciones de algunos plugins.


Es muy difícil mantener el control de TODOS los plugins y themes publicados en el repositorio oficial de WordPress y en casos muy exporádicos puede colarse algún plugin o theme con un problema grave que pueda dañar el funcionamiento del sitio web, de ahí el nuevo modo recuperación.

Después de utilizar el modo recuperación de WordPress, simplemente salimos o nos deslogueamos en el dashboard de WordPress para salir.

Ahora viene la gran pregunta, ¿puedo desactivar el modo recuperación de WordPress?

Pues sí, sí que puedes, ya que en algún caso puede que se active por un falso positivo o por algún problema que previamente tenemos controlado.

Para desactivar el modo recuperación de WordPress, simplemente debemos añadir la siguiente línea de código al wp-config.php de nuestro WordPress:


define('WP_DISABLE_FATAL_ERROR_HANDLER', true);


define('WP_DISABLE_FATAL_ERROR_HANDLER', true);


Con esto WordPress volverá a funcionar “normalmente” salvo que los errores causados por los plugins sean tan graves que el sitio no pueda volver a estar online sin solucionar previamente el problema.


Modo DEBUG en WordPress

Desde casi las primeras versiones de WordPress, el CMS trae integrado un modo debug que nos permite sacar por pantalla los mensajes de error o warnings que produce el código al ejecutarse.


Normalmente estos mensajes de error no se muestran en pantalla, ya que no quedarían bonitos para los visitantes, pero con el modo debug, al activarlo, podemos hacer que los mensajes de error aparezcan a los administradores autentificados en el sitio web.

Para activar el modo debug en WordPress simplemente debemos ir al archivo wp-config.php de la instalación de WordPress y añadir el siguiente código:

define('WP_DEBUG', true);

define('WP_DEBUG', true);

Si queremos tener el modo debug activo, pero que los mensajes no salgan por ningún lado, simplemente debemos añadir este otro código al código anterior:

define('WP_DEBUG_DISPLAY', false);

define('WP_DEBUG_DISPLAY', false);

Esto último es muy útil a la hora de activar el modo debug para que plugins como P3 Profiler o Query Monitor puedan funcionar correctamente, ya que necesitan el modo debug activado, pero no es necesario que se muestren los errores.
También es útil cuando solo queremos hacer logging de los errores que van apareciendo en un archivo de log, en ese caso, a lo anterior, debemos añadir el siguiente código:

define('WP_DEBUG_LOG', true);

define('WP_DEBUG_LOG', true);

Con esto se guardará un log de errores en la ruta /wp-content/debug.log que podremos consultar cuando queramos para ver que errores da nuestra instalación de WordPress.

Si no sabes cómo editar el wp-config.php de tu instalación de WordPress, te enseño en este vídeo que tengo en mi canal de Youtube:


Ten cuidado, el wp-config.php es uno de los archivos mas importantes de WordPress y un pilar fundamental en su configuración y funcionamiento.

Después de activar el modo debug, si hemos elegido mostrar los errores a usuarios autentificados como administrador, al volver a recargar la página (sobretodo en el dashboard) empezaran a aparecer los errores que tenga el sitio web al ejecutar PHP (si los hay, claro).

¿Para qué nos sirve ver los errores PHP? Pues para detectar de donde proceden y ver cómo podemos solucionarlos y en muchos casos, como hemos dicho antes, plugins relacionados con el profiling y el rendimiento también pueden necesitar acceder a las funcionalidades del modo debug de WordPress.

Por otro lado, te sorprendería conocer la cantidad de sitios web que están todo el tiempo dando error “por detrás” con el modo debug desactivado y que lo único que conseguimos al no arreglarlos es un sobreuso de recursos y en muchos casos, llegar muy rápido el archivo error_log del virtualhost o del servidor web.

Solucionar errores en WordPress con plugins

Como hemos explicado antes, existen plugins y/o módulos de PHP que sirven para detectar problemas en WordPress y que se apoyan en el modo debug del propio WordPress para funcionar correctamente y obtener datos.

Normalmente, estos plugins nos ayudan a detectar o determinar de donde viene un problema en WordPress de una forma, un poco más asistida o mejorada.
Aunque también existen plugins que se apoyan en módulos de PHP como XHProof para obtener datos relevantes en cuanto al profiling del código ejecutado.

¿De que plugins estamos hablando? Pues de los siguientes que vamos a detallar en este listado.


Query Monitor para WordPress

No vamos a entrar en profundidad en Query Monitor, ya que le he dedicado un post entero justo cuando empecé este blog hace menos de un año.

Para mí el plugin Query Monitor es una de las mejores soluciones a la hora de buscar problemas generales en la ejecución de WordPress.

Query Monitor utiliza el modo debug de WordPress para conseguir información relevante sobre la ejecución: llamadas al API, queries a la DB, slow queries, PHP ejecutado y su rendimiento, JS y CSS llamado en peticiones, etc…


Todo esto, nos lo saca a través de una interfaz bastante versátil y fácil de trabajar con ella.

En el siguiente vídeo que tengo en mi canal de Youtube, tienes un ejemplo o review de como utilizar el plugin Query Monitor en WordPress para resolver y detectar errores:

Como he dicho, no me voy a extender más hablando de Query Monitor para WordPress, ya que si quieres mas información, tan solo tienes que seguir este enlace: https://alvarofontela.com/query-monitor-solucionar-detectar-problemas-wordpress/

F12-Profiler para WordPress

F12-Profiler es un plugin gratuito relativamente nuevo para WordPress. Esta disponible en el repositorio de plugins de WordPress.

Una de las cosas que mas me gusta de su interfaz, es que ofrece toda la información en un solo click en cualquier parte de la web, sea donde sea.


En cada ejecución, F12-Profiler recoge datos del modo debug de WordPress y los muestra al pulsar sobre su desplegable.

F12-Profiler es especialmente útil para ver la ejecución de los plugins y las peticiones realizadas por los plugins.

Si un plugin da un timeout o alguna de las peticiones da un timeout, es muy fácil detectar de donde viene el problema, o al menos “cercar” el problema.

Puedes encontrar más información acerca de F12-Profiler para WordPress en su ficha en el repositorio de plugins de WordPress: https://es.wordpress.org/plugins/f12-profiler/

P3 Performance Profiler para WordPress

P3 Performance Profiler es uno de los plugins de profiling para WordPress que mas tiempo lleva en el repositorio de plugins de WordPress.

A lo largo de todo este tiempo y teniendo en cuenta que ya llevo unos años de experiencia con WordPress y con la resolución de problemas como consultor, he tenido buenas y malas experiencias con P3 Performance Profiler hasta el punto de creer en varias ocasiones que se trataba de un plugin “fake”.


Aunque lo sigo teniendo como herramienta para algunos casos, creo que los resultados que ofrece no son del todo concluyentes.

Y una de las razones por las que no ofrece resultados concluyentes (aunque creo que SIEMPRE ha fallado bastante desde el día 1) es porque lleva 4 años sin actualizaciones y pienso que aun no es compatible con PHP7 o al menos no tiene compatibilidad nativa.

Si aun quieres revisarlo, puedes encontrar más información acerca de P3 Performance Profiler en la siguiente URL en el repositorio de plugins de WordPress: https://wordpress.org/plugins/p3-profiler/

La mejor forma de solucionar errores

Cuando nos enfrentamos a un problema en un CMS web, la mejor forma de detectar de donde viene un problema, es ir descartando.

Personalmente creo que la experiencia es un factor muy importante a la hora de detectar y resolver problemas en WordPress de forma eficiente y rápida, sin dar vueltas buscando el problema.
Pero también es muy importante seguir una metodología, yo por ejemplo cuando no se de que puede ser, utilizo la experiencia combinada con el descarte: voy descartando elementos por intuición y sacando datos con las herramientas que tengo a mi disposición.


Lo que debemos tener en cuenta es que las herramientas van y vienen, los plugins aparecen y con el tiempo dejan de actualizarse, pero los métodos los conservamos versión a versión.

Con la aparición del modo recuperación de WordPress en la versión 5.2, muchas cosas han cambiado en el planteamiento de los errores.

Antes, un cliente llegaba a un consultor WordPress como yo con un sitio web caído o con un pantallazo blanco, ahora el cliente llega directamente con el modo recuperación activado y un email en su bandeja de entrada.
A partir de aquí, depende del cliente y de los conocimientos que tenga, aunque puedo decir que el proceso de resolución de errores causados por plugins se ha simplificado mucho con este nuevo modo recuperación. 

TODO EN UNO.NET

Queremos darle a conocer nuestra EMPRESA creada en 1995. Todo En Uno.Net S.A.S es fundadora de la Organización Empresarial Todo En Uno.NET. Todo En Uno.Net S.A.S. es una empresa especializada en brindar CONSULTORIAS Y COMPAÑAMIENTO en el área tecnológica y administrativa basándonos en la última información tecnológica y de servicios del mercado, además prestamos una consultoría integral en varias áreas como son: CONSULTORIAS TECNOLOGICAS, CONSULTORIAS EMPRESARIALES, CONSULTORIA MERCADEO TECNOLÓGICO, CONSULTORIA EN TRATAMIENTO DE DATOS PERSONALES, Y con todos nuestros aliados en la organización TODO EN UNO.NET

Publicar un comentario

Esperamos sus comentarios

Artículo Anterior Artículo Siguiente