Dificultad del post: facilmediadificil
[Total: 1 Promedio: 5/5]
Una de las formas con las que empecé a ganarme la vida cuando me especialicé en WordPressy antes de que existiese, era resolviendo inconvenientes en WordPressy levantando webs caídas con problemas en el CMS.
Puede decirse, que, en todo este tiempo, he ganado mucha experiencia advirtiendo rápidamente inconvenientes al vuelo en WordPressy reparándolos de la manera más rápida posible.
Hasta la versión cinco.2 de WordPress, cuando existía un problema con un plugin y este ocasionaba un error fatal en la ejecución de PHP, lo normal es que apareciese un fallo en la web o bien de forma directa un pantallazo en blanco, con lo que el sitio dejaba de verse hasta que el inconveniente era detectado y solucionado(desactivando el complemento por poner un ejemplo).
En la mayoría de casos, si el modo debug de WordPressno nos daba datos concluyentes, la solución era ir desactivando plugin a complemento desde el FTP(cambiando el nombre de la carpetita, por ejemplo) hasta dar con el complemento que estaba ocasionando el problema.
La pantalla blanca de la muertefue uno de los mayores miedos de los webmastersque trabajaban con WordPress, puesto que como he comentado, en la mayoría de los casos buscar el problema era una labor complicada y no podíamos ni acceder al panel de administración de WordPresspara 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 WordPressnormal.
Back to top
1) Modo recuperación en WordPress
Como he dicho, desde la versión cinco.2 de WordPressse ha incorporado un modo recuperación con ciertas características que evitan que nuestro sitio web se caiga totalmente cuando aparezca un fallo en un plugino theme.
El funcionamiento del modo recuperaciónes simple, aunque no se puede forzar, para poder utilizar el modo recuperación, la instalación de WordPressdebe detectar un error fatal.
Cuando el sitio ( WordPress) detecte un fallo falta, el visitante podrá ver este mensaje en el navegador web:
Y al tiempo, en el email de administrador del sitio webha tenido que llegar un mensaje de correo electrónico con ciertos datos interesantes para reestablecer el funcionamiento normal del sitio WordPress.
Al pulsar sobre el link que he rodeado en rojo en la captura precedente (en el correo electrónico) nos activara el modo recuperación de WordPress:
Nos autenticamos con los datos normales de acceso al dashboard de WordPresscomo administradores y podremos ver el dashboard de WordPresscon 2 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 instante ha dejado de servir el sitio, sino en su sitio cuando advierte que un administrador o usuario con permisos accede, le notifica el problema y le manda un correo electrónico a la dirección de correo de administrador del lugar web.
Ahora podemos ir a la sección de plugins de WordPressy podremos distinguir bastante bien que complementos nos están dando problemas:
¿Qué debemos hacer ahora? Pues podemos
sustituir los pluginso
directamente eliminarlospara que el sitio vuelva a funcionar adecuadamente.
La solución depende del caso y del complemento que falle, en muchos casos falla por un
problema de compatibilidad con una actualización, en otros por un problema en los propios ficheros del plugin, etc… mas si quieres ir a lo seguro, sencillamente debes
desactivar el plugin para reestablecer el servicio.
En este caso del ejemplo precedente, los fallos son sencillamente porque he cambiado algunos ficheros importantes de esos complementos modificando la sintaxis del código PHP a fin de que no sea válido.
¿Y cuál es la razón de que WP hay incorporado ahora este sistema?Pues en una gran parte creo que es por los problemas ocasionados por las actualizaciones automáticas implementadas en las últimas versiones de WordPress, que causaban inconvenientes “automatizadas” en las actualizaciones de ciertos plugins.
Es muy difícil sostener el control de TODOS los pluginsy themespublicados en el repositorio oficial de WordPressy en casos muy exporádicos puede colarse algún plugino themecon un problema serio que pueda dañar el funcionamiento del sitio web, de ahí el nuevo modo recuperación.
Después de emplear el modo recuperación de WordPress, simplemente salimos o nos deslogueamos en el dashboard de WordPresspara salir.
Ahora viene la gran pregunta, ¿puedo desactivar el modo recuperación de WordPress?
Pues sí, sí que puedes, en tanto que en algún caso es posible que se active por un falso positivo o bien por algún problema que anteriormente tenemos controlado.
Para desactivar el modo recuperación de WordPress, simplemente debemos añadir la siguiente línea de código al:
define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
Con esto WordPressvolverá a marchar “normalmente” a menos que los fallos causados por los plugins sean tan graves que el lugar no pueda estar de nuevo on line sin solventar previamente el inconveniente.
Back to top
2) Modo DEBUG en WordPress
Desde casi las primeras versiones de WordPress, el CMStrae integrado un modo debugque nos deja sacar por pantalla los mensajes de fallo o bien warningsque genera el código al ejecutarse.
Normalmente estos mensajes de error no se muestran en pantalla, ya que no quedarían bonitos para los visitantes, mas con el modo debug, al activarlo, podemos hacer que los mensajes de fallo aparezcan a los administradores autenticados en el sitio web.
Para activar el modo debug en WordPresssimplemente debemos ir al archivo wp-config.phpde lay añadir el próximo código:
Si deseamos tener el modo debugactivo, 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);
Esto último es muy útil a la hora de
activar el modo perfecto debugpara que plugins como
P3 Profilero
Query Monitorpuedan funcionar adecuadamente, ya que necesitan el
modo debugactivado, pero no es necesario que se muestren los fallos.
También es útil cuando solo queremos hacer
loggingde los errores que van surgiendo en un
archivo de log, en un caso así, a lo anterior, debemos añadir el siguiente código:
define('WP_DEBUG_LOG', true);
Con esto se guardará un logde fallos en la ruta /wp-content/debug.logque podremos preguntar cuando deseemos para poder 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.phpes uno de los ficheros mas esenciales de WordPressy un pilar esencial en su configuración y funcionamiento.
Después de activar el modo debug, si hemos escogido 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 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 solventarlos y habitualmente, como hemos dicho ya antes, plugins relacionados con el profilingy el rendimiento también pueden precisar acceder a las funcionalidades del modo debug de WordPress.
Por otro lado, te sorprendería conocer la cantidad de sitios que están todo el tiempo dando error “por detrás” con el modo debug desactivadoy que lo único que logramos al no arreglarlos es un sobreuso de recursos y habitualmente, llegar muy rápido el archivo error_logdel virtualhost o del servidor web.
Back to top
3) Solucionar errores en WordPress con plugins
Como hemos explicado antes, existen plugins y/o módulos de PHPque sirven para detectar inconvenientes en WordPressy que se apoyan en el modo debug del propio WordPresspara funcionar correctamente y conseguir datos.
Normalmente, estos complementos nos ayudan a advertir o bien determinar de donde viene un
problema en WordPressde una forma, un tanto más asistida o bien mejorada.
Aunque también
existen complementos que se apoyan en módulos de PHP como XHProofpara conseguir datos relevantes en lo que se refiere al
profilingdel código ejecutado.
¿De que plugins hablamos? Puesto que de los próximos que vamos a concretar en este listado.
3.1) Query Monitor para WordPress
No vamos a entrar en profundidad en Query Monitor, ya quehace menos de un año.
Para mí el plugin Query Monitores una de las mejores soluciones en el momento de buscar problemas generales en la ejecución de WordPress.
Query Monitorutiliza el modo debug de WordPresspara conseguir información relevante sobre la ejecución: llamadas al API, queriesa la DB, slow queries , PHP ejecutado y su rendimiento,, etc…
Todo esto, nos lo saca a través de una interfaz bastante versátil y fácil de trabajar con ella.
En el próximo vídeo que tengo en mi canal de Youtube, tienes un ejemplo o reviewde como utilizar el plugin Query Monitor en WordPresspara resolver y detectar errores:
Como he dicho, no me voy a extender más hablando de Query Monitor para WordPress, ya que si quieres pero información, solo debes continuar este enlace:
3.2) F12-Profiler para WordPress
F12-Profileres un plugin gratis parcialmente nuevo para WordPress. Esta libre en el repositorio de plugins de WordPress.
Una de las cosas que pero me gusta de su interfaz, es que ofrece toda la información en un clicken cualquier una parte de la web, sea donde sea.
En cada ejecución, F12-Profilerrecoge datos del modo debug de WordPressy los muestra al pulsar sobre su desplegable.
F12-Profileres singularmente útil para poder ver la ejecución de los plugins y las solicitudes efectuadas por los complementos.
Si un plugin da un timeouto alguna de las peticiones da un timeout, es muy fácil advertir de donde viene el inconveniente, o bien cuando menos “cercar” el inconveniente.
Puedes hallar más información acerca de F12-Profiler para WordPressen su ficha en el repositorio de plugins de WordPress:
3.3) P3 Performance Profiler para WordPress
P3 Performance Profileres uno de los plugins de profilingpara WordPressque pero tiempo lleva en el repositorio de.
A lo largo de todo este tiempo y teniendo presente que llevo unos años de experiencia con WordPressy con la resolución de inconvenientes como consultor, he tenido buenas y malas experiencias con P3 Performance Profilerhasta el punto de opinar en múltiples 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 cuales 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 considero que incluso no es compatible con PHP7o al menos no tiene compatibilidad nativa.
Si incluso deseas comprobarlo, puedes localizar más información sobre P3 Performance Profileren la siguiente URL en el repositorio de plugins de WordPress:
Back to top
4) La mejor manera de solventar errores
Cuando nos encaramos a un problema en un CMSweb, la mejor manera de advertir de donde viene un inconveniente, es ir descartando.
Personalmente creo que la experiencia es un factor muy importante a la hora de
detectar y resolver inconvenientes en WordPressde forma eficiente y rápida, sin dar vueltas buscando el inconveniente.
Pero también es fundamental proseguir 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 WordPressen la versión cincuenta y dos, muchas cosas han alterado en el planteamiento de los fallos.
Antes, un cliente del servicio llegaba a un
consultor WordPresscomo yo con un sitio web caído o con un
pantallazo blanco, ahora el cliente del servicio llega directamente con el
modo recuperación activadoy un e-mail en su bandeja de entrada.
A partir de aquí, depende del usuario y de los conocimientos que tenga, si bien puedo decir que el proceso de
resolución de errores causados por pluginsse ha simplificado mucho con este nuevo
modo recuperación.