Todos amamos a WordPress. Muchos de nosotros aquí en Kinsta tenemos diferentes formas en que contribuimos a la comunidad de WordPress fuera del trabajo. Yo mismo, administro un blog de marketing donde comparto formas únicas de llevar su sitio de WordPress al siguiente nivel. Podría pensar que dado que trabajo para una empresa de hosting, mis sitios simplemente funcionarían mágicamente y nunca tendrían ningún problema. Sin embargo, WordPress no siempre es sol y rosas. Es probable que se encuentre con problemas ocasionales y es por eso que es tan importante contar con las herramientas y el equipo de apoyo para cuando lo haga.

Hoy voy a profundizar en cómo depuré un extraño (probablemente uno en un millón) problema de rendimiento de WordPress en mi sitio, junto con herramientas y estrategias que me ayudaron. Si bien cada caso como este es bastante único, el flujo de trabajo para la solución de problemas generalmente sigue siendo el mismo. Por lo tanto, incluyo lo que me gusta llamar “Cosas que Suceden: Lista de Verificación de Rendimiento WP”. Afortunadamente, puede usar esto la próxima vez que se encuentre con problemas de desempeño de WordPress fuera de su comprensión o control.

Lista de Verificación de Rendimiento de WordPress (Cuando Algo Sucede)

Esta lista de verificación de rendimiento es un poco diferente. En lugar de compartir cómo puede acelerar su sitio de WordPress, esto se centra en qué hacer con respecto a la próxima vez que se encuentre en un aprieto. Y habrá la próxima vez, puede contar con eso. Tal vez su host le comunicó diciendo que su sitio está sobrecargando el servidor. O tal vez haya notado que algo está arrastrando su sitio hacia abajo, como las siempre populares solicitudes de admin-ajax.php.

Antes de levantar las manos y rendirse, siga las recomendaciones a continuación. Hay una respuesta para todo, pero encontrarlo puede ser difícil a veces. 

  1. Implementar la supervisión de rendimiento y uptime
  2. Aproveche herramientas como New Relic
  3. Utilice staging – Existe por una razón
  4. Invierta en hosting premium de WordPress
  5. Compañías de mantenimiento que van más allá
  6. No tema plantearle el problema al desarrollador
  7. Siempre puede contratar a un desarrollador de WP

1. Implemente Superevisión de Rendimiento y Uptime

Nunca puede estar demasiado preparado cuando se trata de este tipo de problemas. Una de las mejores cosas que puede hacer para asegurarse de saber sobre el tanque de su sitio antes de que lo hagan sus visitantes es implementar la supervisión de rendimiento. Y de hecho, así es como descubrí originalmente que mi sitio estaba teniendo problemas. Kinsta verifica el estado de todos los sitios web que alojamos cada 2 minutos. Esto se traduce en 720 chequeos por cada sitio alojado por día.

Supervisión de Uptime
Supervisión de Uptime

De hecho, gracias a New Relic Synthetics y APM, también tenemos la capacidad, si es necesario, para monitorear bastantes puntos de datos diferentes con respecto a los sitios de WordPress:

  • Tiempo de carga de usuario final
  • Tiempo de carga de servidor de aplicaciones
  • Tasas de error
  • Rendimiento
  • Tiempo en línea (Uptime)
  • Puntajes de Apdex
Puntajes de Apdex
Puntajes de Apdex

Esto se refiere tanto al tiempo en línea como a la supervisión del rendimiento. Si un sitio se cae, el equipo de Kinsta lo sabe antes que usted. Si un sitio que estamos monitoreando supera los umbrales de desempeño interno aceptables, también nos comunicaremos con usted y le ayudaremos a solucionar el problema con su sitio.

A veces esto podría implicar la participación en un desarrollador de terceros, especialmente si el código es el origen. O podría significar que se necesita un aumento en los PHP workers. Por último, podría ser algo que sea fácilmente reparable.

Queremos que tenga éxito, y tener un sitio rápido para sus visitantes siempre es una de nuestras principales prioridades. Si podemos identificar que el plugin A hace que su sitio se caiga, queremos que lo sepa. Muy a menudo, tendemos a ver muchos problemas de rendimiento derivados de malas actualizaciones de plugins, códigos fallidos o no compatibles con la última versión de PHP, entre otros.

Uptime y herramientas de supervisión de rendimiento

Si no está utilizando Kinsta, todavía hay muchas herramientas de terceros que puede usar para alertarlo sobre el tiempo de actividad y el rendimiento. Éstos son algunos de los que debería consultar:

2. Aproveche Herramientas como New Relic (Son Inestimables)

Las herramientas como New Relic no solo son excelentes para monitorear el tiempo en línea y el rendimiento, sino que son inestimables cuando se trata de la resolución de problemas donde se origina el problema de rendimiento. Kinsta tiene una integración New Relic que permite a los usuarios utilizar fácilmente sus propias claves de licencia. Si bien esto no está incluido en nuestro alojamiento, nuestro equipo de soporte puede habilitarlo de nuestra parte y ayudar a localizar problemas para usted si es necesario. O puede intentar a usar un plugin gratuito como Query Monitor.

Habilitar la monitorización de New Relic en MyKinsta.
Habilitar la monitorización de New Relic en MyKinsta.

Hay un par de lugares en New Relic que pueden ayudar a reducir rápidamente los problemas de rendimiento. El primero es la pestaña “WordPress → “Plugins y temas”. En mi sitio de woorkup, que estoy utilizando como estudio de caso, pude ver al instante que el problema que estaba encontrando provenía probablemente del plugin «gp-premium» que tengo en ejecución. ¿Pero por qué? Bueno, llegaremos a eso.

Plugins y temas de New Relic
Plugins y temas de New Relic

Nota: La sección de arriba en New Relic no siempre es 100% precisa. En este caso, fue. Pero siempre se recomienda al menos verificar primero.

Así que después de ver que tenía una buena sensación o presentimiento de que es algo en mi plugin «gp-premium» (que es una extensión de mi tema GeneratePress WordPress). Sabiendo esto, luego fui a la pestaña «Transacciones». ¡Podemos ver inmediatamente que el número de transacciones admin-ajax.php estaba por las nubes!

Problema con admin-ajax.php de New Relic
Problema con admin-ajax.php de New Relic

Para aquellos que no tengan New Relic, asegúrense de consultar nuestro excelente tutorial sobre cómo diagnosticar el alto uso de admin-ajax en su sitio de WordPress. También podría ver constantes solicitudes de administrador ajax en mis registros de WordPress. También puedes aprovechar nuestra herramienta integrada Kinsta APM.

Solicitudes admin ajax en los logs
Solicitudes admin ajax en los logs

El siguiente paso fue profundizar las transacciones admin-ajax.php y observar las consultas de la base de datos que consumen la mayor parte del tiempo. Puede hacer clic en las pestañas “Trace Details” o “Database queries”.

Rastreo de consulta
Rastreo de consulta

A veces, la consulta en sí será un indicador dónde está el problema, pero en este caso, no fue así. Algo se destacó inmediatamente , era la carpeta /gp-premium/. Recuerde que desde arriba estábamos viendo que «gp-premium» supuestamente era el plugin que causaba el problema. Por lo general, si lo está viendo tanto en la sección de plugin/tema como en la sección de rastreo, es un buen indicador para comenzar.

…s/gp-premium/library/image-processing-queue/includes/wp-background-process.php
Pila de rastros
Pila de rastros

¡El siguiente paso fue dirigirse a Google!. Sí, Google puede ser bastante útil en casos como estos.

Así que busqué » Image Processing Queue». El primer resultado fue el plugin Image Processing Queue de Delicious Brain. Al leer la descripción, pude ver que esto se utilizó para el procesamiento de imágenes para temas de WordPress. Esencialmente, los tamaños de imagen se generan silenciosamente en el fondo usando WP Queue.

Procesamiento de imágenes
Procesamiento de imágenes

Una búsqueda rápida de este mismo término junto con «GeneratePress» resultó en su reciente registro de cambios. ¡Tadam! Sí, el redimensionador de imagen se cambió recientemente en GeneratePress de Aqua Resizer a la Image Processing Queue. Esto fue justo cuando había actualizado mi tema, y nada más había cambiado en mi sitio. ¡Esta es la razón por la cual los registros de cambios son tan importantes! Pueden ser como migas de pan para solucionar problemas.

Actualización de GP
Actualización de GP

Lo desconcertante fue que tenía otros sitios ejecutando GeneratePress que no tenían este problema. Entonces, aunque quizás tenía una buena idea de lo que estaba sucediendo, todavía no estaba 100% seguro. Entonces, el siguiente paso fue ir a mi entorno de staging para comenzar a depurar WordPress.

3. Utilice Entornos de Staging Sin Tocar la Producción

Para ser sincero, no sé lo que haría sin entornos de staging. Cuando se trata de solucionar problemas como estos, resultan muy prácticos. Afortunadamente, Kinsta cuenta con entornos de staging fáciles de usar. Así que salté al panel de control de MyKinsta y coloqué una copia de mi sitio de entorno de staging. Si su host de WordPress no ofrece entorno de staging, también podría usar un plugin como el WP Staging, aunque no es tan fácil.

Crear un entorno staging de WordPress.
Crear un entorno staging de WordPress.

Después de poner en funcionamiento mi sitio de desarrollo, lo primero que hice desactivar todos mis plugins. Me he dado cuenta de que mucha gente tiende a ignorar este paso fácil. Es casi como pensar que reiniciar su computadora no solucionará un problema. 

Lo importante es desactivar siempre todos sus plugins primero. Esta es, de lejos, una de las formas más fáciles de reducir los problemas. Simplemente vaya a Plugins, selecciónelos y elija “Desactivar” en las opciones masivas.

Desactivar todos los plugins de WordPress
Desactivar todos los plugins de WordPress

Después de hacer esto, los tiempos de respuesta en New Relic inmediatamente volvieron a la normalidad en mi sitio. Así que sabía que era un plugin que causaba el problema. Y debido al hecho de que ya había solucionado algunos problemas anteriormente, tenía la corazonada de que todavía era el plugin «gp-premium».

Tiempos de Respuesta Normales
Tiempos de Respuesta Normales

Así que volví a habilitar el plugin «gp-premium» para verificar que podía replicar el problema. Y sí, los tiempos de carga (tiempos de transacción web) subieron de inmediato.

Tiempos de respuesta largos de nuevo
Tiempos de respuesta largos de nuevo

¡Estupendo! Entonces puedo confirmar que el 100% fue el plugin. Pero ahora ¿qué? Eso no ayuda a solucionar mi problema. Bueno, debido al hecho de que parecía provenir de la image processing queue, la siguiente sugerencia fue verificar los CRON jobs y los transitorios. Siempre que tenga colas de cualquier tipo, verifique estas áreas. De hecho, siempre recomiendo consultarlas. los datos de autocarga son otro culpable habitual también.

Lectura sugerida: Cómo Corregir el Error de WordPress Missed Schedule (2 métodos).

Transients son una forma simple de cahing de WordPress con tiempos de expiración adjuntos. Para ver rápidamente mis transitorios, instalé el plugin gratuito Transients Manager de Pippin Williamson. Al lanzarlo otra vez, inmediatamente me llamó la atención un elemento transitorio llamado wp_image_processing_queue_process_lock.” Además, se estableció que caduca en 1 minuto y aparecen nuevos.

Transients
Transients

Si bien el plugin en sí tiene una forma de eliminar transitorios, no funcionó. Entonces ya era hora de buscar en la base de datos. Así que inicié sesión en phpmyadmin. Los transitorios se almacenan en la tabla wp_options, por lo que hice una consulta rápida desde la pestaña «Buscar» para encontrar las filas que contenían ese nombre de opción.

SELECT * FROM wp_options WHERE option_name LIKE '%wp_image_processing%'

¡Ay! Resulta que tenía 695,846 filas con

%wp_image_processing%. 😲

wp_image_processing
wp_image_processing

Aquí es donde staging es útil. Como no hubo daño al destruir o probar cosas, procedí a eliminar manualmente todas las filas que contenían esto. Ejecuté la siguiente consulta desde la pestaña «SQL» para eliminar todas las filas que contenían este nombre de opción:

DELETE FROM wp_options WHERE option_name LIKE '%wp_image_processing%'
Eliminar filas
Eliminar filas

Y al igual que la magia, inmediatamente después de eliminar las filas, los tiempos de respuesta para mi sitio volvieron a la normalidad. 👏

Fixed WordPress performance issue
Fixed WordPress performance issue

Como dije antes, esto no sucedió en mis otros sitios que usaban GeneratePress. Tampoco tenían esas filas transitorias adicionales en la base de datos. Tal vez al actualizar algo no se eliminó como se suponía. Entonces parece que no es culpa del desarrollador, sino más bien, simplemente una corrupción de la cache transitoria.

Esto podría haber sucedido con cualquier plugin o tema. GeneratePress es, de hecho, uno de mis productos favoritos de WordPress de todos los tiempos. ¿Asustado todavía? ¡Bien, estas son algunas de las alegrías que acompañan a WordPress!

Si no entendió ninguno de los anteriores, entonces le recomiendo consultar el resto de los pasos a continuación cuando se trata de solucionar problemas como estos.

4. Invierta en Hosting Premium con Soporte de Clase Mundial

Problemas como los anteriores son exactamente la razón por la que es importante invertir en un alojamiento premium de WordPress administrado como Kinsta.

A diferencia de lo que algunas personas pueden llevarle a creer, no existe una arquitectura o host que exista que arregle mágicamente el código incorrecto. A pesar de que mi sitio woorkup está alojado en Kinsta, pequeñas cosas como una mala actualización de plugins o en este caso, transitorios corruptos, pueden hacer que WordPress se ponga de ¡rodillas! Esta es una razón por la cual tenemos backups automatizados, entorno de staging, y una integración de New Relic. Estas características y herramientas ayudan a proteger su sitio y solucionar problemas rápidamente.

Soporte de WordPress
Soporte de WordPress

Aquí también es donde nuestro equipo de soporte experto de Kinsta puede ayudar si se encuentra con problemas como el loco descrito anteriormente. Nuestro equipo de soporte se ocupa de problemas únicos y complejos como estos todos los días. Y a pesar de que no podemos corregir el código incorrecto, generalmente podemos ayudarlo a orientarlo en la dirección correcta. Esto podría implicar un proceso similar, como habilitar New Relic, dejarlo funcionar por un tiempo y luego dejar que nuestro equipo se convierta en los detectives de WordPress por un momento.

Si no es un cliente de Kinsta, le recomendamos que sea cual sea el host que elija, asegúrese de que su equipo de soporte sea de primera categoría. Nos tomamos esto tan en serio que contratamos a menos del 1% de los candidatos que solicitan ser parte de nuestro equipo.

Y, por supuesto, la infraestructura sí importa cuando se trata de rendimiento y no ceder bajo la carga. Aquí hay algunas maneras en las que Kinsta ayuda a mantener su sitio funcionando rápidamente para que no experimente problemas de rendimiento:

  • Utilizamos contenedores de software LXC aislados, lo que significa que no se comparten recursos.
  • Permitimos a los clientes elegir entre 20 centros de datos  en todo el mundo sin costo adicional. Esto disminuye la latencia sin importar dónde se encuentre.
  • Utilizamos la red de nivel superior de Google Cloud Platform (no el nivel estándar). Esto garantiza velocidades de red ultrarrápidas.
  • Implementamos siempre las últimas y mejores versiones de PHP. Fuimos el primer host administrado que implementó PHP 7.2, ¡que es 3 veces más rápido que PHP 5.6! Ya ofrecemos PHP 7.3 que es más rápido en un 9% que PHP 7.2. PHP 8.1 también está disponible. Lea nuestro artículo sobre los puntos de referencia de PHP.
  • Nos hemos asociado con un proveedor de CDN que se desarrolló desde cero con un enfoque en alto rendimiento.

Puede ver todas las otras formas en que Kinsta es diferente.

5. ¿Necesita Más ayuda? Aquí Están Algunas Compañías de Mantenimiento para Eso

En los últimos cinco años más o menos, ha surgido un nuevo tipo de empresa en la industria: Las empresas de mantenimiento de WordPress. Estas empresas ofrecen servicios ligeramente diferentes a los que ofrecemos en Kinsta y en algunos casos, pueden hacerse cargo de todas sus tediosas tareas de WordPress. Aquí hay solo algunos ejemplos:

  • Configuración de Google Search Console 
  • Integración de Google Analytics 
  • Informes semanales de clasificación de palabras clave + informes analíticos
  • Aplicación de Social media analytics 
  • Optimización de dispositivos móviles y tabletas
  • Desarrollo de Plugin
  • Ediciones ilimitadas (es cierto, algunos incluso harán pequeñas tareas como actualizar su logotipo, agregar un producto de WooCommerce, entre otros)

Y sí, muchos de ellos ofrecen tiempo de actividad diario y semanal y monitoreo del rendimiento. A continuación se detallan algunas compañías de mantenimiento de WordPress que debe consultar. Nota: ¡Tomemos nuestras recomendaciones muy en serio!

SkyrocketWP

SkyrocketWP ofrece el servicio de mantenimiento de WordPress, soporte y una solución de alojamiento creada para manejar WordPress para las personas que prefieren hacer crecer sus negocios. Incluso hicimos un estudio del caso con ellos, ¡asegúrese de echarle un vistazo!

SkyrocketWP
SkyrocketWP

WP-Tonic

WP-Tonic ofrece un servicio de soporte y mantenimiento de conserjería verdaderamente boutique para propietarios de negocios ocupados. ¿No tiene tiempo para arreglar sus problemas con WordPress? Deje que WP-Tonic se encargue de ello por usted. También ejecutan un popular podcast en el que entrevistan a propietarios y desarrolladores de negocios de WordPress para obtener información detallada sobre lo que está sucediendo en la industria. Asegúrese también de ver nuestra entrevista con su fundador.

WP-Tonic
WP-Tonic

WP Buffs

WP Buffs ofrece planes de atención de WordPress para propietarios de sitios web serios y socios de agencias de marca blanca. Como dicen en su página: «¡Diga hola a su nuevo WP CTO!» Por cierto. WP Buffs está orgullosamente alojado por Kinsta.

WP Buffs
WP Buffs

6. No Tema Plantearle el Problema al Desarrollador

Después de reducir lo que podría ser la causa de su problema de rendimiento de WordPress, ¡no tema plantearle el problema al desarrollador! Muchas veces los desarrolladores están más que felices de ayudar, y de hecho, quieren saber cosas cuando se rompen para poder implementar soluciones para todos.

Busqué a Tom, el desarrollador de GeneratePress, y él respondió de inmediato, como siempre lo hace. Estamos lanzando el problema para los transitorios corruptos, pero como puede ver, en realidad va a cambiar su método de colas de imágenes (en parte debido a esto). Por lo tanto, sus comentarios como usuario definitivamente pueden ayudar a los desarrolladores a tomar decisiones de mayor nivel con respecto a lo que podría ser mejor implementar o cambiar en sus plugins o temas.

Respuesta del Desarrollador de WordPress
Respuesta del Desarrollador de WordPress

7. Siempre Puede Contratar a un Desarrollador de WordPress

En el peor de los casos, siempre puede contratar a un desarrollador de WordPress para arreglar su problema. Quizás descubrió que el plugin que está usando tiene un código incorrecto y el creador no puede corregirlo o no lo hará. O tal vez necesite optimizaciones de rendimiento adicionales más allá del alcance de nuestro equipo de soporte aquí en Kinsta.

La parte difícil de contratar un desarrollador es ¿cómo encuentra a alguien que sea confiable y excelente en lo que hace?

Recomendamos ampliamente a Codeable ya que se alinean de manera similar con el mismo proceso selectivo que utilizamos para nuestro equipo aquí en Kinsta. Todos sus desarrolladores son evaluados previamente antes de que se les permita unirse al servicio con el personal de Codeable revisando personalmente las carteras y CV. Tienen más de 25.000 clientes y solo 300 expertos de WordPress. Solo el 2% de los solicitantes son aceptados. Solo quieren lo mejor de lo mejor, lo que a su vez puede ahorrarle mucho tiempo y frustración como cliente.

Trabajos de desarrolladores de WordPress en Codeable
Trabajos de desarrolladores de WordPress en Codeable

Están dedicados a proporcionar servicios de tercerización de WordPress y se enfocan completamente en encontrar desarrolladores talentosos con clientes. Tuvimos el placer de entrevistar a Per Esbensen, el CEO de Codeable, y es refrescante ver su dedicación a la construcción de una comunidad de desarrolladores de WordPress.

También debemos dar un reconocimiento personal a Mike Andreasen, un desarrollador de Codeable de tiempo completo especializado en la optimización del rendimiento, que ha ayudado a muchos clientes aquí en Kinsta con instalaciones complejas a llevar su sitio al siguiente nivel.

Auditoría de rendimiento web con Mike
Auditoría de rendimiento web con Mike

Recursos Adicionales

Probablemente estamos un poco más obsesionados que la mayoría cuando se trata de rendimiento aquí en Kinsta. Debido a eso, aquí hay algunos recursos adicionales que hemos escrito para ayudar a resolver algunos de sus problemas de rendimiento de depuración de WordPress::

Resumen

Ya sea que tenga conocimientos de tecnología o no, siempre hay soluciones disponibles para resolver problemas de rendimiento de WordPress. La primera recomendación obvia es prepararse para el éxito al elegir un proveedor de hosting que no solo cuente con una sólida infraestructura sino también un equipo de soporte de primer nivel para respaldarlo. Lo último que quiere que suceda es que su sitio de WordPress se caiga o comience a ralentizar simplemente porque no sabía qué pasos seguir.

Aproveche las increíbles herramientas como New Relic, que simplemente le ahorrará tiempo al solucionar problemas. Y cuando se trata de eso, hay toneladas de desarrolladores de WordPress talentosos en la comunidad. No tenga miedo de contratar uno.

¿Ha experimentado algún problema de rendimiento en el que le apeteció tirar la toalla? Si es así, ¡háganos saber a continuación en los comentarios!

Brian Jackson

Brian tiene una gran pasión por WordPress, lo ha estado utilizando durante más de 10 años e incluso ha desarrollado un par de plugins premium. Brian disfruta de los blogs, las películas y el senderismo. Conéctese con Brian en Twitter.