Cómo reducir el consumo de recursos del servidor

 In Tutorial, Wordpress

Cómo reducir el consumo de recursos del servidor de tu instalación de WordPress? Este es un problema demasiado habitual en instalaciones de WordPress con un nivel de tráfico elevado, donde la temida sobrecarga de consumo de recursos del servidor llega hasta el punto de que tu proveedor de alojamiento se ve en “la obligación” de limitar las conexiones para reducir el consumo de recursos del servidor y así no afectar a otras webs alojadas en el mismo servidor. Para intentar no llegar a este punto crítico, es importante tomar unas medidas en el momento de crear y configurar tu instalación de WordPress.

Es sabido por todos mínimamente interesado en este mundo que WordPress es una plataforma muy potente, que puede crecer hasta donde se quiera, pero precisamente por eso, no todos tenemos conciencia de que no se está de nada a la hora de pedirle chicha a tu servidor, sobre todo si se utilizan demasiado plugins (algunos seguramente prescindibles) o una plantilla muy visual, que tire mucho por ejemplo de efectos visuales.

Así pues, selección de técnicas y consejos nacidos con la esperanza de ayudar a otros desarrolladores-diseñadores a evitar esta problemática.

Elegir una plantilla (theme) adecuada a nuestras necesidades.

Pam, parece fácil ¿verdad? pues no lo es tanto, si utilizas un marketplace tipo ThemeForest debes tener cuidado en no dejarte llevar y deslumbrar por los temas más atractivos visualmente hablando, sobre todo hay que pensar en que el tipo de contenido que colocarás encaje perfectamente, de nada te servirá un theme con grandes y espectaculares fotos si no dispondrás a la hora de la verdad, o potentes efectos visuales para una web de información pura y dura donde se tenga que premiar el acceso a la misma y la usabilidad por delante de otros puntos. Esto también es aplicable en el caso que quieras incrementar la velocidad de la instalación de WordPress (tema para otro día …)

Importante consultar la documentación del theme, si está bien trabajado, (independiente de que el theme sea más simple o más complejo) dispondrás una amplia documentación para hacerte una idea sobre todo del back-end (gestor) y los plugins que necesita para su correcto funcionamiento.

Consejo: Evitar themes que coloquen contenido por sí mismos sin utilizar ningún plugin, (por ejemplo páginas nuevas tipo portafolio, productos, etc …) cabe recordar que la gracia del WordPress es separar el contenido del diseño, y que si el cabo de dos años el theme queda desactualizado, antiguo, o simplemente le coges manía, al cambiar de Theme no pierdas el contenido generado con el anterior.

Escalar correctamente el servidor.

Otro punto que parece evidente, ok de acuerdo, ¡pero no hay que olvidarlo!, ya puedes tener WordPress más eficiente del mundo que si tienes un millón de páginas vistas al mes aguantado por un servidor muy pequeño, estallará sí o sí. Recomendación? utilizar un servicio escalable como por ejemplo Cdmon donde puedas ir creciendo o decreciendo en recursos según tus necesidades -hay muchas webs que son temporales, que tienen mucho más tráfico durante unos días al año- por tanto si tienes un servidor escalable puedes aumentar recursos durante unos días, semanas o lo que sea necesario y luego volver a bajar (con la correspondiente disminución de coste que significa).

Minimizar el uso de los plugins.

Un error típico cuando empiezas con WordPress es empezar a instalar plugins como si no hubiera un mañana, lo que repercutirá en tres grandes temas:

  • Seguridad: típica vía de entrada de malparidos piratas que quieren colocarte malware, al encontrar plugins desactualizados o con agujeros de seguridad (no todo el mundo se los trabaja igual de bien)
  • Velocidad: puede condicionar mucho la velocidad de carga de la web.
  • Recursos: lo mismo, evitar pluguins que realicen muchas peticiones al servidor.

Consejo: Un plugin que puedes activar cuando lo necesites (y desactivarlo después) es el P3 (Plugin Performance Profiler) donde podrás analizar cuando te consume cada uno, cuánta memoria estás usando el servidor y qué % de culpa tiene cada plugin en el tiempo de carga de la web.

Crear el archivo robots.txt.

Para evitar que los robots de Mr. Google (o Yahoo, Bing …) vayan escaneando con todo detalle todos los archivos de tu instalación de WordPress -con el objetivo de colocar la información extraída en los buscadores- es muy recomendable colocar en el directorio de la web del archivo robots.txt para limitar estos accesos y reducir el consumo. Con un archivo robots.txt bien configurado, estos robots accederán a la información relevante de tu web con mayor rapidez, mejorando el posicionamiento, la usabilidad y el tema del que estamos hablando, la carga del servidor.

Ventajas de tener un robots.txt bien configurado:

  • Liberar el servidor controlando el tiempo de acceso al mismo.
  • Mejor indexación en los buscadores.
  • Limitar el acceso a robots que no pertenecen a buscadores y que podrían rastrear información privada.

Cómo crear el archivo robots.txt para un WordPress?

Fácil, ejemplo de robots.txt por un WordPress, donde el ‘Crawl-Delay’ indica el tiempo de acceso entre cada robot y donde colocaríamos en ‘Dissallow’ todo el contenido que no queremos indexar:

User-agent: *
 Crawl-Delay: 60
 Disallow: / wp-content /
 Disallow: / wp-icludes /
 Disallow: / trackback /
 Disallow: / wp-admin /
 Disallow: / archives /
 Disallow: / category /
 Disallow: / tag / *
 Disallow: / tag /
 Disallow: / wp- *
 Disallow: / login /
 Disallow: /*.js$
 Disallow: /*.inc$
 Disallow: /*.css$
 Disallow: /*.php$
 User-agent: All
 Allow: /
 User-agent: Googlebot-Image
 Disallow: /
 User-agent: ia_archiver
 Disallow: /
 User-agent: duggmirror
 Disallow: /

Controlar los Heartbeats (pulsaciones).

Finalmente, un gran desconocido, el amigo admin-ajax.php que se encarga de que el WordPress le saque jugo al Ajax pero que al mismo tiempo consume muchos recursos de memoria RAM y de CPU del servidor.

Funcionalidades del admin-ajax.php:

  • Control de la posición de los widgets que has colocado en el back-end (gestor).
  • El auto-guardado de las entradas y páginas una vez estás editando las mismas.
  • Apoyar muchísimos plugins, como el omnipresente Woocomerce.

Por defecto, WordPress realiza una petición (pulso) cada 15 segundos de 98 bytes (mientras estás editando una entrada página) en el archivo admin-ajax.php, para “comprobar” que haya alguien al otro lado, que tu WordPress esté activo/trabajando. Si esto lo multiplicas por los usuarios activos del back-end, más los plugins que utilizan este archivo y le añades un volumen de visitas elevado, ya tenemos una combinación perfecta para hacer sufrir al servidor.

Para evitar este consumo, un sistema fácil es la utilización del plugin Hearbeat Control con el que podemos desactivar completamente este tema (no recomendable para no perder funcionalidades) o aumentar la frecuencia de peticiones (pulsaciones) hasta 60 segundos. También podrás personalizar en qué caso permites la ejecución:

  • Funcionalidad por defecto
  • Desactivarlo.
  • Desactivarlo sólo en el dashboard.
  • Ejecutarlo sólo en el editor del back-end.

Ya lo tenemos.

Con estas medidas espero reducir el consumo de recursos del servidor de tu web en WordPress, con el objetivo de no necesitar la migración a un servidor superior al que tienes contratado.

Imagen Server Room. Bajo licencia Creative Commons.

David Tortosa
Dissenyador Multimèdia. Romàntic del paper (director d'art de publicacions) i apassionat del digital (Wordpress com a cavall de batalla)
Recent Posts
¡Hola!

Aquí estamos para cualquier cosa. Escríbenos y daremos señales de vida ipso facto.

Start typing and press Enter to search