Detectar y solucionar errores en WordPress

Si eres un usuario primerizo en WordPress es normal que cometas errores, de hecho cometerás muchos. Incluso pasarás por ‘microinfartos‘ cuando veas que tu web no funciona. Por eso te quiero enseñar a detectar errores en WordPress por tu cuenta y que no cunda el pánico. Cuando vemos la página web en blanco (posiblemente por un error 500), cuando no funciona algo, lo primero que hacemos es llamar por teléfono al soporte técnico de nuestro proveedor de hosting. Y quizá no sea la forma más eficiente de solucionar los problemas.

Te quiero enseñar a detectar errores en WordPress por tu cuenta aunque la web se vea en blanco. No necesitamos dotes o conocimientos de programación puesto que nuestra labor en este post es aprender a detectarlos, no a corregirlos a no ser que sean sencillos como veremos en algunos ejemplos más adelante.

Detectar errores en WordPress con el error_log del servidor

WordPress es una plataforma muy sencilla que solo necesita de la instalación de plantillas y WordPress para vivir. Está pensado para ser muy ligero, destinado al blogging o cosas más avanzadas, pero siempre ligero. Si notas que tu WordPress va muy lento, por sentido común pueden ser estas razones:

  1. Sobrecarga o picos de tráfico muy elevados en el servidor. Se disipará o mitigará el “error” con el transcurso del día y a que el tráfico abandone la web.
  2. Un servidor web algo deficiente (Hazte un favor y contrata un hosting que merezca la pena)
    1. Si quieres saber como elegir un buen hosting barato, lee esta guía.
  3. Excesivo uso de plugins y plantillas pesadas. Eres consciente del uso abusivo de plugins en tu WordPress para todo. Trata de desactivar los que realmente no consideres necesarios.
  4. La plantilla tiene muchísimos elementos JavaScript y CSS. Cuando te bajaste la plantilla te parecía super chula, muy bonita y elegante pero con el paso del tiempo te das cuenta que va muy lenta. Se debe al uso indiscriminado de recursos CSS y JS. Te aconsejo buscar una plantilla más ligera que la que tienes y leerte este artículo sobre mi opinión de las plantillas pesadas.
  5. No es ninguno de estos anteriores. Entonces hay algo que está haciendo que tu web vaya muy lenta. Prueba a revisar el archivo error_log situado en el FTP de tu hosting. Puedes encontrar el archivo error_log en la raíz del FTP:

detectar-errores-en-wordpress-error-log

Si abres el archivo error_log verás un registro de errores y avisos del servidor advirtiendote de que algo va mal. Pueden tratarse de funciones deprecadas, errores en la configuración del servidor o del .htaccess, etc… Esta sería una muestra del archivo error_log avisándonte de lo que ha recopilado:

detectar errores en wordpress ejemplo de error log

Ahí vemos un registro de errores en PHP notificandonos de:

  • Hay un “?>” inesperado en un archivo que puede estar provocando que algo vaya mal
  • Hay un error (Sin comillas) en una función que no se encuentra en el servidor
  • Error inesperado en una función, seguramente por pasar mal los parámetros a la función
  • Error de no poder redeclarar una función orientada a objetos
  • Error al intentar obterner un valor o propiedad

Como puedes ver, el error_log nos provee de la fecha en la que se producen los acontecimientos, el tipo de error, el error en sí y la ruta del archivo donde se está produciendo el error. Es una forma rápida de ver y subsanar los errores que se están produciendo en el servidor. Si no sabes como arreglarlos, avisa a tu proveedor de alojamiento web para ver si te puede echar una mano.

Es importante saber que el todo se puede detectar errores en WordPressa través del error_log. Son errores o avisos a nivel servidor. A continuación vemos como detectar errores en WordPress de otras formas.

Detectar errores en WordPress con Query Monitor

Query Monitor es un plugin de WordPress gratuito que va a detectar errores en WordPress a través del debug propio de este. Lo puedes descargar desde el repositorio oficial de WordPress o haciendo click aquí: https://es.wordpress.org/plugins/query-monitor/. Nos chivará en todo momento el tamaño o peso de la web, el tiempo en el que lo ha cargado y los errores que se están produciendo.

Para que el plugin rinda o trabaje a su máximo exponencial, debemos activar el modo DEBUG de WordPress.

Como activar el modo debug de WordPress

Es muy fácil, solo necesitarás acceso al FTP y descargarte del servidor el archivo wp-config.php. Podrías hacerlo desde WP-CLI, pero te voy a enseñar como hacerlo manualmente. Una vez lo tienes descargado en tu ordenador, ábrelo con tu editor de texto favorito y el siguiente paso depende de si la constante WP_DEBUG está activada o no como true o false.

Si está escrita, solo cambia FALSE por TRUE. Si no está declarada, tendrás que escribirla de esta forma:

define(‘WP_DEBUG’, false); // Activar modo debug en WordPress poniendo ‘true‘ sin comillas.

Una vez editado el archivo, súbelo de nuevo al servidor. Seguramente te pida permisos de reescritura al coincidir con el wp-config que hay en el servidor. Ahora no te asustes, la magia de WordPress está funcionando. Si accedes a tu página principal y hay algún error interno, el DEBUG te lo va a comentar. Este sería un ejemplo:

detectar errores en wordpress ejemplo de debug wordpress

Como funciona Query Monitor para detectar errores en WordPress

Una vez que tienes el modo de depuración (DEBUG) activo y el plugin Query Monitor también, te darás cuenta que en todas las páginas (si estás logueado en tu panel) arriba verás lo siguiente:

etectar errores en wordpress query monitor valores

El primer valor se refiere al tiempo que ha tardado en procesar toda la web, desde la petición, pasando por el time to first byte hasta completar la carga de la web. El segundo valor es el peso de la carga de la web en total. El tercer valor es el tiempo que ha tardado en procesar las consultas y peticiones. Por último, el cuarto valor es el número de peticiones a la base de datos y al servidor en total que se han producido.

Cuando hacemos “hover” (ratón encima) sobre estos tiempos y números de consulta salta un menú desplegable con un montón de opciones que nos enseña donde se están produciendo las consultas y procesos y si alguno de ellos da error. Si haces click en una opción, se abrirá una consola como esta parecida a la de Google Chrome como la que puedes ver aquí:

Si te fijas, el menú desplegado no nos dice nada salvo una Duplicate Queries (1) – Consultas duplicadas (1) -. Si haces click en esa opción, se abrirá una consola como la que ves en la imagen donde te dirá que consultas son las que se están duplicando. Como ves, este plugin es extremadamente útil para detectar errores en WordPress. Sería imposible tener que explicar una a una, haría un artículo de 5000 palabras solo para explicar esto. Te animo a que trastees con las opciones siempre y cuando tengas una copia de seguridad de ello.

Detectar errores de WordPress como los de carga con PingDom Tools

Pingdom Tools es una herramienta gratuita extraordinariamente buena. Por eso casi siempre hay cola de espera para usarla. Yo he llegado a estar en la posición 630 esperando a que mi web fuese analizada cuando normalmente es instantáneo o esperamos 5-10 puestos.

Para usarla solo debemos seleccionar el servidor desde el que se trackeará el rendimiento de tu servidor y te retornará un tiempo de carga, número de peticiones empleadas, peso de la web, etc algo muy parecido a Query Monitor. Piensa que el tiempo de respuesta es mayor que si lo hicieras desde un servidor en España.

¿Por qué debo usar Pindgom Tools entonces si Query Monitor hace lo mismo?

Por la herramienta que hay justo debajo que te dice los tiempos de carga de cada elemento empleado en la renderización de la página web. También te dice el Time To First Byte que tiene la web. La gracia de esta herramienta es conocer que archivos son los más pesados en cargar y que está haciendo que los tiempos de renderización de la web se vean afectados. Por ejemplo, usamos la herramienta de Pingdom Tools con la web de marca.com y los resultados son:

detectar errores en WordPress pingdomtools

Está ordenado por carga, es decir, los elementos que se ha encontrado pingdom paso a paso. Lo primero es una redirección ya que hemos hecho “ping” a http://marca.com pero su web es https://marca.com por lo que se entiende esa redirección. Y así con el resto. Podemos ver que archivos están tardando más en cargar. Una vez “descubiertos”, podemos tratar de optimizarlos con las técnicas que vimos aquí: Como solucionar los errores de PageSpeed.

Con estas herramientas deberías ser lo suficientemente capaz de detectar errores en WordPress y pasárselos a un administrador de sistemas o a tu proveedor de alojamiento web para que te eche una mano en la optimización como tal de los archivos implicados.

Conclusiones para detectar errores en WordPress 

Es muy importante que no te asustes y que no te invada el pánico cuando tu web esté caída. Trata de averiguar donde está el problema y tratar de solucionarlo por ti mismo. Te ayudará mucho a conocer más como funciona WordPress y cada vez le tendrás menos miedo a la optimización de tu página web hecha en WordPress. Recuerda hacer siempre una copia de seguridad en cambios bruscos de contenido.

Si tienes problemas en detectar errores en WordPress puedes pedir ayuda a los técnicos de soporte de Raiola Networks. Ellos estarán encantados en ayudarte, están trabajando las 24 horas del día de los 365 días del año. Puedes solicitar ayuda por ticket, chat, soporte e incluso teléfono las 24 horas del día. ¿A que esperas? Déjate asesorar por un experto en la materia. >> Llámales <<