¿Cómo funciona un CDN? ¿Solo sirven para sitios web con muchas visitas? ¿Es muy difícil instalar y configurar uno? Si tienes éstas y otras preguntas sobre CDN’s, este artículo te ayudará a conocerlos y a instalarlo. Con KeyCDN en WordPress, uno de los mejores del mercado, comprobarás que no es tan difícil y que cualquier sitio web puede aprovechar sus beneficios.
Tiempo medio de lectura: 14 min (4.100 palabras).
Si no tienes tiempo ahora, puedes saltar directamente a las conclusiones del artículo.
Tabla de contenidos
Sin saber lo que es, decir que CDN son las siglas de “Content Delivery Network” (red de distribución de contenido) nos puede dejar con la misma cara (de póker). Y decir que permite acelerar la velocidad de navegación sería una simplificación demasiado injusta: no es una varita mágica que, al blandirla, hace que nuestras páginas descarguen más rápido sin más.
Así que, para evitar malentendidos o confusiones, dejadme que lo diga bien fuerte y remarcado:
“Un CDN NO sirve para que tu sitio web vaya más rápido”
“Pero, ¿qué me estás contando, Antonio? ¡Todo el mundo me dice que meta un CDN para aumentar la velocidad de mi web! ¿Acaso me están mintiendo?”, estaréis pensando muchos.
No, tranquilízate, no te están mintiendo, pero lo que quiero enfatizar con esta frase es que un CDN no va a convertir tu (lento) servidor de hosting web en uno raudo y veloz en un simple chasquido de dedos.
Si tu servidor es lento e ineficiente, la utilización de un CDN podrá mitigarlo en parte, pero ese servidor seguirá siendo lento e ineficiente, lo que limitará las posibilidades de expansión que el CDN podría conseguirte.
Si tienes un servidor de hosting lento, el CDN camuflará parte de sus limitaciones pero llegará un momento en que no podrá compensar su ineficiencia. Por ejemplo, acceso lento a bases de datos, líneas de conexión con ancho de banda muy limitado o mala asignación de recursos del servidor, sobre los que poco o nada puede hacer un CDN.
Tarde o temprano, tendrás que enfrentarte a estas limitaciones de tu servidor de hosting. Y, créeme, mejor hacerlo lo antes posible, cuando aún te planteas si necesitas un CDN, que hacerlo cuando ya lo tienes instalado y entonces quizás tengas que reconfigurarlo todo de nuevo (por ejemplo, porque hayas cambiado de proveedor).
Por eso, antes de enfrascarte en instalar y configurar un CDN, asegúrate primero en conseguir el mejor proveedor de hosting y en optimizar tu gestor de contenidos para conseguir las máximas prestaciones. Sólo cuando lo hayas conseguido, decídete a instalar el CDN.
Por tanto, si el CDN no “acelera” nuestro servidor web, ¿cómo crea la “ilusión” de que va más rápido?
En líneas generales, y sin entrar en aspectos técnicos, un CDN consigue mejorar la velocidad de navegación de un sitio web gracias a las dos siguientes características:
Así, cuando un usuario visita una de nuestras páginas, aunque nuestro servidor web es el que entrega la página web al usuario, el resto de elementos que forman parte de ésta (por ejemplo, las imágenes) se descargan desde los servidores del CDN.
No olvidemos que el CDN guarda una copia de las imágenes de nuestro sitio web; es decir, no las optimiza. Debemos ser nosotros los que debemos asegurarnos de optimizar las imágenes de WordPress antes de publicar y difundir un post en el blog.
Como resultado de esta combinación, aunque el código de la página web se genera y descarga a la misma velocidad (lo sigue haciendo nuestro servidor web), el resto de recursos sacarán provecho de las prestaciones de los servidores CDN, redundando en una navegación más rápida desde el punto de vista del usuario.
Por tanto, no es que nuestro servidor “vaya” más rápido, sino que la descarga se reparte entre varios servidores (los del CDN), permitiendo de paso que el servidor web pueda atender mayor número de visitas, al no tener que atender peticiones de los recursos estáticos.
Ante la descripción del duncionamiento de un CPD, podemos sentirnos tentados a pensar que sólo proporciona ventajas si: (1) tenemos un número significativo de visitas provenientes de otros países; y (2) tenemos muchos visitantes.
Sin embargo, un CDN no solo proporciona mejoras en el tiempo de respuesta para visitantes de otros países, que se evitan el retardo de conectar y descargar desde nuestro servidor (generalmente en nuestro país) hasta sus respectivos países, sino que:
Si bien es cierto que un sitio web relativamente nuevo, con pocas visitas y contenidos, observará pocos beneficios de incorporar un CDN, tampoco deberíamos esperar a que “muramos de éxito” para instalar un CDN.
Aunque el proceso no revista apenas complejidad y es bastante rápido, hay que dedicarle algo de tiempo para configurarlo adecuadamente, sobre todo si tenemos algún tipo de desarrollo personalizado en nuestra web que pueda necesitar alguna atención especial.
Por otro lado, la experiencia adquirida mientras utilizamos el CDN durante varias semanas o meses nos vendrá muy bien para cuando aumenten las visitas (porque eso es lo que queremos, ¿verdad? 😉 ) y nos falte tiempo para revisar y comprender todas las opciones de configuración del CDN.
Hace varios meses, publiqué un artículo sobre el CDN CloudFlare, para comprobar si un CDN ofrecía alguna ventaja medible y cuantificable a blogs que no tuvieran un número significativo de visitas y concluí que se podían observar beneficios desde el primer momento que se utilizara este CDN.
¿Estos resultados se pueden extrapolar a KeyCDN?
CloudFlare no es un CDN en el sentido estricto de la palabra, sino que actua como una especie de proxy que, como tal, alojaba una copia estática de nuestro sitio web y atendía directamente las peticiones de los usuarios sirviendo este contenido, actuando como puente entre éstos y nuestro servidor web.
Por su parte, con KeyCDN, un CDN “puro”, nuestro servidor web sigue atendiendo las peticiones de los usuarios para generar las páginas de contenidos, mientras que los servidores del CDN actúan como apoyo para la descarga de los distintos recursos de una página.
Desde el punto de vista de configuración, un CDN como KeyCDN es bastante más fácil de gestionar que uno como CloudFlare, puesto que éste requiere configurar aspectos relacionados con los servidores DNS o registros CNAME que, sin ser excesivamente complejos, sí que es necesario saber qué significan y cómo modificarlos (a través de la pantalla de configuración de nuestro proveedor de dominio).
Con esta diferencia de operación, a priori parece que no deberíamos precipitarnos a concluir que KeyCDN proporcionaría el mismo nivel de mejoras que conseguía CloudFlare. La mejor forma de asegurarlo es instalando KeyCDN y, como hicimos con CloudFlare, analizando la diferencia en la velocidad de descarga del sitio web entre utilizar y no utilizarlo.
A poco que hagamos un búsqueda por Google, podemos encontrar una gran oferta de proveedores de servicios CDN, tanto gratuitos (como CloudFlare, aunque no sea un CDN estrictamente hablando) como de pago (además de KeyCDN, otros como MaxCDN o CDN77).
Ante esta oferta tan amplia, ¿porqué me he decidido por KeyCDN en vez de esos otros? Lógicamente, no puedo instalar y probar todos, así que mi decisión está basada en una serie de características y trabajo de investigación previos con los que fui filtrando los proveedores que me resultaran suficientemente atractivos:
De acuerdo, supongamos que ya tienes un proveedor de hosting de calidad y tu sitio web optimizado para conseguir el máximo rendimiento, y tienes claro que quieres mejorar sus prestaciones con KeyCDN.
Como veremos, el proceso de instalación no reviste demasiada dificultad y, en el caso de que utilices WordPress, disponemos de plugins que hacen aún más fácil esta tarea.
Como cabe esperar, el primer paso es registrarte en el sitio web de KeyCDN, pulsando en el botón “Sign-Up” y rellenando el formulario de alta:
Hay que tener en cuenta que KeyCDN no es un servicio gratuito, sino que ofrece un periodo de prueba de 30 días, por lo que crear la cuenta solo cuando dispongáis de un par de horas (sobradísimo, la mayoría de las veces) para dedicarle a su instalación y configuración.
Parece una tontería, pero si lo dejáis para “otro día”, lo más probable es que de repente surjan mil cosas que hacer cada día y, cuando te quieras dar cuenta, resulta que apenas te quedan unos pocos días para terminar el periodo de pruebas, sin que hayas podido probarlo y comprobar si realmente te proporciona algún beneficio.
Una vez registrado, accedes directamente a la vista resumen del Panel de Control de KeyCDN, con la información de uso del servidor CDN y el crédito (cuota) que nos queda:
Lo primero que hay que hacer con KeyCDN es crear y configurar una zona, que servirá para almacenar y localizar en el CDN los recursos (esto es, ficheros) de nuestro sitio web.
Disponemos de dos modalidades de zona, en función de cómo estos recursos se cargan en el servidor CDN:
Por comodidad y seguridad (no tenemos que preocuparnos de actualizar los servidores CDN), la mayoría de los sitios web utilizarían el modo Pull. El modo Push quedaría reservado para sitios web que tenga ficheros de gran tamaño (mayores de 10 Mb), pues está optimizado para gestionarlos eficazmente. De hecho, el tipo Pull no soporta ficheros de más de 100 Mb.
Cuando pulsamos en la opción de menú “Zones”, obtenemos el siguiente formulario:
No hay mucha complicación para rellenar este formulario. Cada campo es casi autoexplicativo:
Un apunte importante en este formulario. Si la dirección de vuestro sitio web no es HTTPS, no necesitáis hacer nada más, pero si lo fuera, debéis seleccionar también la opción SSL-Shared en las Características Avanzadas (“Show Advanced Features”):
Las otras opciones SSL (custom y letsencrypt) también serían válidas, pero debemos hacer operaciones adicionales para tener nuestro propio certificado. Con SSL-Shared, ¡seleccionamos y listo!
Una vez creada la zona, KeyCDN nos la muestra:
En esta tabla, caben destacar dos datos:
Pasados unos minutos, el estado de la zona pasará a “active”, indicando que desde ese momento ya se pueden disponer de los recursos en los servidores CDN:
Para comprobar que, efectivamente, está funcionando el servicio CDN, tan solo tenemos que escribir la URL de la zona (afalonso-7830.kxcdn.com) con la ruta de cualquier de nuestros recursos estáticos.
Por ejemplo, para la imagen https://www.afernandezalonso.com/wp-content/uploads/2016/03/optimizar-acelerar-wordpress.png de mi sitio web, utilizaría la dirección http://afalonso-7830.kxcdn.com/wp-content/uploads/2016/03/optimizar-acelerar-wordpress.png
Ahora bien, aunque tenemos nuestros recursos estáticos en los servidores CDN, desde nuestro sitio web se siguen refereciando a las direcciones locales de dichos recursos; es decir, a las copias que tenemos en nuestro servidor de hosting.
El siguiente paso, por tanto, es configurar nuestro gestor de contenidos (WordPress, en nuestro caso), para indicar desde dónde se deben descargar esos recursos.
Durante la creación de la zona, seguramente os habréis preguntado que, dado que los recursos en la CDN tendrán una nueva URL, si eso significa que hay que actualizar todos los enlaces a nuestros recursos locales para que apunte al CDN…
La respuesta es sí… ¡pero no! En efecto, debemos referenciar a los recursos en los servidores CDN, pero no tenemos que ir (¡Dios nos libre!) enlace a enlace para actualizarlo. Afortunadamente, tenemos un plugin que hace gran parte del (duro) trabajo, CDN Enabler, que es el plugin oficial de KeyCDN:
Un aspecto muy a tener en cuenta cuando utilicemos este plugin: si estamos utilizando algún plugin de caché, posiblemente (casi con total seguridad) debamos configurarlo para indicarle que estamos utilizando un servicio CDN.
Por tanto, debemos revisar la documentación y opciones del plugin de caché para comprobarlo. En general, para la mayoría bastará con indicar la URL de nuestra zona y quizás alguna opción adicional.
Además de CDN Enabler, KeyCDN ofrece dos plugins para mejorar aún más el rendimiento de la combinación de nuestro sitio web con los servidores CDN:
Sin embargo, como desde el principio he recomendado que antes de instalar un CDN debemos tener optimizado nuestro sitio web (lo que incluye comprimir imágenes y utilizar un caché), la utilidad de estos dos plugins es muy limitada y prefiero utilizar plugins más especializados.
Una vez hemos instalado y activado CDN Enabler, podemos pasar a configurarlo. Su formulario de configuración es muy sencillo:
La configuración por defecto es válida para la mayoría de sitios web, a excepción de la URL del CDN, donde copiáremos la URL de zona que nos asignó KeyCDN.
El resto de opciones debemos modificarlas según las características de nuestra web pero, en general, son válidas para la mayoría, salvo que tengamos desarrollos a medida o plugins que tengan otras especificaciones.
La precaución que debemos tener es indicar, en “Included Directories”, los directorios donde tengamos almacenados recursos estáticos (imágenes, documentos, ficheros de estilo, etc.) y, en “Exclusions”, las extensiones de los ficheros de código o scripts de servidor (aparte de los .php de WordPress).
Además, también debemos activar la opción “CDN HTTPS” si tenemos instalado un certificado en nuestra web, junto con la opción SSL-Shared activada (o la que hayamos elegido) en la configuración de zona de KeyCDN:
Ahora viene una pregunta crucial: ¿cómo sabemos que el plugin está funcionando y que los recursos de nuestras páginas se descargan desde los servidores CDN?
Tampoco es que seamos (muy) desconfiados, pero siempre gusta tener algún sistema para comprobar que las cosas funcionan como deben funcionar… sólo por si acaso.
Nada más fácil: basta que naveguemos a cualquier página de nuestro sitio web y pinchemos con el botón derecho sobre alguna imagen (por ejemplo, la página https://www.afernandezalonso.com/recopilacion/12-posts-marketing-digital-marzo-2017/ ), que sepamos que está almacenada en nuestro servidor, y pulsamos la opción “Abrir imagen en nueva pestaña”:
(Decididamente, debería plantearme utilizar el sistema operativo en español…). Cuando se abre la imagen, en la barra de texto deberíamos ver la URL de la imagen con la dirección de nuestra zona; es decir: http://afalonso-7830.kxcdn.com/wp-content/uploads/2017/04/recopilacion-marketing-digital-marzo-2017.png
Si no aparece la dirección URL de la zona, debemos asegurarnos que no nos hemos saltado ningún paso ni opción, tanto al configurar la zona en KeyCDN como el plugin CDN Enabler en –WordPress.
En caso de que estéis utilizando un plugin de caché (y deberías usarlo… lo sabes 😉 ), revisad si necesita alguna configuración específica para utilizarlo con un CDN (lo más seguro), aunque también podéis desactivarlo temporalmente y comprobar entonces si la imagen carga desde los servidores CDN.
Como véis, la instalación y configuración es muy sencillita pero, claro, ahora queremos saber cuánta mejora hemos obtenido con el CDN.
Para ello, vamos a utilizar las herramientas PageSpeed Insights, Pingdom Tools y GTMetrix para medir la diferencia en el rendimiento del sitio web entre utilizar KeyCDN y no utilizarlo.
Dado que el artículo de CloudFlare incluía una descripción técnica bastante detallada de cómo interpretar los informes de cada una de estas herramientas, para este caso me voy a limitar a indicar los valores finales y os remito a dicho artículo si queréis conocer esos detalles técnicos y cómo interpretarlos.
A diferencia de CloudFlare, que había que esperar que se propagaran los cambios en los valores de los DNS para comparar los resultados con y sin el CDN, con KeyCDN se pueden hacer las mediciones y los cambios en secuencia y sin necesidad de esperar para observar los efectos en la velocidad del sitio web.
Para tener una medición lo más independiente posible, durante la ejecución de las distintas herramientas tenía desactivado el plugin de caché, con el fin de que el posible efecto del CDN fuera más evidente.
Se obtiene una mejora entre el 5% y el 8%, que recae exclusivamente en el tiempo de respuesta del servidor. Observad que, dado que el sitio web está optimizado, el único factor que PageSpeed sugiere mejorar es el parámetro de cacheo del navegador. Sin embargo, al tratarse de un fichero externo (debido a un plugin), no es posible obviarlo.
En el caso de Pingdom, la mejora apenas alcanza a una décima de segundo, algo menos de un 10% más rápido, mientras el resto de factores (resumidos en la métrica “Performance grade”) permanece invariable.
Los resultados de GT-Metrix son algo sorprendentes. Mientras que las puntuaciones de rendimiento son iguales (82% y 81%), sin CDN la página tarda más del doble en cargarse completamente.
Revisando el cronograma de descarga de los distintos recursos de la página, uno de ellos (un fichero imagen) produce este retardo, aunque no acabo de comprender porqué no afecta, aunque sea mínimamente, a las puntuaciones.
Para comprobar si mejora la velocidad de descarga cuando se accede al sitio web desde puntos geográficamente alejados del servidor web (localizado en España), utilizaremos la herramienta Web Page Test, que permite indicar desde qué servidores se hacen los accesos.
GT-Metrix y Pingdom Tools también tienen esta opción, pero Web Page Test tiene mayor número de servidores y permite simular varias versiones de navegador. Además, así podéis conocer otra herramienta para vuestros propios análisis, que incorpora información adicional no recogidas por las anteriores.
En este caso, la diferencia en la velocidad de descarga de la página completa es de cerca de un segundo, algo más de un 10% más rápido.
Normalmente, la decisión de instalar un CDN se aplaza hasta el momento en que tenemos muchas visitas o un porcentaje significativo de éstas viene del extranjero. Sin embargo, si esperamos a ese momento, nos podríamos encontrar en una situación en que debamos tomar decisiones en poco tiempo y, con las prisas, no elijamos bien.
Por este motivo, que comprendamos cuanto antes qué es y hace un CDN, los beneficios que nos pueden ofrecer y su impacto en la velocidad de un sitio web nos ayudará a que no tomemos decisiones precipitadas o configuremos inadecuadamente el CDN.
KeyCDN es un proveedor de servicios CDN con varios años de experiencia en el mercado, con un amplio repertorio de características y funcionalidades, mayor que el de la competencia, un precio muy ajustado y un proceso de instalación y configuración en WordPress rápido y sencillo.
En este artículo hemos repasado el proceso básico de instalación y configuración de KeyCDN, válido para la mayoría de los sitios webs pequeños y medianos. Además, también hemos visto cómo configurar WordPress para que lo utilice sin necesidad de que tengamos que modificar nada de nuestro contenido ya existente.
Finalmente, la duda más habitual al utilizar un CDN se refiere a su utilidad efectiva para sitios webs con pocas visitas. Por eso, hemos visto los informes de rendimiento de las herramientas de análisis más conocidas (PageSpeed Insights, GT-Metrix, Pingdom Tools y Web Page Test).
La mayoría de los tests arrojan beneficios como resultado de utilizar KeyCDN. En general, no son muy espectaculares (alrededor del 10%), pero ya dan una idea de que, a medida que aumenten el número de visitas y que éstas vengan de otros países, el porcentaje de mejora también irá subiendo paulatina y de forma acorde.
Cuéntanos tu experiencia con los CDN’s. ¿Cuál utilizas? ¿Qué mejoras has observado desde que lo instalaste? ¿Qué características de un CDN te parece más eficaz? ¿Lo recomendarías para cualquier sitio web o solo si tienen muchas visitas, incluidas desde el extranjero?
Imágenes: freepik, elaboración propia.
Expectación inminente por el final del concurso VDR Quedan pocos días para que concluya el…
Identidad e imagen: dos visiones de una marca La marca conglomera productos y servicios de…
Cómo trabajar en casa, ¿estamos mentalizados para hacerlo? Sea empleado, autónomo o teletrabajador, tener la…
De nada sirve crear buenos contenidos si no los difundimos y promocionamos adecuadamente en Redes…
¿Consigues tus objetivos de negocio con el Email Marketing? Gracias al Email Marketing enviamos a…
Enamorar al usuario sin invadirlo Necesitamos conseguir nuevos clientes. Sin duda. Pero también gestionar nuestro…