Drupal 8, mejorar la velocidad

Drupal 8, mejorar la velocidad

En este posta repasaremos los metodos tradicionales para mejorar el rendimiento y velocidad de Drupal. También veremos las novedades en este aspecto que se pueden aplicar a Drupal 8. El objetivo, es lograr un Drupal que consiga más velocidad, consumiendo menos recursos. 

Consejos de siempre

En primer lugar, es necesario tener en cuenta algunas prácticas clásicas, "eternas" de mejora de la velocidad que se aplican tanto a Drupal 8 como a las versiones anteriores, simplemente tendremos en cuenta ligeras diferencias en la manera de implementarlos.  

Estas técnicas incluyen (pero no están limitadas a):

  • Desinstalar módulos extraños e innecesarios, dado que obstaculizan el rendimiento del sitio
  • Agregar archivos CSS y JS, o agrupándolos para reducir la cantidad de solicitudes HTTP (en la página de rendimiento de Drupal o con el módulo AdvAgg)
  • Usar las oportunidades de almacenamiento en caché (establecer el tiempo máximo de caché según la frecuencia con la que cambia el contenido, así como el uso de módulos adicionales de almacenamiento en caché como Boost, etc.)
  • Descargar imágenes de forma lenta (lazy load) o solo cargar aquellas imágenes que están realmente a la vista del usuario
  • Configurar que las imágenes que usa la web en las distintas vistas i dispositivos, se recorten, al subirlas a los tamaños que coinciden con las vistas.
  • Aplicar todas las téncicas posibles para la optiización de imágenes, hay muchos programas que nos aydan con esto, por ejemplo: compressor.io
  • Implementando el estándar AMP para proporcionar una carga de página ultrarrápida en dispositivos móviles
  • Uso de CDN (redes de entrega de contenido) que envien el contenido rápidamente a los usuarios según su ubicación geográfica
  • Acelerar las paginas de sus 404 respuestas con el módulo de Drupal Fast 404

Plantillas Drupal ligeras

Otra de los puntos que cabe recordar e insistir es el asunto de las plantillas Drupal. Recomendamos no usar plantillas prefabricadas, por ejemplo de Themeforest. Estas plantillas se ven genial y permiten tener un Drupal en segundos, pero no son lo mejor para asegurar un buen rendimiento de Drupal. Ni un Drupal realmente escalable. El uso de un plantilla conlleva trabajo adicional no previsto: desinstalar todos los modulitos que no se van a usar, aligerar módulos sobrecargados, o desinstalar módulos que lleva la plantilla.  La maquetación a medida es la solución que riza el rizo en este aspecto, una plantilal creada a medida y ligera va a permitir que nuestro Drupal hará nuestro Drupal realmente aerodinámico.  

Mejorar rendimiento Drupal 8

A parte de los clásicos, Drupal 8 ofrece nuevas y únicas oportunidades de optimización de velocidad, algunas de las cuales os explicamos a continuación: 

Almacenamiento inteligente  en caché de Drupal

El almacenamiento en caché o el guardado de versiones de página para mostrarlas nuevamente a los usuarios es una técnica excelente que permite el ahorro de gran volumen de recursos. Enfocar bien como configurar Drupal en lo que se refiere a este asunto es clave, pero es que Drupal 8 tiene una configuración flexible que permite optimizar al máximo el almacenamiento caché según las necesidades de cada web, de cada vista y tipo de contenido, es una mejora importante en Drupal 8

En el core de Drupal 8 se han incluido módulos muy efectoivos para la gestión de de caché. La memoria caché de página interna almacena en caché el contenido para usuarios anónimos. Dynamic Page Cache almacena en caché el contenido para cualquier usuario y maneja el contenido dinámico automáticamente. Además, hay muchos módulos de caché Drupal adicionales que se pueden considerar.

Una de las mejoras novedades de Drupal 8 son los metadatos de caché (etiquetas de caché, contextos de caché y caché de edad máxima). Ayuda a que l amemória caché se actualice de forma selectiva cuando hay algunos cambios en el contenido, y permite a los desarrolladores crear variaciones de caché flexibles.

El Big Pipe

En el núcleo de Drupal 8 se ha realizado una mejora que ofrece una atención especial. El módulo Big Pipe empezó como un módulo experimental en Drupal 8 y ahora es uno de sus módulos clave que está en el core a partir de Drupal 8.5.0. Este módulo evita que lso usuaris tengan que esperar la carga total de las páginas. El usuario nunca pierde la totalidad del contenido, permitiendo que los contenido sque no van a variar en la página se mantengan, mientras que tan solo cambia el contenido dinámico y personalizado que se sirve enseguida. Esta tecnología se inspiró en Facebook y, teniendo en cuenta los alcances de esta red social, BigPipe seguramente puede ser una gran mejora para cualquier sitio web Drupal. 

Supervelocidad e interactividad

Una tendencia disruptiva actual es combinar Drupal con frameworks de JavaScript (Ember, Backbone, React, Vue, Angular, Node,  etc.). Estas tecnicas deconectan las posibilidades de frontend de Drupal y se centran en el uso de Drupal como un backend y gestor de contenidos, pero permiten que un sitio web salte a una liga de velocidad e interactividad excepcionales. La mezcla explosiva de estos frameworks de Drupal y JavaScript se usa a menudo en el llamado Drupal "sin cabeza" o "desacoplado". Estas mismas prácticas las podríamos llevar a cabo con otros CMS pero en Drupal es más factible gracias a las capacidades de integración de terceros de Drupal 8.

Drupal 8 tiene servicios web integrados por ejemplo: 

  • HAL
  • Serialización,  
  • Autenticación básica HTTP,  
  • Servicios web RESTful . 
  • Etc. 

Aparte, los asistentes adicionales como GraphQL, Subrequests, Consumers y módulos que permiten crean interacciones perfectas con tecnologías de terceros que permiten afinar grado a grado el rendimiento.

En Comunic-art somos epsecialistas en Drupal  y Drupal 8 tenemos un gran equipo que puede ayudar a mejorar la velocidad de tu sitio web.