Oferta SiteGround Black Friday

¿Qué es eso del Time To First Byte?

Si usas herramientas para medir el rendimiento de tu web como Pingdom Tools, GTMetrix y otras habrás visto un parámetro llamado Time To First Byte, abreviado TTFB, y traducido sería Tiempo Hasta el Primer Byte. Pero ¿sabes qué significa? ¿se puede mejorar el resultado que ofrece?

En este artículo vamos a ver qué es esto del Time To First Byte, qué  le afecta y cómo mejorar sus resultados, cómo optimizarlo.

Porque el TTFB es uno de los parámetros que suman tiempo de carga a tu web, a veces más de lo razonable. Veremos por qué y cómo mejorarlo.

¿Qué es el Time To First Byte?

Sin ponernos muy estupendos, para que cualquiera pueda entenderlo, diremos que es el tiempo que pasa desde que pulsas un enlace o tecleas la URL de una web hasta que empieza a cargar su contenido.

Es una medida que nos indica el tiempo de respuesta del servidor o un recurso de red a una petición dada.

Esto significa que el Time To First Byte no solo existe la primera vez que se visita un recurso/url de tu web sino cada vez que se solicita un nuevo recurso/url, afectando notablemente a la percepción de rendimiento y a la usabilidad de tu sitio, ya sea positiva o negativamente.

Como ya habrás podido adivinar, lo primero que hay que tener claro es que:

  1. Un TTFB alto es malo.
  2. Un TTFB bajo es bueno.

¿Qué factores afectan al Time To First Byte?

En lo que a WordPress se refiere, son varios los factores que afectan, positiva o negativamente, al tiempo de respuesta conocido como Time To First Byte, estos:

  • Tiempo de respuesta del DNS
  • Configuración y rendimiento del servidor (PHP y servidor web)
  • Plugins/tema WordPress
  • Si la caché HTML está activa/inactiva
  • Redirecciones

Cada uno de estos factores añaden retardo al TTFB de tu sitio, de cada recurso solicitado de tu sitio, no uno solo, sino el conjunto de todos ellos.

Con esto te quiero decir que no debes enfocarte en mejorar solo uno o dos de estos factores sino que debes optimizarlos todos porque la experiencia de usuario se verá afectada por la suma de todos ellos.

De todos modos vamos a explicar en qué afecta cada uno de estos factores y cómo optimizarlos.

Tiempo de respuesta del DNS

La respuesta del DNS (servidor de nombres de dominio) es el primer factor de toda la ecuación del TTFB.

Asegúrate siempre de utilizar buenos DNS, con nodos repartidos por todo el planeta, para que ofrezcan los mejores tiempos de respuesta posibles a cualquier petición de cualquier lugar.

Por ello, un buen modo de reducir el TTFB en este factor es usar un servicio de CDN como CloudFlare, que básicamente cachea tu DNS a nivel global.

Si no usas una CDN al menos asegúrate de que tu  hosting tienen centro de datos cercano al público objetivo de tu web.

Configuración y rendimiento del servidor (PHP y servidor web)

El segundo paso en el tiempo de respuesta del TTFB es el servidor, el hosting WordPress donde tengas alojado tu sitio. El tipo de configuración del servidor que utilice y sus sistemas de caché reducirán enormemente el TTFB.

Un ejemplo sencillo de entender es que si utiliza una versión antigua de software, como PHP 5.4, obtendrás un TTFB mucho más alto que si usase PHP 7.1, que reduce el tiempo de respuesta a la mitad o más.

Esto se debe a que el intérprete de PHP juega un papel importante en este proceso. Cada vez que se solicita una página que no esté en caché el servidor tendrá que procesar los archivos PHP requeridos para convertirlos en formato HTML y que los pueda leer tu navegador.

Cuanto más complejos sean los archivos PHP más tiempo llevará pre-procesarlos y enviarlos al navegador. Y las versiones más antiguas de PHP ofrecen versiones más complejas, menos optimizadas.

Pero hay más aspectos de tu hosting que afectan al total del TTFB. Por ejemplo, cuanto más rápida sea la CPU más rápido se procesarán los archivos, y el TTFB será menor.

Además, si tu empresa de hosting utiliza caché PHP reducirá los tiempos de cada segunda petición, ofreciendo en esta segunda visita a cada recurso la versión en caché del archivo en vez de tener que procesar de nuevo todo el PHP.

Por ello, es vital que tu hosting ofrezca máquinas rápidas y optimizadas, con software actualizado y servicios de caché de servidor que mejoren la respuesta de tu web.


En Ayuda WordPress tenemos esto muy claro y por ello confiamos en SiteGround para alojar el blog y todas las demás webs y servicios, pues SiteGround ofrece hosting optimizado y especializado en WordPress, con discos SSD, hardware de última generación, servicios propios de caché y herramientas específicas para WordPress.

Si quieres disfrutar tú también del mismo hosting de calidad que usan Ayuda WordPress o Yoast, aquí tienes un descuento para que lo pruebes y veas la diferencia.


Plugins/tema WordPress

El tercer factor que afecta al TTFB ya es tu sitio, en nuestro caso WordPress. Y no es un factor menor, más bien todo lo contrario, es uno de los más importantes, y sobre el que tenemos más potencial de mejora sin ayuda de otros.

Como vimos en la secuencia de carga de WordPress, este aloja diversos archivos PHP que se van procesando, y cuanto más complejos más tardan en procesarse.

Pero además, nuestro sitio está normalmente impulsado por plugins, y esos plugins añaden más código al total de PHP a procesar.

La regla es sencilla:

Cuantos más plugins tengas activos más código hay que procesar y más tardará tu sitio en cargarlos, y se incrementa el TTFB.

Y sí, se suele decir que no es cuestión de cantidad con los plugins, que importa más la calidad, pero esa es una realidad relativa, porque a fin de cuentas el tamaño sí importa.

Aunque es cierto que 10 plugins optimizados generarán menos peticiones y necesidades de procesamiento que 1 mal programado, al final cada línea de código cuenta, tenlo en cuenta y usa/instala/activa solo lo estrictamente necesario para tu web.

Cuando no controlas esto puedes llegar a un punto en el que tengas tantos plugins instalados, incluso los que sean para optimizar, que perjudiquen el tiempo de carga de tu sitio, justo lo contrario de lo que buscabas.

Esto lo han comprobado muchos usuarios al instalar  plugins como W3 Total Cache y comprobar que su web iba más lenta a pesar de cachear parte del código, y es que es un plugin tan extenso, con tanto código que procesar que una configuración deficiente en su conjunto puede provocar justo el resultado contrario al esperado.

Si la caché HTML está activa/inactiva

El último factor es el más importante, y tiene que ver con el sistema de caché que decidas usar en tu instalación de WordPress.

Afortunadamente la solución es también sencilla, pues solo necesitas un buen plugin de caché como SG Optimizer, que sirva como HTML todo el código y procesos de tu instalación, y que lo haga desde el servidor, sin afectar a tu instalación/plugins/tema.

De este modo es tu hosting, quien cachea todo tu contenido y procesos desde el servidor.

Redirecciones

Como no puede ser de otro modo, cualquier redirección, a sea de servidor, transparente, o del tipo que sea, afectará al TTFB pues es un «tramo» previo adicional que debe recorrer el navegador antes de mostrar nuestra web.

No digamos si son redirecciones cruzadas de dominios, de cambios de permalinks, etc.

Por supuesto, recuerda que cada URL tiene su propio TTFB, con lo que las redirecciones de entradas concretas también afectan a los tiempos de espera.

Y sí, también HTTPS es una redirección, pues se redirige todo el tráfico de HTTP a HTTPS, y también afecta negativamente (en poco) al TTFB. Afortunadamente compensa en este caso, por los beneficios de SEO y optimización si ello te permite usar HTTP/2.

Ejemplos de cómo afecta el Time To First Byte

Todo lo anterior te sonará a música celestial si no lo ponemos en números, en casos reales.

TTFB óptimo

Por ejemplo, este sería un ejemplo de un TTFB bajo, en el que todos estos factores están optimizados, desde el hosting hasta WordPress, por supuesto la caché:

Y sí, acertaste, es Ayuda WordPress.

Como puedes comprobar, a pesar del tiempo de espera (latencia) que añade el certificado SSL, que siempre añade algo, los tiempos de espera y recepción, los factores antes vistos, suman en total solo 168 milisegundos, menos de 0,2 segundos hasta que empieza a cargar la web.

¿Se puede tener un TTFB de 0, sí, cero? Poderse se puede, pero eso ya lo veremos más adelante, hoy nos quedamos en nivel master, el nivel Dios lo dejamos para otro día ¿vale?.

Luego, el tiempo total de carga dependerá de muchos otros factores, como la compresión GZip y demás elementos de WPO que hemos visto en artículos anteriores, pero un buen comienzo siempre es un buen comienzo ¿no?

TTFB medio

Otro ejemplo, en este caso de un Time To First Byte razonable, en la media de lo que suele encontrarse uno por ahí, con hosting normales, donde al menos no estropean la ecuación, es algo así:

En este caso ya vemos que el DNS se come el solito 179 ms, el certificado SSL también tarda lo suyo, no digamos la conexión con el servidor y el tiempo de espera y recepción.

El resultado es que, antes de empezar a verse ni un carácter/píxel/byte de nuestra web ya el navegador de tu (futuro) visitante ha tardado más de medio segundo en intentar mostrar algo de la misma.

¿Es poco, es mucho? Estamos en el límite. De ahí para arriba entramos en zona peligrosa.

Como curiosidad, el tiempo total de carga de la web analizada era de 2,61 segundos, con lo que la web en sí solo tardó 2 segundos en cargar, el resto era el TTFB. Lo dicho, en el límite de lo razonable.

TTFB malo

Palabras mayores si ya empezamos a ver estos tiempos de Time To First Byte:

¿Qué significa? Pues que ya solo el TTFB se ha comido el tiempo de carga óptimo que todo usuario espera para la carga total de una web, y aún no hemos visto ni un solo byte de tu sitio. Terrible.

Por mucho que optimices luego, te será muy difícil bajar de 3,5 o 4 segundos de carga total (en el ejemplo 4,31 sg), por mucho plugin de caché y minimización de código que le metas luego.

Y aún así, la experiencia de usuario será mala, pues muchos abandonarán el intento de carga de tu web antes de que empiecen a ver algo de tu sitio.

Para que luego tenga uno que leer por ahí que el WPO no afecta en nada al SEO, cuando la realidad es que un mal WPO afecta muy negativamente al SEO, y viceversa.

TTFB pésimo

Terminamos con un monstruo intratable:

Aquí si que no tenemos nada que hacer. Por mucho que el webmaster  haya conseguido que la carga total sea de menos de 5 sg, a pesar de que más de 3 segundos se los come el TTFB, la experiencia de usuario, la navegación, no digamos la conversión, será mala.

Bueno sí, algo se puede hacer. Cambiar de hosting urgentemente (ya he avisado al afectado, amigo mío). Y en esto no hay hosting barato o caro, un hosting barato que te impide crecer, convertir, aunque sea gratis es caro, carísimo. Te está costando tiempo, reputación, dinero por otras partes.

¿Dónde compruebo el  TTFB de mi WordPress?

Además den en los habituales servicios de comprobación de velocidad y optimización web como Pindgom ToolsGTMetrix y WebPageTest, hay un sitio específico para comprobar solamente este parámetro, Byte Check, que te ofrece de manera muy clara y visual cada factor que afecta al TTFB.

En conclusión

Como creo que habrás comprobado, el Time To First Byte es uno de los factores más importantes en la carga de tu web, y los factores que le afectan son pocos, pero importantes.

Y, resumiendo, hay dos grandes actores implicados:

  1. Tu hosting, que debe facilitarte el hardware, software y configuraciones óptimas.
  2. Tú, que debes mantener la cantidad de código a procesar al mínimo imprescindible.

Pero lo más importante, de nada sirve que emplees cientos de horas, miles de líneas de código, plugins y optimizaciones a posteriori, si antes de empezar a cargar el primer byte de tu web el cliente ha tenido que esperar 2 o 3 segundos, si es que aún sigue ahí.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 17

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

5 comentarios en “¿Qué es eso del Time To First Byte?”

  1. Buenos días Fernando. Ya he leído en varias ocasiones este artículo tuyo y hoy me da dado por medir el TTFB de varias webs que tengo utilizando la propia herramienta de desarrolladores de Chrome. En ninguna me da un TTFB tan bajo como la de tu web, pero si me he dado cuenta de que tengo varias webs en Siteground y en ellas me da valores diferentes. ¿No debería de darme el mismo valor de TTFB en todas ellas si están todas en el mismo plan de hosting, independientemente de que unas estén más optimizadas que otras? Un saludo y gracias de nuevo por estos artículos tan instructivos ;). Javier.

  2. Hola Fernando

    Siempre sucede lo mismo cuando aprendes a solucionar un problema o mejorarlo si se puede, aparece un mail tuyo y nos quita la poca paz que hemos conseguido.
    De todas maneras reconozco que muchas de las mejoras que he conseguido tanto en la carga como en la optimización de mi web han salido de algunos mails y de tus artículos.

    Cuando sea más mayor, me tomaré la pastilla de la tensión antes y luego abriré tu correo, ante todo la prevención

    Gracias

  3. Fernado un golazo tu artículo, Excelente
    Puedes recomendar algo para disminuir el uso de CPU gracias tengo problemas con eso en algunos sitios y he quitado los plugins al máximo posible pero me falta

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio