Si utilizas el software de creación de cursos, o LMS, llamado LearnDash y quieres tener un sitio optimizado, que cargue rápido, que ofrezca una experiencia fluida de navegación a los alumnos, al tiempo que permita el funcionamiento adecuado de todos los elementos del sistema de aprendizaje, nada mejor que WP Rocket, eso sí, teniendo en cuenta algunos detalles de su configuración.
Esta guía no pretende ser un tutorial extendido sobre cómo usar WP Rocket, sino que me limitaré a detallarte cómo configurar algunos de sus ajustes expresamente para un mejor rendimiento y prevención de errores para su uso en sitios con el plugin LearnDash activo.
Los ajustes que te muestro a continuación están basados en mi experiencia optimizando y manteniendo webs WordPress que usan LearnDash y en las que utilizo WP Rocket (la mayoría) para optimizar el sitio.
Dicho esto, vamos por partes…
Caché
En esta página, la primera que configuramos siempre al activar WP Rocket, mis consejos son los siguientes:
Habilitar la caché para dispositivos móviles
– DESACTIVAR – Actualmente no he encontrado aún ninguna web en la que haga falta activar este ajuste de WP Rocket, y tampoco para su uso con LearnDash. Este ajuste solo tiene sentido si compruebas que necesitas un empujón extra de velocidad en móviles, pero siempre después de haber optimizado los scripts y medios. La caché siempre es el último recurso, tapa fallos pero no los corrige.Habilitar la caché par los usuarios conectados a WordPress
– DESACTIVAR – Este es el error más común que encuentro en sitios con sistemas de aprendizaje o LMS, pues aunque este ajuste está pensado expresamente para sitios de membresía, está más pensado para webs de consumo de contenidos, no para un entorno de cursos y lecciones, en los que este ajuste activo puede generar errores en la carga de cuestionarios, barras de progreso de alumnos, respuestas a preguntas y demás contenidos dinámicos e interactivos de LearnDash y otros LMS.Vida útil de la caché
– 10 horas – Este ajuste – el recomendado por WP Rocket – he comprobado que es el más adecuado en prácticamente todas las webs con contenido actualizado, y es el caso.
Resumiendo…
Como ves, en esta pantalla las decisiones son sencillas: todo desactivado y limitar la vida de la caché, para que no sea infinita, algo que solo es útil en webs cuyo contenido no cambia nunca o muy poco.
Optimizar archivos
Esta sección de ajustes de WP Rocket siempre es la más delicada, y cualquier configuración incorrecta puede provocar que toda o partes de tu web no se carguen o lo hagan incorrectamente.
En lo que se refiere a su configuración adaptada para LearnDash estos son mis consejos:
Minimizar archivos CSS
– DESACTIVADO – En la mayoría de los temas modernos, como Astra, y plugins premium actuales, y LearnDash es uno de ellos, ya se vienen minimizados los archivos CSS, así que es redundante intentar hacerlo de nuevo desde WP Rocket.Optimizar la entrega del CSS
– ACTIVADO – Este ajuste siempre lo activo en WP Rocket, pues crea una instancia de CSS específica para cada página, y no he encontrado incompatibilidad con ningún tema ni plugin, hasta ahora.Remove Unused CSS
– ACTIVADO – Si, además de optimizar el CSS específico para cada página, permites que WP Rocket elimine el CSS innecesario en cada una de las páginas, obtienes un tándem perfecto.
Minimizar archivos JavaScript
– DESACTIVADO – Igual que con el minimizado de CSS, y por el mismo motivo.Combinar archivos JavaScript
– DESACTIVADO – Este ajuste unifica todos los archivos JavaScript en uno solo, no suele romper nada, pero suele resultar en tiempos de carga más lentos, y penalizaciones por este motivo de los analizadores de página, como PageSpeed.Cargar archivos JavaScript de manera diferida
– ACTIVADO – Casi siempre deberías probar a activar este ajuste, pues lo que hace es cargar los archivos JavaScript a medida que son necesarios, pero después de activarlo prueba que funcione todo correctamente en tu web, en los cursos y lecciones de LearnDash, aunque en los sitios que mantengo nunca he detectado problema alguno.Retrasar la ejecución de JavaScript
– DESACTIVADO – En este caso, debido a la gran dependencia de LearnDash en montón de código JavaScript, activar este ajuste puede hacer que no funcionen correctamente los indicadores de progreso de los alumnos y las calificaciones en tiempo real, así que déjalo desactivado.
De nuevo, resumiendo, lo tienes fácil…
Medios
En la sección de ajuste de optimización de medios la cosa es sencilla: ACTIVA TODO.
No hay ninguna incompatibilidad y siempre mejora la experiencia de carga el hecho de aplazar la carga de medios a medida que se necesiten.
Otro ajuste de WP Rocket de esta sección que es oro puro es el de «Add missing image dimensions», un error muy habitual que detectan las métricas web principales y que esta joya de plugin arregla con este simple clic.
Por resumir:
En el apartado de imágenes e iframes a excluir de LazyLoad, en la captura verás unos ejemplos típicos, que debes sustituir por el nombre de los archivos de tu sitio que se muestran nada más cargar las páginas, y que no deberían esperar a hacer scroll para mostrarse, como el logo de la web, cabeceras de página, etc.
Es importante detectar estas imágenes y añadirlas a la lista de exclusión para una buena experiencia de navegación.
Precargar
Esta sección de ajustes de WP Rocket es la fuente de un montón de malas decisiones, y he visto más webs caídas por estas configuraciones de las que quiero recordar. Te explico que hace cada apartado, y cómo considero que debes configurarlo, expresamente para LearnDash, y casi cualquier web:
Activar la precarga
– DESACTIVADO – Este ajuste precarga en la base de datos las consultas necesarias para lanzar todos los contenidos indicados en el mapa del sitio. Esto significa que si algo no está en el mapa del sitio no se precargará, pero es algo que debes configurar en tu plugin de SEO. La parte negativa de este ajuste es que genera un consumo excesivo de recursos, para la posibilidad de servir páginas que, igual, no se van a visitar en la sesión actual.Habilitar la precarga de enlaces
– DESACTIVADO – Lo mismo que antes, pero en este caso WP Rocket, en cada visita, precarga la página enlazada sobre la que cada usuario pase el cursor por encima, para que si termina haciendo clic esta cargue más rápido, desde la caché. Este ajuste consume muchísimos recursos del servidor, y en alojamientos compartidos, e incluso servidores más grandes, puede disparar el consumo de RAM y CPU hasta llegar a tirar abajo la web. Salvo que tengas más RAM y núcleos de procesador que Amazon mejor déjalo siempre inactivo.Precarga de direcciones DNS
– DESACTIVADO – Salvo que necesites cargar recursos externos de forma consistente (analítica, etc.) no lo actives, y menos para las fuentes de Google, que deberías alojar localmente siempre sí o sí.Precargar fuentes
– ACTIVADO – En esta caja, siguiendo el ejemplo del marcador que muestra WP Rocket, indica la ruta relativa de las fuentes alojadas localmente, pues este ajuste ayuda a cargar más rápidamente las tipografías de la web.
Reglas avanzadas (de caché)
En esta sección hay una regla sencilla que debes aplicar cuando uses LearnDash: Desactiva la caché en todas las páginas de LearnDash.
Como LearnDash genera contenido dinámico en casi todas sus páginas (contenido que se actualiza en cada carga de página y/o es único para cada usuario), no debes almacenar en caché estas páginas pues podría provocar que tus usuarios vean contenido desactualizado o incorrecto, tengan dificultades con el progreso del curso, posiblemente tengan problemas para iniciar sesión y otros muchos problemas.
¿Qué es «una página de LearnDash»?
Fácil, todas aquellas páginas que crea el asistente de configuración de LearnDash y/o contienen algún shortcode o bloque de LearnDash:
- Todas las páginas de cursos
- Todas las páginas de lecciones
- Todas las páginas de debates
- Todas las páginas de cuestionarios
- Todas las páginas de grupos
- Todas las páginas de tareas y ensayos
- Cualquier página con un bloque o shortcode de LearnDash. Por ejemplo:
- El bloque de perfil de LearnDash o
[ld_profile]
- El bloque de lista de cursos de LearnDash o
[ld_course_list]
- Cualquier otro bloque o shortcode, como
[student]
o[visitor]
- Todos los shortcodes de plugins adicionales complementarios de LearnDash
- El shortcode
[ld_propanel]
- Las páginas de acceso, registro, perfil y confirmación personalizadas (cualquier otra cosa que no sea
wp-login.php
)
- El bloque de perfil de LearnDash o
Lo bueno es que WP Rocket permite excluir estas páginas del almacenamiento en caché fácilmente, simplemente añadiendo sus slugs en la caja de exclusiones de este apartado que, si usas los enlaces permanentes por defecto, serían estos:
/courses/(.*) /lessons/(.*) /topic/(.*) /quizzes/(.*) /groups/(.*)
Pero esto no es una lista completa. Por ejemplo, si creaste una página «mis cursos» en midominio.com/mis-cursos/
, tendrás que añadir /mis-cursos/
a esa lista.
También, si añadiste el bloque de perfil de LearnDash a la página de «Mi cuenta» de WooCommerce, y está utilizando la página de cuenta por defecto de WooCommerce, tendrás también que añadir /my-account/
o /mi-cuenta/
a esa lista, según el caso.
Como verás, el concepto es sencillo, pero tienes que revisar las páginas, para no dejarte nada.
Base de datos
Aquí no deberías tener dudas, da igual el sitio que estés optimizando, siempre optimiza la base de datos, y programa para que se haga a diario, también para LearnDash.
HeartBeat
La funcionalidad HeartBeat de WordPress realiza demasiadas comprobaciones por defecto, que puedes controlar con WP Rocket, y debes hacerlo.
En concreto, para su uso con LearnDash, la configuración que he encontrado perfecta es esta:
Controlar Heartbeat
– ACTIVADO – Para poder configurar los siguientes ajustes.Comportamiento en backend
– DESACTIVAR – En la administración de WordPress es totalmente innecesario tener activo Heartbeat.Comportamiento en el editor de entradas
– DESACTIVAR – Innecesario siempre.Comportamiento en frontend
– REDUCIR ACTIVIDAD – En el caso de LearnDash, conviene reducir la actividad de Heartbeat a cada 2 minutos, reduciendo así el consumo de recursos pero manteniendo la funcionalidad de comprobación de modificaciones de página.
Add-on
El uso de una CDN, como la de CloudFlare, siempre es recomendable, da igual el tipo de web, y no conlleva ninguna incompatibilidad, tampoco si usas LearnDash. Desde esta sección de WP Rocket puedes activar la caché completa de página de CloudFlare solo con activar la casilla correspondiente y rellenar los campos con los datos de tu cuenta.
Herramientas
Esta sección seguro que no la has mirado nunca, y resulta que en ella hay una configuración de mejora de rendimiento más que interesante, me refiero a la herramienta de optimización de de Google Fonts.
No es una casilla que debas tener activa, es una optimización que hace WP Rocket una sola vez, y que no tendrás que volver a usar salvo que cambies de fuentes de Google.
Por supuesto, solo es interesante usarla si cargas fuentes desde Google Fonts y es interesante porque cuando utilizas Google Fonts en tu web pasa esto:
- Hay una solicitud HTTP inicial a la hoja de estilo de fuentes de Google, alojada en
fonts.googleapis.com
. Generalmente hay 1 solicitud por fuente que hayas elegido. - Luego, desde dentro de esa hoja de estilo, se hace referencia a la fuente en sí y debe descargarse, desde
fonts.gstatic.com
Pues bien, si pulsas en el botón de «Optimizar Google Fonts» de esta página de herramientas, pasa esto:
- Si hay varias solicitudes a Google Fonts en la página, se combinarán en una sola solicitud. Esto reducirá ligeramente la cantidad de solicitudes HTTP generales.
- Añade el parámetro
display=swap
a la solicitud para satisfacer la recomendación de PageSpeed de garantizar que el texto permanezca visible durante la carga de la fuente web . Esta optimización se aplicará incluso si solo hay una solicitud de fuentes en la página. - Precarga y carga el archivo de fuentes de Google de forma asincrónica (es decir, sin bloquear la visualización)
- Añade el parámetro
preconnect
a la solicitud para mejorar el tiempo de carga de las fuentes, así:<link href="https://fonts.gstatic.com" crossorigin rel="preconnect" />
Esta optimización se aplica solo en páginas optimizadas/en caché, pero optimiza el uso de fuentes de Google.
Y ya, con eso estaría.
Por supuesto, puede haber casos especiales, y ninguna optimización es válida para todas las webs, pero espero que esta orientación, basada en mi experiencia, te ayude a optimizar correctamente tu web de cursos creada con LearnDash, usando el plugin WP Rocket.
Sino, siempre puedes contratarme para que mantenga tu web y te ayude con esas pequeñas cosas que surgen en el vivir diario de una web.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!