Optimizar (reducir) las solicitudes de fuentes web

8

Mi página de inicio actualmente usa 5 fuentes web; me gustaría que fueran 6 debido al soporte irregular para Helvetica Neue. Una de las fuentes es el ícono 'FontAwesome', las otras 4 solo se usan para una o dos palabras (es decir, tengo un encabezado que dice "Optimización" escrito en letras que parecen una computadora vieja).

2 de estas fuentes están disponibles a través de Google y solicito solo las letras necesarias (y eso funciona muy bien). Sin embargo, los otros 2 son de openfontlibrary.org, y solo están disponibles en un único formato. Lo cual no es un gran problema (de todos modos los necesitaré de forma segura para que las copias locales sean mejores), un rápido con el generador Fontsquirrel.com @ font-face y los tengo en múltiples formatos y el CSS para arrancar.

Y luego pruebo el tiempo de carga de mi página ... ugh. Supongo que sería posible que yo subconjunte mis copias locales, ¿alguien tiene experiencia en esta área?

adam-asdf
fuente

Respuestas:

3

El uso de fuentes web no estándar tiene un impacto significativo en el rendimiento en los tiempos de carga de la página en comparación con el uso de fuentes estándar del sistema seguras para la web. Este es el caso, independientemente de si está utilizando JavaScript o @ font-face .

Siempre se debe analizar cuidadosamente si se deben usar fuentes web no estándar o no.

Algunas preguntas que debe hacerse al considerar el uso de fuentes web no estándar:

  • ¿Los estás usando solo para demostrar que puedes y sabes cómo hacerlo?
  • ¿Sirve un propósito en la ejecución de un mejor diseño y proporciona una mejor experiencia de usuario?
  • ¿El método utilizado para implementar las fuentes es compatible con varios navegadores?
  • ¿Podría ser suficiente una imagen, especialmente si son solo unas pocas palabras en una sola página o solo unas pocas páginas?
  • ¿Es la fuente lo suficientemente diferente de las fuentes seguras para la web como para que valga la pena usarla?
  • Si la fuente se usa como texto del cuerpo, ¿es fácil de leer o está diseñada para encabezados?

Asegúrese de al menos comprender los fundamentos de la tipografía y cómo impacta en su diseño, y utilícelo para su ventaja.

tacotuesday
fuente
Gracias por la respuesta detallada, pero voy a admitir un poco de frustración con las respuestas hasta ahora. Me doy cuenta de que está afectando el tiempo de carga; Sé sobre tipografía y fuentes seguras para la web. Me doy cuenta de que podría usar una imagen (o sprites de imagen) y texto alternativo. Sin embargo, esos son los últimos recursos para mí. Podría usar una pila de fuentes muy segura, pero eso frustra el propósito de tener fuentes web (e incluso los sustitutos requieren una conexión HTTP). Luego entra en SEO, problemas de accesibilidad de ajuste de tamaño de fuente, traducciones, configuraciones para personas con discapacidad visual, etc. Si es razonable , prefiero optimizar mis fuentes web.
adam-asdf
Si hubiera leído el primer artículo al que me vinculé, habría encontrado información sobre cómo mejorar los tiempos de carga de la página al usar fuentes web no estándar.
Tacotuesday
Lo siento, me sentí abrumado por la cantidad de enlaces, lo haré ahora.
adam-asdf
Tenías razón, perdón por mi impaciencia (en realidad es el segundo enlace que da). Detalles de autohospedaje, TypeKit, Google, fuente-ardilla (de alguna manera extrañé pensar en probar la opción avanzada del generador @ font-face), e incluso un análisis de diferentes métodos en diferentes navegadores. Para aquellos que se encuentran con esto en el futuro, respondió todas mis preguntas.
adam-asdf
Gracias por dejarme saber que era el segundo enlace. Los mezclé en la publicación. Ahora está arreglado, así que es el primer enlace. También es posible que desee ver Cufon y sIFR, si aún no lo ha hecho. Además, gran parte de mi respuesta estaba destinada a futuros lectores, para que piensen un poco antes de seguir a la multitud con respecto al uso de fuentes web.
tacotuesday
6

los otros 4 solo se usan para una o dos palabras

¿Es eso una declaración literal?
Si es así, ¿por qué te molestas en incrustar estas fuentes, subconjuntos o no? Ni siquiera deberías estar optimizando en este caso, solo eliminando . Cree imágenes del texto que necesita y use su técnica de reemplazo de texto favorita. Está agregando solicitudes HTTP y tiempo de descarga a su sitio por unas pocas palabras .

Su '
fuente
Eso se me ocurrió, solo siento que si digo que puedo codificar con CSS3 un par de fuentes web y un diseño receptivo a través de consultas de medios probablemente sea sabio.
adam-asdf
Me di cuenta de que tienes mucho respeto en esta comunidad (y aparentemente experiencia práctica). ¿Qué estoy mirando? Sé que las solicitudes http (s) toman tiempo, pero dame algo para tomar una decisión informada ... ¿estamos hablando de 2 segundos o 2 microsegundos? Soy práctico pero con experiencia en diseño, estoy orientado estéticamente. Dame una manera de tomar una decisión informada, por favor.
adam-asdf
1
@Su 'es completamente correcto. Cada sitio es diferente en cuanto a HTTPRequests, todo realmente depende de la ruta entre el cliente y su servidor. Alguien que use acceso telefónico (fijo) o una conexión satelital experimentará tiempos de carga más largos que alguien en DSL o T1. La buena estética es increíblemente importante, pero la buena estructura y optimización son igual de importantes. Minimizar el margen de tiempos de carga es una práctica común, lo que limita el número de solicitudes HTTP a su sitio. Hacer una imagen de las palabras disminuirá el tiempo de carga y sus usuarios no sabrán nada. Mira en CSS Sprites también.
Christopher
@Christopher Me alegro de que hayas mencionado sprites, supongo que podrías decir que estoy buscando una manera de crear una versión personalizada y local de sprites en webfonts.
adam-asdf
@ user1332729 Fácil, haz lo que Su 'sugirió (Crea imágenes de las palabras) y aplica los principios CSS Sprite. Bang, hay todo lo optimizado que puedes obtener sin pasar por los formatos de imagen. ¿Qué quiere decir localmente disponible? Para usted o su cliente?
Christopher
2

Para seguir, terminé usando las opciones avanzadas del generador @ font-face para configurar mis fuentes, así que solo cargué los caracteres necesarios.

Una de las opciones era codificar Base64 las fuentes (lo que me permitió incrustarlas en mi archivo CSS). Si la memoria sirve, Base64 codifica el .woffy la .ttffuente.

Si bien me gusta admitir tantos usuarios de tantos navegadores como sea posible, decidí que no valía la pena ralentizar a los usuarios de navegadores modernos con datos adicionales, probablemente redundantes, por lo que utilicé Modernizr (que usa yep / nope.js) para Cargue asincrónicamente un CSSarchivo separado con referencias a todos los formatos de fuente según la sintaxis de fuente de balas reforzada .

Iba y venía entre Base64 que codificaba la .wofffuente e incluía el resto de las declaraciones de fuentes en el CSSarchivo primario o solo incluía la Base64 codificada .woffen la primaria CSSy luego incluía los otros formatos en un CSSarchivo que cargué asincrónicamente Modernizr.load.

Prefiero tiempos de carga rápidos a la estética, por lo que FOUC no fue una gran preocupación, pero notaré que la mayoría de los navegadores `` parpadearon '' en las fuentes cuando se cargaron (que fue después de que las fuentes codificadas Base64 en la CSScargaban) asincrónicas.

En el lado positivo, una vez que las fuentes se cargaron y almacenaron en la memoria caché (los encabezados caducan en el servidor) se eliminó el 'parpadeo' y pude cargar conjuntos extendidos de las fuentes para que los usuarios que hablaban otros idiomas (y usaran El widget de traducción de Google incluido) aún vería texto estilizado.

Como este era mi propio sitio, pude experimentar, pero lo hice en gran medida para "presumir", soy más conservador con los sitios de los clientes.

Otra técnica que implementé fue poner todas las .svgfuentes en un solo archivo e identificar cada una con su propia ID en lugar de tener cada una en un archivo separado como produce el generador @ font-face.

adam-asdf
fuente