El rendimiento de font-display swap es un factor clave en el desarrollo web moderno que influye en la rapidez con la que el texto se renderiza en una pantalla. Al utilizar la propiedad CSS font-display con el valor swap, los desarrolladores indican al navegador que utilice una fuente del sistema de respaldo inmediatamente mientras la fuente web personalizada se descarga en segundo plano. Este enfoque aborda el problema común del texto invisible, a veces llamado Destello de Texto Invisible (FOIT), que puede afectar negativamente a la experiencia de usuario y a las métricas de usabilidad durante la fase crítica de carga inicial de una página web.
¿Qué es la propiedad font-display: swap?
La propiedad font-display determina cómo se renderiza una familia de fuentes en función de si se descarga y cuándo lo hace. Según MDN Web Docs, font-display: swap otorga a la fuente un periodo de bloqueo extremadamente corto y un periodo de intercambio infinito. Esto significa que el navegador mostrará la fuente de respaldo inmediatamente si la fuente personalizada no está lista. Una vez que el archivo de fuente personalizada termina de descargarse, el navegador sustituye automáticamente la fuente de respaldo por la fuente de diseño prevista.

¿Por qué importa el tiempo de carga de las fuentes para el rendimiento?
El rendimiento web no se trata solo de la velocidad bruta, sino de cómo los usuarios perciben el proceso de carga. Cuando un navegador encuentra una fuente personalizada, puede pausar el renderizado del texto hasta que dicha fuente esté disponible, lo que crea un vacío en la experiencia de usuario. Al elegir swap, priorizas el contenido por encima de la elección estética de un tipo de letra específico. Para los usuarios en redes móviles más lentas, este cambio es significativo, ya que les permite leer los titulares y el cuerpo de texto.
¿Cómo implementar font-display: swap correctamente?
La implementación es sencilla e implica actualizar tus declaraciones @font-face dentro de tus archivos CSS. Debes localizar tu hoja de estilos principal, que normalmente se encuentra en tu carpeta de temas o directorio de recursos, y añadir la propiedad a cada definición de fuente. Si estás utilizando un servicio de terceros como Google Fonts, a menudo puedes añadir el parámetro display swap directamente a la URL de importación proporcionada por el servicio.
- Localiza tus bloques CSS @font-face en tu archivo CSS principal.
- Añade la línea font-display: swap; dentro de cada bloque @font-face.
- Verifica la implementación inspeccionando la pestaña Red (Network) en las herramientas de desarrollo de tu navegador.
- Comprueba los cambios de diseño observando la carga de la página en un entorno de red limitado.
- Asegúrate de que tus fuentes de respaldo tengan un estilo similar al de tu fuente personalizada para minimizar los saltos visuales.
Comparación de valores de font-display
| Valor | Periodo de bloqueo | Periodo de intercambio |
|---|---|---|
| auto | Dependiente del navegador | Dependiente del navegador |
| block | Bloque corto, intercambio infinito | Ninguno |
| swap | Extremadamente pequeño | Infinito |
| fallback | Extremadamente pequeño | Corto |
Cómo aplica Alien Road las estrategias de font-display
En Alien Road, nos centramos en auditorías técnicas que priorizan la accesibilidad del usuario y la velocidad. En un proyecto típico, comenzamos revisando la arquitectura CSS actual del cliente para identificar cuellos de botella en la carga de fuentes. Comprobamos si las fuentes personalizadas se alojan localmente o a través de proveedores externos, ya que esto cambia nuestro enfoque de optimización. Si las alojamos localmente, utilizamos formatos WOFF2 para reducir el tamaño del archivo.

¿Hay desventajas al usar font-display: swap?
Aunque este método mejora la percepción de velocidad, puede introducir un cambio de diseño (Layout Shift) si la fuente de respaldo tiene dimensiones diferentes a la fuente personalizada. Si la fuente de respaldo es significativamente más pequeña o más ancha, el bloque de texto podría expandirse o contraerse cuando se produzca el intercambio. Para mitigar esto, los desarrolladores deben usar CSS font-size-adjust o asegurarse de que las métricas de la fuente de respaldo coincidan estrechamente con la fuente objetivo.
¿Cuándo debes evitar font-display: swap?
Hay casos de diseño específicos en los que el intercambio puede no ser deseable. Por ejemplo, si tu marca depende de una fuente altamente específica para su identidad y el cambio desde una fuente de sistema básica es extremadamente discordante, podrías elegir block en su lugar. Sin embargo, para la mayoría de los sitios de comercio electrónico o blogs informativos, la legibilidad proporcionada por swap supera la transición estética menor.
Por dónde empezar esta semana
Puedes empezar auditando tu configuración actual de carga de fuentes utilizando el informe de Lighthouse en la consola de tu navegador. Busca advertencias relacionadas con texto invisible durante la fase de carga. Una vez que identifiques las fuentes que causan el problema, añade la propiedad swap al CSS de tu sitio. Realiza esto primero en un sitio de pruebas.
- Audita los archivos de fuentes existentes utilizando la pestaña Cobertura (Coverage) de Chrome DevTools.
- Actualiza los archivos CSS para incluir font-display: swap en todas las fuentes no esenciales.
- Prueba el cambio de diseño (Layout Shift) comparando el renderizado de la página antes y después del cambio.
- Refina las pilas de font-family para garantizar que las fuentes de respaldo sean similares en apariencia.
- Documenta los cambios en tu registro interno de rendimiento del sitio para referencia futura.
Preguntas frecuentes
¿Afectará font-display: swap a mi SEO?
No, por lo general mejora el SEO al ayudar con las métricas web esenciales relacionadas con la visibilidad del contenido. Al garantizar que el texto sea legible de inmediato, proporcionas una mejor experiencia de usuario, lo cual es un factor en cómo los motores de búsqueda evalúan la calidad de la página.
¿Funciona esto en todos los navegadores?
La mayoría de los navegadores modernos admiten la propiedad font-display. Aunque los navegadores heredados pueden no reconocer la propiedad, simplemente la ignorarán y continuarán con su comportamiento predeterminado, que suele ser mostrar el texto solo cuando la fuente está lista.
¿Cómo soluciono el cambio de diseño causado por el intercambio?
La mejor manera de solucionar el cambio de diseño es hacer coincidir las dimensiones de la fuente de respaldo con tu fuente personalizada. Utiliza propiedades CSS como line-height y letter-spacing para alinear la fuente del sistema estrechamente con la fuente objetivo.
¿Puedo usar swap con Google Fonts?
Sí, puedes usarlo fácilmente con Google Fonts añadiendo &display=swap al final de tu URL de importación de fuentes. Esta es la forma más sencilla de implementar la función sin necesidad de descargar y alojar los archivos localmente en tu propio servidor o red de entrega de contenido.
Seguir leyendo: Diseño y Desarrollo Web · Diseño Web