11 formas efectivas de escalar su sitio web de WordPress para alto tráfico

Publicado: 2020-02-08

Un sitio web lento o un servidor con tiempo de espera agotado no es ideal para ningún negocio ni para la reputación de la marca. Dicho tiempo de inactividad puede tener efectos perjudiciales para la rentabilidad o la confianza. Los sitios web deben ser capaces de anticipar y prepararse para el nuevo tráfico que se les presente, de modo que sean proactivos en lugar de reactivos. Esto se debe simplemente a que nunca se sabe qué podría desencadenar un pico temporal en el tráfico. Por ejemplo, si tienes un blog, podría ser una publicación que se haya vuelto viral. Solo unos segundos de inactividad pueden provocar la pérdida de miles de dólares, ya que la mayoría de los usuarios de Internet están impacientes. Dicho esto, WordPress es muy capaz de administrar grandes volúmenes de tráfico, aunque muchas contingencias, configuraciones e instalaciones deben ser intencionales. Echemos un vistazo, ¿de acuerdo?

8-ventajas-de-usar-wordpress

  1. WordPress no maneja el tráfico. ¡Los anfitriones (empresas de alojamiento) lo hacen!

Como motor de un sitio web, WordPress en sí mismo no es el principal responsable de manejar su alto tráfico potencial. La capacidad de manejo del tráfico depende en gran medida de su plataforma de alojamiento. Desafortunadamente, una máquina virtual que aloja su sitio web de WordPress puede ser un punto único de falla, ya que un problema con una sola instancia puede causar una pérdida de servicio para su sitio web. De hecho, algunos servidores de alojamiento limitan su umbral de tráfico, mientras que otros requieren que actualice su cuenta si su tráfico aumenta más allá de un cierto umbral. Entonces, qué elementos básicos deben estar en nuestra lista de verificación de proveedores de alojamiento:

  • En primer lugar, asegúrese de que su proveedor admita las últimas versiones de WordPress sin esfuerzo.
  • En segundo lugar, verifique si le permitirán exceder su límite (el límite de velocidad de transferencia y el ancho de banda de su sitio, cuando comience a recibir mucho más tráfico)
  • Si bien el alojamiento web compartido puede ser excelente cuando se inicia un proyecto de poco tráfico, una vez que lo retome, deberá cambiar a un servidor privado virtual (VPS). Su proveedor debe tener provisiones para un VPS.
  • Se debe permitir el escalado vertical con planes escalonados para que los clientes puedan actualizar fácilmente a medida que cambien las necesidades. El escalado de recursos para mejorar el rendimiento se puede lograr principalmente mediante el escalado vertical. En esencia, aumentando el tamaño de la máquina virtual que ejecuta su sitio web de WordPress.
  • Verifique si la escala horizontal también está disponible, ya que separa su sitio web en varias capas. Por ejemplo, separar el servidor front-end, el servidor de la base de datos, la capa de proxy y la capa de imagen, lo que facilita la escalabilidad de los recursos.
lista-de-las-áreas-críticas

Sugerencia rápida: si puede, evite implementar un cPanel/WHM (WebHost Manager) en su servidor de WordPress de alto rendimiento, ya que puede ralentizar su sitio web de alto tráfico.  

  1. Usando Elasticsearch en su sitio web

En particular, MySQL y MariaDB no son famosos por sus capacidades de búsqueda. Tampoco se crearon con esa fuerza en mente, y es una de las razones por las que el equipo de WordPress no puede mejorar la lógica de búsqueda. Escrito en Java, ElasticSearch es un software de motor de búsqueda RESTful rápido y distribuido destinado a la búsqueda y el análisis. No obstante, se puede aprovechar Elasticsearch para acelerar la consulta de la base de datos de WordPress. Específicamente, al crear un índice del contenido de la base de datos de su sitio, ElasticSearch puede usarse para buscar en este índice mucho más rápido que una consulta de MySQL mientras realiza la misma búsqueda. Elasticsearch también se puede integrar instalando el complemento ElasticPress para generar resultados de consulta con Elasticsearch en lugar de MySQL. Esto puede mejorar el rendimiento y configurarlo mejor para manejar un alto tráfico.

  1. Menos gráficos y más medios optimizados

Para evitar fallas en el sitio web durante los picos de tráfico, puede reducir la cantidad de gráficos que tiene en el diseño de su sitio web. Se supone que la contingencia de optimizar sus medios idealmente ayudará a que su sitio sea más liviano y se cargue más rápido. Obtener el mejor rendimiento de velocidad de página puede ser una buena red de seguridad durante los episodios de alto tráfico. Tres prácticas básicas vienen a la mente.

  • Puede usar complementos de compresión para imágenes y carga diferida, ya que solo mostrará imágenes a los visitantes una vez que lleguen a esas partes de sus páginas web, y no antes.
  • Siempre asegúrese de limitar los medios en su sitio a solo imágenes esenciales, si puede.
  • ¡Además, inserte videos de servicios como YouTube y Vimeo en su sitio! Luego cargando videos completos en su sitio.

Leer más: Consejos para mejorar la velocidad del sitio web de WordPress

  1. Menos complementos

Parece que nuestro tema hasta ahora es 'menos es más'. Pero no te preocupes, ¡todavía tenemos algunos buenos consejos! Idealmente, los complementos de WordPress son archivos que son "llamados" por su tema de WordPress instalado. Los complementos pueden ampliar fácilmente la funcionalidad o agregar una nueva función al sistema web. Pero un complemento mal codificado a menudo carga demasiado, incluso cuando no es necesario.

Técnicamente, una instancia desnuda sin temas ni complementos podría funcionar bastante bien bajo carga. Pero, ¿quién quiere un tema desnudo? Además, la mayoría de los complementos pueden ser innecesariamente complejos e inflados. Esto aumenta la velocidad de carga de la página, lo que ralentiza su sitio. Por lo tanto, asegúrese de evitar sobrecargar su sitio con complementos para evitar que su tema realice demasiadas consultas a la base de datos, lo que puede generar una mayor actividad en su servidor, lo que puede provocar una posible falla del servidor. Puntos clave:

  • Eliminar complementos no utilizados
  • Desactiva los complementos que no necesites.
  • Usa complementos esenciales. Evite los innecesarios o experimentales.
  • Audite periódicamente sus complementos a menudo para evaluar su tamaño y calidad, etc.

Leer más: ¿Son seguros los complementos de WordPress?

  1. Aprovechar una red de entrega de contenido

Alojar un sistema web en diferentes ubicaciones geográficas no es tan simple como parece. El sistema web puede experimentar una velocidad de carga diferente según la ubicación geográfica de su visitante. En esos momentos, CDN resulta muy útil. CDN almacena una versión en caché de los recursos de su sitio web en varios servidores en diferentes partes del mundo. Esto ayuda a maximizar el rendimiento de su servidor y garantiza que no se produzcan excesos de tráfico. El uso de un CDN puede reducir la velocidad de carga de su sitio web para sus visitantes de todo el mundo.

Leer más: Migre su sitio web de WordPress a la plataforma en la nube

Una CDN mejora las funcionalidades de un servidor al almacenar en caché contenido estático como imágenes, JavaScript y archivos CSS. Por lo tanto, cuando un visitante visita su sitio web, recibe el servicio del servidor más cercano, lo que resulta en una carga más rápida de su sitio web. CDN ayuda a evitar la carga del servidor con mucho tráfico, ya que los archivos del sitio web se distribuyen y guardan en varias ubicaciones de datos diferentes en todo el mundo. Para resumir las ventajas de CDN:

  • La velocidad del sitio aumenta: se carga más rápido.
  • Le permite manejar más tráfico ya que la carga se comparte entre su proveedor de alojamiento y la plataforma CDN.
  • CDN ayuda a ahorrar ancho de banda en su sitio web.
  • CDN ayuda a proteger su sitio web de los ataques de denegación de servicio (DDOS), ya que varias solicitudes se compartirán en varios servidores.

La alternativa CDN 'gratuita' más popular es Cloudfare, que puede utilizar en su sitio WP. Cloudflare Free CDN es genial por lo siguiente:

  • Sin cargo por ancho de banda: a diferencia de la mayoría de los servicios de CDN, Cloudflare no le cobra por el tráfico. La mayoría de las CDN pueden cobrarle por eliminar el contenido almacenado en caché de su CDN.
  • Cobertura global: con más de 100 centros de datos en todo el mundo, Cloudfare opera en varios puntos de intercambio y, por lo tanto, siempre está cerca de sus clientes.
  • Seguridad: se consideran una organización de seguridad y su "CDN" es esencialmente un proxy inverso distribuido. Por lo tanto, agregue profesionales de seguridad a su menú.
2-maneras-de-usar-una-CDN-con-WordPress
  1. Considere usar un nivel web sin estado

Esencialmente, una aplicación sin estado no requiere conocimiento de interacciones previas y básicamente no almacena información de sesión. En retrospectiva, una aplicación sin estado se puede escalar horizontalmente ya que cualquier solicitud puede ser atendida por cualquiera de los recursos informáticos disponibles, básicamente instancias de servidor web. En consecuencia, cuando ya no se requiere esa capacidad, cualquier recurso individual se puede terminar de manera segura. Por ejemplo, después de que las tareas en ejecución se hayan vaciado o cumplido su propósito. En un nivel web sin estado, los recursos no necesitan estar al tanto de la presencia de sus pares, todo lo que se requiere es una forma de distribuirles la carga de trabajo. Puede aplicar una arquitectura sin estado para manejar el alto tráfico anticipado potencial.

  1. Almacenamiento en caché y optimización de bases de datos

El almacenamiento en caché de la base de datos es importante ya que reducirá las llamadas a la base de datos y acelerará el tiempo de carga del sistema web. Cuando la mayoría de las consultas se atienden desde la memoria caché, se reduce la cantidad de consultas que deben llegar a la base de datos. Esto da como resultado un mejor rendimiento de la base de datos. La otra forma de mejorar la eficiencia de la base de datos es poner un límite a las consultas de carga automática y almacenar los datos a los que se accede con frecuencia en la memoria para un acceso de baja latencia. Si bien es importante usar el almacenamiento en caché de consultas y la indexación adecuada para mejorar el rendimiento de la base de datos, puede reducir la latencia y aumentar el rendimiento para cargas de trabajo de aplicaciones con muchas lecturas.

La base de datos tendrá mucha más información después de usarla por un tiempo que ya no necesitará. Esto reducirá el rendimiento y la eficiencia del sistema. Las revisiones son una de las razones por las que se crea información innecesaria en la base de datos. Revisiones es una función de WordPress que le permite guardar revisiones de sus páginas, publicaciones o tipos de publicaciones personalizadas automáticamente. De forma predeterminada, guarda automáticamente su trabajo cada 60 segundos. Uno puede administrar estos intervalos de guardado automático definiendo 'WP_POST_REVISIONS' en el archivo 'wp-config.php'. Puede guardar revisiones cada 30 segundos, 2 minutos o según sus necesidades. Las revisiones también se pueden desactivar por completo. También debe saber que desactivar las revisiones no mejora el rendimiento del sitio.

Para deshacerse de todos esos datos innecesarios, debe optimizar la base de datos. WordPress emplea principalmente bases de datos MariaDB o MySQL. Por lo tanto, ya sea optimizando la configuración de MySQL/MariaDB o proporcionando más memoria y potencia de procesamiento, un servidor con exceso de trabajo puede ayudar. Además, hay varios complementos disponibles en WordPress que le permiten limpiar la base de datos. Los complementos lo ayudan a eliminar las etiquetas no utilizadas, las revisiones, las publicaciones desechadas, etc. y optimizarán su base de datos.

  1. Uso de los complementos de almacenamiento en caché correctos  

Cuando experimenta tiempo de inactividad, los complementos de almacenamiento en caché pueden generar archivos HTML de su sitio web, lo que es beneficioso cuando aumenta el tráfico. Al elegir un complemento de almacenamiento en caché, preste atención a algunos aspectos como:

  • Actualizar disponibilidad
  • Red de entrega de contenido e integración SSL
  • Capacidades de almacenamiento en caché de la página
  • Puntos fuertes del almacenamiento en caché de la base de datos

Su complemento de almacenamiento en caché debería ofrecer integración con CDN, aunque mi recomendación personal es el complemento de almacenamiento en caché W3TC.

  1. Garantizar la seguridad del sitio

La seguridad afecta la escala de un sitio de WordPress, ya que el alto tráfico implica más amenazas potenciales a las que hay que estar atento. Y, por lo tanto, los complementos de seguridad profesionales pueden proteger su sitio web contra malware, inyecciones de SQL, spam, ataques DDoS, etc. simplemente ofreciendo lo siguiente:

  • Supervisión de seguridad activa
  • Protección contra ataques de fuerza bruta
  • Escaneo de malware
  • Supervisión y gestión de seguridad (especialmente para DDoS),
  • Supervisión de listas negras
  • Refuerzo de la seguridad y acciones posteriores al hackeo
  • cortafuegos

Además, puedes tomar contingencias personales como:

  • Fortalecimiento de sus contraseñas de wp-admin con autenticación de 2 factores
  • Limite los intentos de inicio de sesión en su sitio
  • aplicando un antivirus a su red Use SFTP en lugar de FTP
  • Ocultar archivos wp-config.php y .htaccess
  • Use una red privada virtual VPN cuando no use una red que controle.
  • Utilice un servidor privado virtual VPS para tener un mayor control sobre el entorno de su servidor.
  1. Aproveche el almacenamiento en caché de bytecode

El script PHP se analiza y compila cada vez que se ejecuta. Entonces, idealmente, al usar un caché de código de bytes de PHP, la salida de la compilación de PHP se almacena en la RAM, evitando que el mismo script tenga que compilarse una y otra vez. En consecuencia, esto reduce los gastos generales relacionados con la ejecución de scripts PHP, lo que da como resultado un mejor rendimiento y menores requisitos de CPU. OPcache puede ayudar con el almacenamiento en caché de bytecode.

  1. Aplicar técnicas de equilibrio de carga

El balanceo de carga distribuye efectivamente el tráfico de red entrante a través de un grupo de servidores back-end, un grupo de servidores o una granja de servidores. Como los sitios web de alto tráfico atienden a miles de usuarios, las solicitudes simultáneas son inevitables, por lo que para escalar de manera rentable, se recomienda el equilibrio de carga. Idealmente, con un balanceador de carga, si un solo servidor deja de funcionar, redirige el tráfico a los servidores en línea restantes. Un balanceador de carga realiza las siguientes funciones:

  • Distribuye la carga de la red o las solicitudes de los clientes de manera eficiente en varios servidores.
  • Garantiza una alta confiabilidad y disponibilidad al enviar solicitudes solo a servidores en línea.
  • Proporciona la flexibilidad de agregar o quitar servidores según la demanda.
algoritmos de equilibrio de carga

Para demostrar el balanceo de carga, podemos usar el ejemplo de wordpress.com (no wordpress.org) que es efectivamente una instalación multisitio de WordPress que se ejecuta en miles de servidores en múltiples centros de datos. En particular, WordPress.com como creador de sitios aloja múltiples sitios a través de su HyperDB   para equilibrar la carga y distribuir sus millones de tablas a través de instancias de bases de datos separadas, todas vinculadas a una base de datos central. Es por eso que los sitios de wordpress.com pueden manejar un alto tráfico sin problemas, ya que distribuyen las solicitudes de los usuarios finales a múltiples nodos de servidores web, esencialmente equilibrando la carga.

¿Puede un sitio de WordPress autohospedado manejar 100k visitantes simultáneos?

La pregunta del día, ¿verdad? En teoría, sí, aunque habrá que esforzarse mucho para lograr este resultado. Deberá realizar una auditoría del sitio y, sin duda, involucrar:

  • balanceo de carga
  • replicación MySQL
  • Descarga de contenido estático
  • Elasticidad de la arquitectura de su servidor.
  • Proveedor de CDN de buena reputación
  • Un sistema de gestión de comentarios eficiente como Disqus
  • Maximice la eficiencia del almacenamiento en caché
  • Aproveche la implementación de la nube elástica
  • Aproveche con frecuencia herramientas de análisis y seguimiento como WordPress Stats y Google Analytics
  • Utilice un servidor HTTP de alto rendimiento como NGINX .

Por decir lo menos, mucho depende del hardware y de los tipos de complementos que esté utilizando. Puede considerar usar un almacenamiento en la nube separado para medios y cargas y luego tener un complemento que dirija las cargas del usuario al almacenamiento en lugar del sistema de archivos local. Como alternativa, si utiliza instancias de AWS, considere diseñar su sitio en varias zonas de disponibilidad dentro de una región para aumentar la confiabilidad de la arquitectura general. Además, use unidades SSD y evite HDD, ya que las unidades de estado sólido son más confiables, seguras y rápidas que sus contrapartes HDD.

Conclusión

En conclusión, los medios optimizados, los scripts y el almacenamiento en caché realmente no ayudarán si su servidor es lento, está abarrotado, compartido o configurado incorrectamente. Por lo tanto, le recomiendo que use un servidor NGINX ya que está más orientado al rendimiento. Además, asegúrese de usar cachés de CDN y, si puede, debe optar por Cloudflare para aumentar el rendimiento, ya que disminuirá el uso de recursos en su servidor, como el ancho de banda. Las menciones notables implican mantener la versión y el tema de su WP actualizados regularmente. Para cualquier información adicional y consultas, no dude en comunicarse con nosotros.