Content distribution network ⇒Content delivery network ⇒ Red de entrega de contenidos ⇒ CDN
Cuando hablas sobre qué factores son o no importantes en el SEO, descubres que cada profesional tiene su opinión y experiencia, que existen muchos mitos y leyendas pero también muchas verdades demostradas y factores indiscutibles.
Hoy quiero referirme a uno de esos factores indiscutibles: la velocidad y su efecto en el Posicionamiento SEO.
Cuando se realiza una auditoría Web y un trabajo de WPO (Web Performance Optimization) la velocidad de respuesta de una web es uno de los factores principales a medir.
En especial nos fijaremos en métricas tan críticas para el posicionamiento y la usabilidad como el TTFB (Time to First Byte) o lo que tarda un site desde que hacemos una solicitud hasta que llega el primer byte de información a nuestro navegador.
Es fácil ver que no es lo mismo una que otra métrica, el Load Time (LT), es lo que tarda la página en ser cargada para ser utilizable por el browser.
Hago esta distinción de métricas porque cuando buscamos como mejorar la velocidad de nuestro blog encontraremos tres consejos básicos: buscar un hosting de calidad, activar compresión gzip y optimización del código de programación.
Todos ellos son ciertos, pero debemos aclarar que, por ejemplo, activar la compresión gzip no mejorará un TTFB malo, pero si mejorará el LT.
En nuestro afán de explicar las cosas de forma sencilla, podemos hacer caer a la gente en equívocos, y toda solución suele ser más compleja de lo que creemos.
Sin duda, otro de los consejos que te habrán dado para mejorar la velocidad de tu blog en WordPress es que te instales un plugin de caché. Y es cierto, pero un plugin de caché mal configurado puede ser incluso perjudicial.
Hace poco un cliente me pidió ayuda para configurar uno de estos plugins, en particular el conocido W3 Total Caché.
Tras configurarle correctamente el plugin, llegamos a una sección de su configuración que pese a ser la principal característica de este, es la menos utilizada. Este plugin es fácilmente integrable con una CDN.
Lo curioso es que pocas veces veo este apartado configurado y muchas veces confirmo que ni tan siquiera los usuarios de este plugin saben qué es una CDN.
Pues bien, esa es la razón por la que me he decidido a escribir este artículo.
No todos las webs son blogs, ni todos los blogs están hechos con Wordpress, así que, no trataremos hoy la configuración correcta del plugin W3 Total Caché, sino que hablaremos de usar una CDN, independientemente de como esté programada tu web.
Para empezar, voy a mostrarte un ejemplo para motivarte en la lectura de este artículo.
Velocidad de Wordpress con o sin CDN
Mi Wordpress antes de configurarlo para usar una CDN y sin el plugin de caché. Tiempo de carga total 5,74 segundos desde Amsterdam:
Ahora veamos los números del mismo web tras configurar una CDN gratuita y sin plugin de caché. Tiempo de carga total 2,10 segundos desde Amsterdam:
Una mejora de 3,64 segundos!
Si los resultados te han sorprendido o convencido, sigamos adelante y disculpa que me permita algunas licencias algo técnicas para explicarte mejor las ventajas y funcionamiento de una CDN.
¿Qué es una CDN?
Una CDN es una red de distribución de contenidos (Content Delivery Network en inglés). Se basa en una serie de servidores diseminados por todo el globo y que contienen una versión del contenido estático (imágenes, css, javascript) de nuestra web.
Así, cuando una persona visita nuestra página, recibe la información desde el servidor más cercano geográficamente a esta, obteniendo así una respuesta más rápida al enviar los datos, ya que reducimos distancias y evitamos saltos intermedios.
Además de bajar la carga de tu servidor, al usar una CDN los usuarios de todo el mundo tendrán mejores tiempos de carga y por tanto una mejor experiencia de usuario a nivel global.
Cada servicio de CDN es distinto, y hay muchos, tanto gratuitos como de pago.
Serán más rápidos o no, según en qué regiones te encuentres. Todo esto depende del número de servidores de que disponen y de donde están situados.
En la imagen siguiente vemos un esquema de una CDN de ejemplo.
En este caso el servicio tiene buena cobertura en China y USA, pero tiene un solo servidor en Europa y ninguno en España, lo cual hace que no sea una buena CDN para un website si nuestro público objetivo es español o europeo.
Lo que sí queda claro es que una web irá más rápida al visitarla desde USA o Australia, si está dentro de esa CDN, que si se encuentra en un Hosting español.
¿Para qué sirve una CDN?
Hasta ahora queda claro, solo por definición, que una CDN debe mejorar la velocidad de respuesta y carga de nuestra web desde otros puntos del planeta.
Supongamos ahora que nuestra web la ponemos en una CDN con un servidor, ahora si, en España.
Si nuestro Hosting de siempre ya estaba localizado en España ¿qué ventaja hay para mis visitantes Españoles?
Dicho de otro modo, ¿vale la pena usar una CDN si la velocidad a la que se carga mi web para un posible visitante en China nos da igual?
La respuesta es SÍ… y una razón es la carga en cascada.
Para explicarlo de forma sencilla, debemos saber que nuestro navegador acepta una cantidad limitada de transferencias HTTP simultáneas desde un servidor.
Veamos el proceso de carga de http://clayvic.es con el aspecto típico de carga en cascada:
Para este ejemplo, hemos deshabilitado la caché para forzar al navegador a descargar todo lo necesario desde el servidor para poder procesar la página.
Cuando introducimos la dirección en nuestro navegador, el servidor manda el primer Byte de información (TTFB) 724 ms después. Como vemos, a partir de ahí, hay procesos que no se pueden iniciar hasta que algunos acaban.
Por ejemplo, los procesos 4, 5, 6 y 7 se ejecutan simultáneamente en 100 ms, pero los procesos siguientes no empiezan a ejecutarse hasta que los procesos anteriores no finalizan y dejan un espacio de transferencia libre para ser usado.
Por eso el gráfico tiene forma de escalera o cascada.
Si todos los procesos se ejecutaran a la vez, el tiempo de carga total sería igual al proceso que más tardase en ser completado y no tendría forma de escalera.
Sigamos con el ejemplo anterior.
Tras el primer Byte la tarea más lenta es la número 33 con 852 ms de duración, es decir, si todas la tareas fuesen simultáneas, la web tendría un Tiempo de Carga total de poco más de 1‘5 segundos en lugar de más de los 3’4 segundos que muestra el gráfico.
Pues bien, una CDN además de aproximar geográficamente el servidor, permite la descarga de más tareas simultáneas, puesto que consta de múltiples servidores de los que descargar a la vez, una vez configuremos nuestros servidores de nombre (DNS) para usar la CDN.
Es por ello, que incluso si nuestro hosting estaba en España, si visitamos desde España la web dentro de la CDN, mejora el Tiempo de carga total de nuestra página.
Esto pasa porque en esa situación se realizan más tareas de descarga a la vez, reduciendo el efecto de la carga en cascada y por tanto el tiempo de carga final de la página.
¿Qué CDN elijo?
Hay muchos servicios de CDN, y los factores principales que debes considerar a la hora de elegir el tuyo debe ser el coste y localización física de los servidores.
Voy a profundizar en dos servicios CDN en particular, Cloudflare y Amazon CloudFront, pese a que servicios como MaxCDN, CacheFly o Liquid Web son ejemplos de buenos CDN premium.
Tanto Cloudflare como Cloudfront tienen la posibilidad de uso gratuito, pese a tratarse de servicios Premium y que ofrecen todas sus capacidades en su modalidad de pago.
Ambos son servicios de gran calidad pero representan servicios muy diferentes tanto en su funcionamiento como en a quién están orientados.
El servicio de Amazon es un CDN de estructura clásica, con cierta dificultad de configuración pero con muchas más posibilidades de ajuste y prestaciones puras.
Es el servicio que recomiendo cuando el conocimiento o soporte técnico necesario para hacerlo funcionar correctamente está a nuestra disposición.
Cloudflare no es un servicio de CDN puro como tal, sino que es un CDN que pese a funcionar perfectamente trabajando por sí solo, es fantástico para complementar a otros servicios CDN como el de Amazon.
De hecho, esto queda claro al ver que en las opciones del plugin W3 Total Cache hay lugar para la configuración simultánea de ambos servicios.
En mi caso, decido según cada proyecto qué servicio de CDN es el más adecuado y cuándo usar los dos es aconsejable.
La principal diferencia entre ambos es que CloudFlare automáticamente optimiza qué debe estar en caché y qué no, mientras que en CloudFront eres tú quien especifica qué contenido y bajo qué circunstancias debe ser cacheado, de ahí su mayor potencia pero mayor dificultad de configuración.
Mi consejo: Si solo buscas mejorar la velocidad de descarga de una web y que los contenidos estén disponibles lo más cerca posible de quien te visita, seguramente con CloudFlare tendrás más que suficiente.
Otras ventajas de una CDN
Al usar CloudFlare no solo estás usando un servicio de CDN sino que, por ejemplo, automáticamente y sin ningún tipo de acción por tu parte, también estás protegiendo tu web contra ataques DDos (denegación de servicio).
Y todo ello con un panel de control donde se nos indica cuándo y desde dónde vino el ataque.
Este panel de control es una fantástica herramienta de análisis de tráfico que complementa a Google Analytics y posee una gran cantidad de aplicaciones para integrarlo con otras aplicaciones de terceros.
¿Cómo afecta una CDN al SEO?
Hay cuatro factores que se verán afectados por usar una CDN, y en particular Cloudflare: Seguridad, velocidad, SEO local y contenido duplicado.
Una CDN mejora nuestra seguridad y disponibilidad ante ataques de denegación de servicio (DDoS), técnica considerada como SEO Negativo, pero que realmente es una práctica generalizada de Hackeo.
Se basa, de forma sencilla, en enviar cantidades masivas de tráfico a un servidor hasta que la línea queda saturada y el servidor es incapaz de enviar datos.
Con CloudFlare, todo el tráfico que normalmente atacaría tu servidor directamente y lo bloquearía, se distribuye automáticamente por toda la red de servidores. Con todo este tráfico distribuido, el efecto se diluye y es mucho más difícil hacer caer tu servidor.
Velocidad, queda claro que Google considera todo factor que mejore la experiencia de usuario muy positivamente, y siendo la velocidad una de las cosas que mayor impacto tienen sobre una experiencia satisfactoria, queda claro que la mejora de velocidad mejora nuestro posicionamiento y la especialidad de una CDN es precisamente mejorar nuestra velocidad de servicio.
Al cambiar los DNS de tu hosting por los de CloudFlare la dirección IP pública dejará de ser Española.
Al contrario de lo que muchos creen la dirección IP no es un factor para tu SEO Local.
Los factores que realmente importan en el SEO local son tu TlD (es decir, si tu web es un .es o un .uk), las etiquetas hreflang y la declaración de tu audiencia en Google Search Console.
Tener tu dominio .es en un servidor de Finlandia, si este tiene la misma velocidad que uno Español, no posiciona peor en Google España si todo lo demás está bien configurado.
Lo que sí hace, como mucho, es reforzar tu SEO Local en otras partes del globo al mejorar la velocidad de acceso a tu información desde allí.
Cabe destacar que este es un punto importante para toda web con ámbito internacional.
Nos queda la duda del contenido duplicado.
Está claro que nuestra información estática reside en muchos servidores repartidos por el planeta, es normal que surja la duda del contenido duplicado.
La respuesta es que en una CDN habrá contenido duplicado, porque estás haciendo muchas copias de tu sitio por toda la red.
La cuestión es si esto penaliza o no, y la respuesta es que no penaliza, puesto que el mismo contenido siempre se presenta en la misma URL independientemente del servidor que te la envía, así que es identificada como única ante los buscadores.
Por supuesto, que éstos detectan que vienen de diferentes direcciones IP, pero esto pasa incluso en webs en un hosting clásico sin darnos cuenta.
La clave para evitar contenido duplicado es una correcta canonización de nuestros contenidos, si fallamos aquí, seremos penalizados tanto en una CDN como fuera de ella.
La correcta configuración del Google Search Console y el uso de etiquetas rel=”canonical” es la manera correcta de evitarlo.
Supongamos un PDF y una página HTML con el mismo contenido.
El contenido de un PDF se indexa y Google detectaría contenido igual en ambas.
Si añadimos en el header del PDF la línea <link rel=”canonical” href=”https://blog.ejemplo.com/contenido.html”/> , Google entenderá perfectamente que el PDF es un duplicado de “contenido.html” y no lo indexará.
En resumen, si nuestra web o blog está bien programada y definida y nuestro CDN bien configurado, no sólo no perjudicará a nuestro posicionamiento, sino que lo mejoraremos.
¿Cómo configuro una CDN en mi página web?
Vamos a hacerlo de la forma más sencilla posible y gratis.
Escogemos en esta ocasión CloudFlare, que es un servicio Saas (Software as a Service), es decir, es una aplicación en la nube a la que accedemos mediante nuestro navegador, como lo son también, por ejemplo, SemRush o Evernote.
Lo primero que debemos hacer es formalizar nuestro registro e indicar qué dominio vamos a usar con CloudFlare.
Vamos a www.cloudflare.com y nos registramos desde “Sign Up Now”.
Introducimos los datos de registro y una vez identificados nos pregunta el dominio (por ejemplo www.midominio.es) que queremos configurar, introducimos nuestra web.
CloudFlare inicia un escaneo y nos enseña los registros DNS que ha conseguido de tu servidor de hosting.
No te agobies y no toques nada si no sabes de registros DNS, continúa con la instalación.
Ahora deberás seleccionar un plan de suscripción. Para probar el servicio, usamos la opción gratuita.
En el último paso, CloudFlare te muestra los DNS que tienes que introducir en tu proveedor de hosting, esto lo haces mediante tu panel de control de tu hosting. Recuerda hacer una captura de pantalla de tu configuración actual o anotarlos por si quieres volver a la situación inicial fácilmente.
Cuando le des a “continue” todo estará listo y solo faltará que cambies tus DNS en tu hosting, esperar unas horas para que se repliquen los cambios y listo.
Lo mejor es que solo cambiando los DNS que usas en tu hosting estarás o no dentro de la CDN. No puede ser más sencillo.
Fotos ( geographic market segmentation): Shutterstock
Espero que este artículo te haya convencido de las bondades de una CDN y te animes a probarlo.
Si ya estás usando una te agradecería que me hicieses llegar tus experiencias.
Si el tema os parece lo suficientemente interesante podemos ampliarlo en el futuro, tratando la configuración de servicios más avanzados como Amazon CloudFront o como configurar de forma correcta el Plugin W3 Total Caché en WordPress para su uso con una CDN.