Optimización avanzada de WordPress

Si necesitas ayuda para optimizar tu sitio WordPress, el equipo capacitado de soporte de DreamHost puede ayudarte por una pequeña tarifa. Puedes encontrar más información sobre los servicios admitidos y los costos asociados en el artículo Servicios Profesionales de DreamHost.

Generalidades

Con el tiempo, puedes notar que tu sitio de WordPress funciona más lento o no funciona tan bien como debería. Hay varias razones por las que esto puede ocurrir. A continuación, el artículo describe algunas soluciones avanzadas para ayudar a optimizar los sitios web de WordPress lentos o ineficientes, que incluyen:

Se recomienda que sigas cada uno de estos pasos cuando intentes optimizar un sitio.

Probar el rendimiento del sitio

Lo primero que debes hacer al optimizar tu sitio es probarlo con una herramienta de pruebas online. Estas herramientas ofrecen sugerencias sobre formas de mejorar tu sitio, pero ten en cuenta que la clasificación que usan estos sitios es efectivamente arbitraria. Si decides utilizar una herramienta de prueba de velocidad, asegúrate de usar la misma durante toda la prueba.

También puedes usar un plugin como Query Monitor para probar el rendimiento dentro del panel de WordPress. Esto es más complicado que usar una herramienta de prueba en línea, pero estos plugins pueden acceder al back-end del sitio para proporcionar información más específica.

Finalmente, puedes solucionar los problemas usando wp-cli. Esto te permite depurar y probar directamente en el servidor, pero requiere más experiencia que otros métodos.

Verificar las versiones del software

Asegúrate de estar ejecutando la última versión del software de tu sitio. Hay cuatro componentes principales a los que debes prestar atención como propietario del sitio: el core de WordPress, PHP, plugins y temas.

Core de WordPress

Si estás usando una versión desactualizada, WordPress te notificará con un banner y dentro de la sección "Actualizaciones" de tu panel de control. También puedes encontrar la versión en la esquina inferior derecha de la página wp-admin leyendo el archivo wp-includes/version.php si prefieres (S)FTP, o el comando wp core version si prefieres SSH. Si tu sitio fue creado usando el instalador de WordPress de DreamHost o DreamPress, este debería recibir actualizaciones automáticas de DreamHost. Sin embargo, si necesitas actualizar manualmente por algún motivo, sigue las instrucciones del siguiente artículo:

PHP

PHP es el lenguaje de codificación sobre el que se basa WordPress junto con HTML, CSS y JavaScript. Asegúrate de que tu sitio esté ejecutando la última versión de PHP que tus plugins y tema puedan admitir. Revisa el siguiente artículo para obtener instrucciones sobre cómo actualizar la versión PHP de tu sitio:

Plugins y temas

También debes asegurarte de estar usando la última versión para cada uno de tus plugins y temas. Si bien WordPress te notificará sobre cualquier nueva versión de plugin y tema, hay algunas cosas que deberás recordar:

  • Los plugins y temas premium (comprados) NO se almacenan en el repositorio de WordPress. Deberás descargar actualizaciones de estos plugins del mercado donde los compraste.
  • Algunos plugins y temas se consideran abandonados y no se han actualizado en bastante tiempo. Estos todavía se pueden descargar de wordpress.org, pero es posible que no sean compatibles con las versiones modernas de WordPress.

Revisa los siguientes artículos para obtener instrucciones sobre cómo actualizar tus plugins y temas de WordPress:

Configurar los plugins y temas

Ahora que estás seguro de que todo funciona con tecnología moderna, es hora de asegurarse de que los plugins y el tema estén configurados de manera eficiente. Debido a que cada plugin tiene un propósito diferente y cada tema tiene diferentes opciones, todavía hay algunas pautas generales que debes seguir.

Desinstalar los plugins redundantes

Si tu sitio tiene plugins que ya no son necesarios, asegúrate de desinstalarlos.

Además, asegúrate de no usar plugins similares que hagan lo mismo, como múltiples plugins de optimización de imágenes. Algunos plugins, como Jetpack, incluyen muchas funciones diferentes, por lo que puedes deshabilitar las que no necesitas.

Si tienes varios plugins que hacen el mismo servicio, debes probar el rendimiento de tu sitio con cada uno configurado como activo y luego comparar los resultados para ayudar a decidir cuál debe conservar. Es posible que también desees probar tus plugins multifuncionales (como Jetpack) junto con plugins dedicados con sus funciones superpuestas desactivadas.

Revisar tu tema

Muchos temas, especialmente los premium, incluyen muchas características adicionales, que pueden requerir mayores requisitos de recursos y reducir el rendimiento del sitio. Al optimizar un sitio de WordPress, se recomienda probar con un tema predeterminado configurado como activo para obtener un punto de referencia efectivo.

Compatibilidad

En algunas situaciones, las características de los plugins funcionan bien por separado, pero pueden entrar en conflicto entre sí. Se recomienda que pruebe diferentes combinaciones de tus plugins juntos si observas retrasos o problemas con el tiempo de carga de tu sitio.

Por ejemplo, un plugin que pospone el análisis de JavaScript y un plugin de cargador diferido que retrasa la carga de imágenes hasta que se necesitan son útiles para mejorar los tiempos de carga del sitio. Sin embargo, cuando se combina con un plugin de control deslizante de imágenes basado en JavaScript, tu sitio no cargará las imágenes o tardará mucho más en cargar mientras el sitio espera a que se agote el tiempo de espera de uno de los dos plugins.

Optimizar las imágenes

Una forma de optimizar un sitio web es reducir el tamaño del contenido, especialmente las imágenes. Estos pueden incluir fondos, iconos, imágenes de características, llamadas a la acción, avatares y más. Las siguientes son varias formas diferentes de optimizar las imágenes de tu sitio.

Tipo de archivo

Debes considerar qué tipo de archivo usar para las imágenes de tu sitio. La elección ideal puede variar según el propósito de las imágenes, pero a menudo incluye:

  • JPG - utiliza compresión con pérdida, que reduce la calidad de la imagen a cambio de un tamaño de archivo más pequeño. Estos se utilizan a menudo para fotografías e imágenes de menor escala que pueden permitirse la caída de la calidad.
  • PNG - A menudo se usa para imágenes muy detalladas, como fotografías, pero a diferencia de los JPG, utilizan compresión sin pérdidas. Esto significa que la calidad de cada imagen es mucho mejor, pero su tamaño de archivo aumenta considerablemente en comparación con un JPG. Estos solo deben usarse en situaciones donde se requiere una imagen de alta calidad o imágenes que usan transparencia.
  • GIF - es más pequeño y de menor calidad que un JPG, pero admite animaciones si usa GIF animados en tu página de inicio. Ten en cuenta el tamaño del archivo y asegúrate de que no sea tan grande que ralentice los tiempos de carga de tu página web.
  • SVG - son gráficos basados en vectores, que se escalan a cualquier tamaño sin perder calidad. Su tamaño de archivo aumentará cuanto más detallados sean, por lo que generalmente solo deben usarse para logotipos o iconos.
  • WEBP - un formato moderno creado por Google que admite la compresión, la animación y la transparencia con y sin pérdida. Por lo general, es más compacto que los tipos de archivos más antiguos, pero aún no es totalmente compatible con todos los navegadores. Es posible que los visitantes que utilicen navegadores antiguos no puedan cargar algunas imágenes. Este problema se puede eludir mediante redireccionamientos o etiquetas HTML, pero los sitios de WordPress pueden usar la función Acelerador de sitios de Jetpack o un plugin similar para ofrecer contenido WEBP si es necesario.

Tamaño y escala

Las imágenes de muy alta resolución pueden ser problemáticas en un sitio web. Si tienes imágenes de mayor resolución que deseas usar en tu sitio, considera cambiar el tamaño de la imagen en un editor de imágenes antes de subirla a tu sitio. Esto es especialmente importante cuando se intenta optimizar para navegadores móviles, ya que las pantallas más pequeñas se verán menos afectadas por las imágenes de menor resolución, pero más afectadas por los tamaños de sitios más grandes.

Plugins

Se recomienda que uses una CDN de imagen como el Acelerador de sitios gratuito de Jetpack. El plugin puede reducir el tamaño de tus imágenes cuando sea necesario, convertirlas al formato WEBP y puede configurarse para usar Lazy Loading. Otra alternativa es Imagify de WP Rocket, que ofrece muchas de las mismas funciones e incluye una opción gratuita.

Carga lenta

La carga diferida retrasa la carga de un elemento de imagen hasta que es realmente visible en la ventana gráfica, lo que reduce el tiempo de carga inicial para un visitante. Varios plugins de WordPress ofrecen esta función, incluidos Jetpack, LazyLoad de WP Rocket y a3 Lazy Load.

Minificar CSS/JS/HTML

La minificación es el proceso de reducir el tamaño de tus archivos CSS, JS y HTML estáticos mediante dos técnicas. El primero es eliminar todas las partes innecesarias del archivo, como comentarios y espacios en blanco. Por ejemplo, aquí hay un fragmento de código CSS que no se ha reducido:

/* Se aplica a todo el cuerpo del documento HTML (excepto donde se reemplaza por más específicos
selectores). */
body {
  margin: 25px;
  background-color: rgb(240,240,240);
  font-family: arial, sans-serif;
  font-size: 14px;
}

Una vez minificado, el mismo código se ve así:

body{margin:25px;background-color:rgb(240,240,240);font-family:arial,sans-serif;font-size:14px;}

Esto es menos legible para los humanos, pero el tamaño del archivo resultante es mucho más pequeño y se cargará mucho más rápido. Dado que la mayoría de los usuarios no interactuarán con archivos estáticos, esto suele ser una buena compensación.

La segunda técnica usada en la minificación es combinar varios archivos del mismo tipo en un solo archivo, lo que reduce el número total de solicitudes HTTP al cargar el sitio.

Plugins

El Acelerador de sitios de Jetpack minimizará los archivos estáticos, pero solo cubre activos de WordPress Core, WooCommerce y Jetpack. Autoptimize es otra opción y cubre todos los archivos estáticos de tu sitio.

Otro plugin que puede resultar útil es Async JavaScript, que difiere el análisis de archivos JS. Esto significa que otro contenido del sitio, como imágenes y texto, se cargará antes que los archivos JavaScript del sitio. Esto puede mejorar la experiencia de navegación en muchos casos, pero ten en cuenta que algunos temas dependen de JS para representar contenido, lo que puede causar conflictos.

Cache

El almacenamiento en caché es una opción sencilla y útil para aumentar el rendimiento del sitio. Si tienes DreamPress, una solución de caché en el servidor ya está configurado como parte de esa plataforma. Si tienes una instalación estándar de WordPress, hay muchos plugins diferentes que puede usar. Dos recomendaciones gratuitas comunes son Cache Enabler y WP Super Cache.

WP-Cron

WP-Cron es una función de programación de WordPress usada por una variedad de plugins. Cada vez que se carga una página del sitio, WordPress verifica un programa interno para ver si hay eventos para ejecutar. Muchos de sus eventos están destinados a pasar desapercibidos, como las tareas semanales de un plugin (por ejemplo, eliminar sus transitorios o buscar actualizaciones).

Otros eventos programados comunes incluyen copias de seguridad o publicaciones. Si se ejecutan en momentos inoportunos, pueden causar problemas de rendimiento, como cuando las tareas de alto rendimiento, como las copias de seguridad de todo el sitio, coinciden con las horas normales de visita. Como tal, se recomienda que muevas los eventos programados a las horas de menor actividad de tu sitio.

Si tus plugins no tienen configuraciones para administrar individualmente sus tareas programadas, puedes usar un plugin como WP Control para agregar, eliminar, ejecutar manualmente y reprogramar eventos programados.

Otro problema potencial puede ocurrir en sitios particularmente ocupados, donde WordPress verifica continuamente su programación hasta el punto de causar problemas de rendimiento. En estos casos, se recomienda deshabilitar WP-Cron y configurar un control del sistema para manejar la programación de tareas en su lugar.

Optimizar bases de datos

Revisa el siguiente artículo para obtener más información sobre cómo optimizar las bases de datos de WordPress:

Controlar el tráfico

Si tu sitio ya ha sido optimizado, pero estás viendo una disminución en el rendimiento, verifica las solicitudes HTTP que llegan a tu servidor. Esta información se puede encontrar verificando los registros de acceso de tu sitio. Ten en cuenta que estos datos sin procesar son más fiables cuando se trata de solucionar problemas de tráfico que los datos proporcionados por los plugins de análisis. Mira el siguiente artículo para ver varios comandos diferentes que puede usar para ordenar y ver los datos de registro:

Puedes ejecutar el siguiente comando para contar la cantidad de veces que cada IP ha llegado a tu sitio:

[server]$ awk '{print $1}' /path/to/your/access.log | sort | uniq -c |sort -n

Una vez que tengas una lista de direcciones IP, usa una búsqueda de WHOIS para investigar la dirección IP y determinar si es necesario realizar alguna acción adicional.

Controlar bots y rastreadores

Los bots y rastreadores de indexación de motores de búsqueda son importantes para el SEO, pero a veces pueden ser agresivos, hasta el punto de afectar el rendimiento del sitio. Puedes restringir su comportamiento de indexación a través de un archivo robots.txt ubicado en el directorio de dominio que buscan estos rastreadores agregando la siguiente línea:

User-agent: * Crawl-Delay: 10

Esta directiva le dice a los rastreadores que esperen 10 segundos entre cada solicitud HTTP en lugar de enviarlas todas a la vez. Sin embargo, si el rastreador no está programado para seguir las directivas de robots.txt, deberás bloquearlas.

Revisa el siguiente artículo para obtener más información sobre cómo limitar bots y rastreadores:

Bloquear tráfico

Si una IP de alto tráfico no es un robot o rastreador conocido, tu propia red o un servicio de terceros que estás usando (como un servicio de copia de seguridad o CDN), es posible que desees bloquearlo.

Puedes agregar la siguiente simple directiva al archivo .htaccess en el directorio de dominio para bloquear el tráfico de una IP específica:

deny from $IP

Revisa el siguiente artículo para obtener más información sobre las directivas allow/deny:

Limitar las llamadas /wp-admin/admin-ajax.php

La llamada admin-ajax.php, también conocido como heartbeat de wp-admin, envía una solicitud cada 15 segundos para mantener activa la conexión entre el navegador y el servidor. Esto permite guardar automáticamente sin problemas, evita tiempos de espera para los usuarios y ayuda a las funciones de plugins de terceros que se ejecutan en segundo plano. Sin embargo, cada solicitud carga la totalidad de la página /wp-admin, lo que puede aumentar el uso de recursos en el servidor. En algunos casos, admin-ajax.php se puede llamar en el lado público del sitio, generalmente debido a una función de tema o plugin.

Si ves las llamadas admin-ajax.php del lado público, puedes desactivar sus plugins en un entorno de prueba para encontrar al culpable. Otro método para limitar la función es el plugin Heartbeat Control, que puede deshabilitar las llamadas admin-ajax en las páginas públicas y /wp-admin junto con limitar la frecuencia de guardado automático del editor de publicaciones.

Usar un CDN

Una Content Delivery Network (CDN) puede aumentar el rendimiento incluso de un sitio bien optimizado. Cloudflare es una opción de CDN gratuita que incluye muchas otras funciones.

Pasos adicionales

Después de seguir estos pasos de optimización, es posible que tu sitio todavía tenga problemas de rendimiento. Lo primero que debes hacer es realizar una revisión adicional de tus plugins y temas. Si no puedes eliminar ningún plugin adicional o usar un tema que requiera menos recursos, tienes dos opciones más.

La primera opción, si no esperas mucho crecimiento del sitio o si deseas darle a tu sitio un comienzo más sólido, considera usar el servicio de optimización del sitio de DreamHost. Para obtener más información sobre el servicio, revisa la siguiente página:

La segunda opción es mejorar tu plan de alojamiento, especialmente si tienes un plan de Alojamiento Shared. Esto puede ser más útil si espera ver un crecimiento en el tráfico y el uso del sitio. Considera mejorar el sitio a un alojamiento DreamPress o VPS.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?