First Input Delay FID
Sommaire de l'article
Vitesse et performance : First Input Delay (FID), Délai de première entrée et rôle historique dans les Core Web Vitals
Introduction
La vitesse et la performance d'un site web sont des facteurs critiques pour l'expérience utilisateur et le référencement naturel. Pendant plusieurs années, le First Input Delay (FID), ou délai de première entrée, a été l’une des métriques Core Web Vitals historiques utilisées par Google pour évaluer la réactivité des pages. Même si FID a été remplacé comme métrique principale de réactivité par Interaction to Next Paint (INP) depuis 2024, il reste essentiel de comprendre ce qu’il mesure, comment il fonctionne et comment les optimisations orientées FID restent pertinentes pour améliorer la performance globale d’un site.
Le FID mesure le temps que met un navigateur à commencer à répondre à la première interaction d’un utilisateur, comme un clic sur un bouton ou une pression de touche sur un clavier. Une bonne performance en termes de FID est un indicateur fort de réactivité perçue, en particulier lors de la phase de chargement initial de la page.
Cet article explique en détail la notion de First Input Delay, son rôle historique dans les Core Web Vitals, sa relation avec INP et d’autres métriques de performance, ainsi que les bonnes pratiques techniques pour améliorer la réactivité des pages web.
Contexte : FID, INP et Core Web Vitals en 2025
Pour bien situer le FID dans le paysage de la performance web en 2025, il est important de distinguer :
- Les Core Web Vitals historiques : FID faisait partie du trio d’origine avec LCP (Largest Contentful Paint) et CLS (Cumulative Layout Shift). Il a longtemps été utilisé comme signal de classement dans l’algorithme de Google pour mesurer la réactivité.
- Les Core Web Vitals actuels : depuis mars 2024, FID a été remplacé par INP (Interaction to Next Paint) comme métrique officielle de réactivité. Les Core Web Vitals majeurs sont désormais LCP, INP et CLS.
En d’autres termes, FID est aujourd’hui une métrique historique : elle reste utile pour comprendre la réactivité initiale d’une page et pour analyser l’évolution des performances, mais ce n’est plus la métrique utilisée par Google comme signal Core Web Vital de réactivité. C’est désormais INP qui joue ce rôle et qui tient compte de toutes les interactions, pas uniquement de la première.
Concepts clés
Avant d’aller plus loin, il est essentiel de maîtriser certains concepts fondamentaux liés à FID et à la performance de la réactivité.
Qu'est-ce que le First Input Delay (FID) ?
Le First Input Delay désigne le délai, exprimé en millisecondes, entre le moment où un utilisateur interagit pour la première fois avec une page (clic, tap sur écran tactile, pression de touche, etc.) et le moment où le navigateur peut commencer à traiter cette interaction.
Concrètement, FID mesure la latence d’entrée initiale : si le thread principal du navigateur est occupé par des tâches longues (par exemple du JavaScript en cours d’exécution), il ne peut pas tout de suite traiter l’événement d’entrée. Le FID correspond donc au temps d’attente avant le début du traitement de cet événement. Il ne mesure pas :
- la durée totale d’exécution du gestionnaire d’événement,
- ni le délai nécessaire pour afficher le prochain frame (rafraîchissement visuel) après le traitement.
En résumé, FID se concentre sur le moment où l’utilisateur tente d’interagir et demande au navigateur de faire quelque chose, et sur le temps que met le navigateur à devenir disponible pour commencer à répondre.
Définition chiffrée et formule du FID
Techniquement, le FID est défini comme :
FID = processingStart - startTime
où :
- startTime correspond au moment exact où l’interaction utilisateur est enregistrée (clic, tap, keydown, etc.),
- processingStart correspond au moment où le navigateur commence réellement à traiter l’événement associé.
Cette définition met bien en évidence que le FID n’inclut pas le temps d’exécution du code du gestionnaire d’événement lui-même, ni le délai d’affichage visuel qui suit. Il se limite au délai entre l’entrée utilisateur et le début de la réponse du navigateur.
FID versus autres métriques de performance
Le FID doit être considéré en contexte avec d’autres indicateurs de performance web :
- LCP (Largest Contentful Paint) : mesure le temps nécessaire pour que l’élément de contenu principal (texte, image, vidéo) soit rendu à l’écran. C’est une métrique centrée sur la vitesse de chargement perçue.
- FCP (First Contentful Paint) : mesure le moment où le premier élément de contenu (texte, image, SVG, etc.) apparaît à l’écran. Elle renseigne sur la rapidité avec laquelle l’utilisateur voit apparaître quelque chose.
- CLS (Cumulative Layout Shift) : mesure la stabilité visuelle de la page en quantifiant les déplacements inattendus des éléments lors du chargement. Elle concerne la confortabilité visuelle.
- TBT (Total Blocking Time) : mesure, en laboratoire, la somme des temps pendant lesquels le thread principal est bloqué par des tâches de plus de 50 ms entre le FCP et le Time to Interactive. TBT est étroitement corrélé à la réactivité et sert de proxy en labo pour des métriques comme FID.
- INP (Interaction to Next Paint) : remplaçant moderne de FID, INP mesure la réactivité globale d’une page sur toutes les interactions (et pas seulement la première), en intégrant l’entrée, le traitement et l’affichage.
Alors que des métriques comme FCP et LCP se concentrent sur l’affichage du contenu, FID s’intéresse à la réactivité après l’apparition du contenu. Aujourd’hui, cette vision de la réactivité est prolongée et enrichie par INP, qui couvre l’ensemble de la session utilisateur.
Comment est mesuré le FID ?
La mesure de FID suit une séquence claire d’événements :
- L’utilisateur effectue une première interaction avec la page (clic sur un lien, appui sur un bouton, pression d’une touche, tap sur un élément interactif, etc.).
- Le navigateur enregistre le moment exact de cette interaction (
startTime). - Le navigateur attend que le thread principal soit disponible pour commencer à gérer cette interaction.
- Quand le traitement de l’événement peut enfin débuter, le navigateur enregistre ce moment (
processingStart). - La différence entre
processingStartetstartTimeest calculée : c’est le First Input Delay.
Un point essentiel : le FID ne mesure pas la durée de la tâche de traitement de l’événement. Il se limite au temps pendant lequel l’utilisateur attend que le navigateur puisse commencer à répondre. Ce détail est fondamental pour interpréter correctement la métrique.
FID : métrique uniquement terrain (field data)
Un aspect souvent mal compris est la nature même de FID : il s’agit d’une métrique terrain, calculée à partir des données d’utilisateurs réels. Cela signifie que :
- FID n’est pas directement mesuré dans des environnements de test synthétiques comme un audit isolé sur une machine de développement.
- Les outils de lab tels que Lighthouse ou la plupart des tests de performance synthétiques ne peuvent pas produire un FID réel, car il n’y a pas de véritable interaction utilisateur dans ces scénarios.
- Pour analyser le FID, on s’appuie sur des données de terrain issues de sources comme le Chrome UX Report (CrUX) ou des solutions de Real User Monitoring (RUM) intégrées côté client.
En laboratoire, la métrique utilisée comme approximation de la réactivité est le Total Blocking Time (TBT), qui est fortement corrélé avec FID. Un TBT faible suggère généralement un FID très bas, notamment sur des appareils de performance comparable.
Outils pour consulter ou analyser FID
Même si FID n’est plus la métrique de référence pour la réactivité, il reste consultable dans plusieurs outils, notamment pour les périodes historiques ou pour analyser les anciennes performances :
- Chrome User Experience Report (CrUX) : base de données publique de performances réelles collectées depuis Chrome.
- Google Search Console : anciennement via les rapports Core Web Vitals, où FID a été peu à peu remplacé par INP.
- Bibliothèque JavaScript Web Vitals : permet de collecter le FID directement depuis les navigateurs des utilisateurs et de l’envoyer vers des outils d’analyse.
- Solutions RUM (Real User Monitoring) tierces : intègrent souvent FID parmi d’autres métriques de réactivité et de performance.
En revanche, des outils comme Google Lighthouse, GTmetrix ou des tests de performance synthétiques rapportent principalement TBT, pas FID lui-même.
Seuils de qualité pour le FID
Historiquement, les seuils utilisés pour évaluer la qualité d’un FID étaient les suivants :
- Bon : FID inférieur à 100 ms.
- À améliorer : FID compris entre 100 ms et 300 ms.
- Mauvais : FID supérieur à 300 ms.
Pour qu’un site soit considéré comme performant sur le plan de la réactivité initiale, au moins 75 % des chargements de page (tous appareils confondus, mobile et desktop) devaient afficher un FID inférieur à 100 ms. Cette approche par percentile (75ᵉ percentile) reste une référence pour évaluer la qualité d’expérience utilisateur.
Rôle historique de FID dans le SEO et la performance
Lorsque Google a introduit les Core Web Vitals, FID a été inclus comme l’une des trois métriques principales aux côtés de LCP et CLS. À ce titre, il a été utilisé comme un signal de classement pour Google Search, influençant la visibilité des pages dans les résultats de recherche.
Cependant, FID présentait des limitations :
- Il ne mesurait que la première interaction, laissant de côté les interactions ultérieures potentiellement lentes.
- Il ne prenait pas en compte la durée d’exécution des gestionnaires d’événements ni le délai lié à l’affichage du prochain frame.
Pour répondre à ces limites, Google a introduit Interaction to Next Paint (INP), d’abord comme métrique expérimentale, puis comme remplaçant officiel de FID dans les Core Web Vitals à partir de 2024. Depuis ce changement, il n’est plus exact de considérer FID comme une métrique Core Web Vital actuelle ou comme un signal de classement en 2025. C’est désormais INP qui remplit ce rôle pour la réactivité.
Facteurs qui dégradent le FID
Un mauvais FID est généralement le symptôme d’un thread principal surchargé au moment de la première interaction. Plusieurs facteurs peuvent contribuer à cette surcharge :
- JavaScript lourd et non optimisé : bundles volumineux, frameworks chargés dans leur intégralité alors qu’une partie seulement est nécessaire, logique applicative complexe exécutée dès le chargement.
- Longues tâches (long tasks) : exécution de blocs de code dépassant 50 ms sur le thread principal, empêchant toute réponse rapide aux entrées utilisateur.
- Scripts tiers : solutions publicitaires, analytics, widgets sociaux, chat en ligne, A/B testing et autres scripts externes peuvent bloquer le thread principal et allonger le délai avant le traitement des interactions.
- CSS bloquant le rendu : feuilles de style critiques non optimisées ou chargées de manière bloquante, retardant l’interactivité.
- DOM très volumineux : trop grand nombre de nœuds dans le DOM, entraînant des coûts de parsing, de mise en page et de rendu importants.
- Travaux coûteux côté rendu : recalculs de layout fréquents, style recalculé sur de grandes parties de la page, opérations de peinture complexes.
- Mauvaise répartition du travail entre le client et le serveur : trop de logique exécutée côté client au lieu d’être traitée en amont (par exemple, absence de rendu côté serveur ou d’hydratation progressive).
La combinaison de ces facteurs peut faire que, lorsqu’un utilisateur clique ou tape pour la première fois, le navigateur est encore occupé à exécuter du code ou à effectuer des opérations de rendu, ce qui augmente le FID.
Bonnes pratiques pour améliorer le FID (et la réactivité globale)
Les stratégies qui permettaient d’améliorer FID restent pleinement pertinentes pour améliorer la réactivité mesurée aujourd’hui par INP et, plus largement, pour optimiser l’expérience utilisateur. Voici les principales approches :
1. Optimiser les ressources JavaScript
Le JavaScript est souvent la source principale de blocage du thread principal. Pour réduire ce blocage et améliorer la réactivité :
- Réduisez la taille des bundles : mettez en place du bundling intelligent, du code splitting et de la minification afin de limiter la quantité de JavaScript chargée au démarrage.
- Chargez les scripts de manière non bloquante : utilisez les attributs
asyncetdeferpour les scripts externes, afin d’éviter de bloquer le parsing HTML et de retarder l’interactivité. - Évitez les scripts inutiles : supprimez les bibliothèques ou plugins non utilisés, les polyfills devenus superflus et les codes expérimentaux laissés en production.
- Privilégiez des bibliothèques légères : remplacez, quand c’est possible, de gros frameworks par des alternatives plus légères, ou limitez l’usage de fonctionnalités lourdes.
- Reportez le travail non critique : décalez certaines tâches (fetch de données secondaires, enrichissements visuels, analytics non critiques) à après la phase d’interaction initiale.
2. Fractionner les longues tâches (long tasks)
Les longues tâches JavaScript (supérieures à 50 ms) bloquent la boucle d’événements et empêchent toute réponse rapide aux interactions. Pour les traiter :
- Identifiez les long tasks : utilisez les outils de performance des navigateurs pour repérer les tâches qui dépassent 50 ms.
- Divisez les tâches : découpez les traitements lourds en segments plus petits, éventuellement à l’aide de
setTimeout,requestIdleCallbackou d’APIs d’ordonnancement. - Déplacez les traitements lourds : si possible, exécutez le travail intensif dans des Web Workers pour libérer le thread principal.
L’objectif est de rendre le thread principal disponible aussi souvent que possible, de manière à ce que, lorsqu’un utilisateur interagit, l’entrée puisse être traitée presque immédiatement, ce qui améliore à la fois FID et INP.
3. Optimiser le temps de réponse du serveur
Un serveur lent n’impacte pas directement le calcul de FID, mais un chargement initial long retarde la phase où l’utilisateur peut interagir et augmente la probabilité que des tâches lourdes soient encore en cours lors du premier clic. Pour limiter cela :
- Hébergez votre site sur une infrastructure performante et fiable.
- Utilisez un CDN (Content Delivery Network) pour rapprocher les ressources des utilisateurs géographiquement.
- Optimisez vos bases de données (index, requêtes, caches applicatifs) pour réduire les temps de réponse.
- Mettez en place du caching côté serveur (page cache, fragments cache) pour servir plus vite les pages très consultées.
4. Mettre en œuvre le chargement différé (lazy loading)
Le chargement différé permet de n’importer que les ressources nécessaires au moment où l’utilisateur en a besoin, ce qui allège fortement le travail initial du navigateur :
- Utilisez l’attribut
loading="lazy"pour les balisesetlorsque c’est approprié. - Différez le chargement des images hors écran, des vidéos, des widgets tiers, des carrousels et autres éléments lourds.
- Dans les CMS comme WordPress, exploitez les fonctionnalités de lazy loading natives ou des extensions spécialisées.
En réduisant la quantité de ressources à traiter au moment du premier affichage, on limite le risque de surcharge du thread principal et on améliore la réactivité perçue.
5. Exploiter efficacement le cache du navigateur
Le cache navigateur peut considérablement améliorer les performances lors des visites suivantes et réduire la charge de travail nécessaire pour rendre la page interactive :
- Définissez des headers HTTP (comme
Cache-Control,ETag,Last-Modified) adaptés à chaque type de ressource. - Utilisez des fichiers versionnés ou hashés pour vos CSS et JavaScript, afin de permettre un cache longue durée sans risque de servir des versions obsolètes.
- Prévoyez une stratégie de cache agressive pour les ressources statiques rarement modifiées (images, polices, scripts de base).
6. Optimiser les images et les médias
Les images et médias volumineux peuvent créer une charge supplémentaire au niveau du rendu et indirectement influencer la réactivité :
- Compressez vos images à l’aide d’outils de compression adaptés, en ajustant qualité et poids.
- Servez des formats modernes quand c’est possible (par exemple WebP ou AVIF) pour réduire la taille des fichiers.
- Adaptez la résolution des images aux dimensions d’affichage réelles (responsive images).
- Évitez les vidéos en lecture automatique non essentielles dès le chargement initial.
7. Réduire la complexité du DOM
Un DOM très volumineux ou complexe augmente le temps de parsing, le calcul de style et le layout :
- Limitez le nombre de nœuds et évitez les structures profondément imbriquées.
- Supprimez les éléments inutiles ou cachés qui ne servent pas l’expérience utilisateur.
- Chargez dynamiquement certains blocs de contenu seulement lorsque l’utilisateur en a besoin.
INP : la métrique qui remplace FID
Pour comprendre la place actuelle de FID, il est indispensable de présenter Interaction to Next Paint (INP), qui l’a remplacé dans les Core Web Vitals. INP mesure la réactivité globale d’une page au cours d’une session utilisateur en prenant en compte :
- le délai d’entrée (input delay),
- le temps de traitement (processing),
- et le délai d’affichage du prochain frame (presentation delay).
Contrairement à FID, qui ne considère que la première interaction, INP évalue de manière plus complète la façon dont une page réagit à toutes les interactions significatives (clics, taps, pressions de touches) jusqu’à ce que l’utilisateur quitte la page. Une bonne valeur cible pour INP est généralement un résultat inférieur à 200 ms pour la majorité des interactions.
Les optimisations décrites pour FID (réduction du JavaScript, fractionnement des longues tâches, lazy loading, optimisation des ressources) sont directement bénéfiques pour INP. En pratique, travailler à améliorer FID reste donc pleinement utile pour optimiser la réactivité globale conforme aux standards actuels.
Relation entre FID et TBT (Total Blocking Time)
Dans les outils de performance de laboratoire, comme Lighthouse, on ne mesure pas FID directement, car il n’y a pas de véritable interaction utilisateur. À la place, on utilise Total Blocking Time (TBT), qui mesure la somme du temps pendant lequel le thread principal est bloqué par des tâches de plus de 50 ms entre le First Contentful Paint et le Time to Interactive.
La relation entre FID et TBT est la suivante :
- Si le TBT est élevé, il y a de fortes chances que, dans des conditions réelles, les utilisateurs rencontrent un FID important, car les mêmes longues tâches qui augmentent TBT retarderont le traitement des premières interactions.
- Un TBT proche de zéro indique généralement que le thread principal est rarement bloqué, ce qui se traduit en pratique par un FID très bas, souvent inférieur à 50 ms sur des appareils de performance similaire.
Lorsqu’on ne dispose que de données de laboratoire, optimiser TBT constitue donc une excellente stratégie pour améliorer indirectement la réactivité réelle, autrefois mesurée par FID et aujourd’hui reflétée par INP.
Distinction entre FID, INP, TBT, LCP, CLS et autres métriques
Pour éviter la confusion entre les différentes métriques de performance, il est utile de les résumer :
- FID : mesure le délai entre la première interaction utilisateur et le moment où le navigateur commence à traiter cette interaction. Mécanisme historique de réactivité, aujourd’hui remplacé par INP comme Core Web Vital.
- INP : métrique actuelle de réactivité globale qui prend en compte l’ensemble des interactions et mesure l’entrée, le traitement et la présentation.
- TBT : métrique de laboratoire qui mesure le temps total pendant lequel le thread principal est bloqué par des tâches longues, corrélée à la réactivité ressentie.
- LCP : mesure le temps nécessaire au rendu du contenu principal pour donner à l’utilisateur une impression de chargement rapide.
- CLS : mesure la stabilité visuelle et l’absence de décalages inattendus d’éléments pendant le chargement.
- FCP : indique à quel moment le premier élément de contenu est visible.
Comprendre le rôle spécifique de chacune de ces métriques permet de construire une stratégie de performance complète : + LCP et FCP pour la vitesse de chargement perçue, + CLS pour la stabilité visuelle, + FID (historiquement) et INP (aujourd’hui) pour la réactivité, et + TBT comme indicateur clé en environnement de test.
Pourquoi FID reste utile à connaître en 2025
Bien que FID ne soit plus un Core Web Vital actif, le comprendre reste utile pour plusieurs raisons :
- Lecture des anciens rapports : de nombreux rapports historiques de performance et de SEO font référence à FID. Savoir ce que la métrique représente permet d’interpréter correctement ces données.
- Transition vers INP : FID constitue un point de départ pour appréhender INP. Les mêmes causes et optimisations s’appliquent largement à ces deux métriques, avec une portée plus étendue pour INP.
- Pédagogie et audit : dans des audits techniques ou des formations, expliquer FID aide à introduire la notion de délai entre interaction et réponse, essentielle pour toute stratégie d’optimisation de la réactivité.
Pour un site qui cherche à améliorer son référencement en 2025, l’objectif n’est donc plus d’optimiser FID en tant que tel, mais de viser de bons scores INP et, par extension, de minimiser tout délai perceptible entre les interactions et les réponses du site.
Conclusion opérationnelle
Le First Input Delay a joué un rôle central dans l’évaluation de la réactivité des pages web et dans les premiers déploiements des Core Web Vitals. Il mesure le délai entre la première interaction utilisateur et le moment où le navigateur commence à la traiter, sans inclure le temps d’exécution du gestionnaire d’événement ni la phase de rendu suivante. Historiquement, un FID inférieur à 100 ms pour au moins 75 % des chargements était considéré comme un bon indicateur d’expérience utilisateur.
Depuis 2024, FID est remplacé par Interaction to Next Paint (INP) comme métrique de réactivité de référence dans les Core Web Vitals. Néanmoins, les bonnes pratiques d’optimisation visant à réduire le blocage du thread principal, à alléger le JavaScript, à fractionner les longues tâches, à optimiser le chargement des ressources et à améliorer la structure du DOM restent au cœur d’une stratégie de performance moderne.
En maîtrisant le concept de FID et en appliquant ces optimisations, vous améliorez non seulement la réactivité initiale de vos pages, mais aussi la qualité globale de l’expérience utilisateur mesurée par INP, contribuant ainsi à de meilleures performances et à un référencement durable.
Besoin d'aide avec votre SEO ?
Notre équipe d'experts peut vous aider à optimiser votre site e-commerce