Guides 9 min de lecturePublié le
INP sur Shopify : mesurer et corriger la réactivité
Depuis mars 2024, l'INP mesure la réactivité d'une page. Ce qui le dégrade sur Shopify (apps, scripts tiers, thème) et comment le mesurer et le corriger.

Sommaire6 parties
Une boutique peut afficher sa page en une seconde et rester lente : quand on touche le bouton d'ajout au panier et que rien ne bouge pendant un instant, c'est la réactivité qui pèche. Google la mesure avec l'INP, Interaction to Next Paint, l'un des trois Core Web Vitals. Ce guide explique ce qu'il mesure, ce qui le dégrade sur Shopify et comment le corriger dans le bon ordre.
L'essentiel
L'INP est devenu un Core Web Vital le 12 mars 2024, à la place du First Input Delay.
Il est bon à 200 millisecondes ou moins, à améliorer jusqu'à 500, mauvais au-delà, mesuré au 75e centile des visites réelles.
Sur Shopify, il se dégrade surtout à cause du JavaScript : celui des apps, des balises marketing, et celui du thème lui-même.
Il se mesure d'abord sur le terrain (Search Console, PageSpeed Insights, rapport de performance de Shopify), puis se diagnostique en laboratoire.
On le corrige en retirant des scripts avant d'en optimiser, puis en découpant les tâches longues et en allégeant le rendu.
Ce que mesure l'INP
Une interaction, trois temps
L'INP observe les interactions réelles des visiteurs : un clic à la souris, un appui sur un écran tactile, une frappe au clavier. Le survol, le zoom et le défilement ne sont pas pris en compte. Pour chaque interaction, la documentation de Google distingue trois temps :
le délai d'entrée, entre le geste et le début du traitement, quand le navigateur est occupé ailleurs ;
la durée de traitement, le temps d'exécution du code qui répond à l'événement ;
le délai de présentation, entre la fin de ce code et l'affichage de l'image suivante à l'écran.
Prenez un appui sur « Ajouter au panier ». Si un script d'avis clients est en train de s'exécuter, le délai d'entrée s'allonge. Si le gestionnaire du bouton recalcule tout le panier avant d'afficher quoi que ce soit, la durée de traitement s'allonge. Si l'ouverture du panier latéral oblige le navigateur à recalculer la mise en page de toute la page, c'est le délai de présentation.
Les seuils
Google classe l'INP en trois zones : bon à 200 millisecondes ou moins, à améliorer jusqu'à 500 millisecondes, mauvais au-delà. La valeur retenue pour une page est celle du 75e centile des visites, mobile et ordinateur séparés. Pour chaque visite, c'est en général l'interaction la plus lente qui compte, Google ignorant la pire interaction par tranche de cinquante pour écarter les accidents.
Autrement dit, l'INP ne mesure pas votre interaction moyenne. Il mesure ce que vit un visiteur sur quatre, au pire moment de sa visite.
Pourquoi il a remplacé le FID
L'INP a remplacé le First Input Delay comme Core Web Vital le 12 mars 2024. Le FID ne mesurait que le délai d'entrée de la toute première interaction. Une page pouvait obtenir un bon FID et répondre ensuite très lentement à chaque choix de variante. L'INP couvre toute la visite et toute la durée de l'interaction, ce qui le rend nettement plus exigeant.
Ce qu'il pèse dans le référencement
Google recommande d'obtenir de bons Core Web Vitals et indique qu'ils s'alignent sur ce que ses systèmes de classement cherchent à récompenser. Ce n'est pas le critère principal : une page lente et pertinente passera devant une page rapide et vide. Mais à pertinence égale, et surtout pour le visiteur qui hésite à acheter, une boutique qui répond au doigt fait la différence.

Ce qui dégrade l'INP sur une boutique Shopify
Le JavaScript chargé au démarrage
La documentation de Shopify est explicite : trop de JavaScript, chargé au mauvais moment ou mal écrit, est l'une des principales causes d'un mauvais INP. Pendant le chargement, le navigateur exécute les scripts sur un seul fil principal. Toute tâche qui dure plus de 50 millisecondes est une tâche longue : pendant qu'elle tourne, un appui du visiteur attend. C'est pour cela que les interactions des premières secondes sont souvent les plus lentes.
Les apps
Une boutique Shopify accumule les apps, et chacune peut charger son script sur toutes les pages, y compris celles où elle n'affiche rien. Shopify distingue trois façons pour une app de s'intégrer au thème : les blocs d'app, les intégrations d'app et le code ajouté directement au thème. Les intégrations se désactivent depuis l'éditeur de thème, ce qui permet de mesurer leur effet une par une. Le code collé dans les fichiers du thème, lui, reste en place tant que personne ne le retire, y compris parfois après la désinstallation de l'app.
Les balises marketing
Pixels publicitaires, outils d'analyse, cartes de chaleur, tests A/B : ces scripts écoutent souvent chaque clic de la page pour l'enregistrer, et ce travail s'ajoute à la durée de traitement de chaque interaction. Shopify propose de les déclarer comme pixels web dans les événements clients. Les pixels fournis par des apps s'exécutent alors dans un bac à sable isolé (un web worker), les pixels personnalisés dans une iframe isolée de la page, plutôt que directement dans le code du thème.
Le thème lui-même
Shopify le rappelle : un code propre au thème mal écrit fait autant de dégâts qu'un script tiers mal intégré. Les causes les plus fréquentes :
un choix de variante qui recharge et réinjecte toute la section produit, galerie comprise ;
un méga-menu de plusieurs centaines de liens présent dans le DOM de chaque page ;
des pages de collection à 48 cartes, chacune avec ses pastilles, sa seconde image et son bouton d'achat rapide ;
des animations au défilement calculées en JavaScript, qui lisent la position des éléments juste après les avoir modifiés et forcent le navigateur à recalculer la mise en page ;
une bibliothèque de carrousel chargée sur toutes les pages pour un seul bandeau.
Les interactions à surveiller en priorité
Interaction | Cause fréquente | Première piste |
|---|---|---|
Ouvrir le menu mobile | Menu construit en JavaScript à l'ouverture, DOM très lourd | Menu présent en HTML, ouverture en CSS |
Choisir une variante | Rendu complet de la section, galerie rechargée | Mettre à jour prix et disponibilité d'abord, le reste ensuite |
Ajouter au panier | Requêtes enchaînées avant tout retour visuel | Ouvrir le panier avec un état de chargement immédiat |
Ouvrir un filtre | Recalcul de toute la grille | Afficher le panneau, filtrer dans une tâche suivante |
Taper dans la recherche | Requête et rendu à chaque frappe | Attendre une courte pause de frappe avant de chercher |
Fermer le bandeau cookies | Chargement de tous les scripts autorisés au même instant | Échelonner leur chargement après la fermeture |
Mesurer : le terrain d'abord
L'INP est une mesure de terrain. Il dépend des appareils de vos visiteurs, de leurs gestes et de ce qui se charge à ce moment-là. Les outils de laboratoire servent à reproduire un problème, pas à le découvrir.
Le rapport Core Web Vitals de la Search Console
Le rapport Core Web Vitals de la Search Console regroupe vos adresses par comportement similaire, sépare mobile et ordinateur, et classe chaque groupe en bon, à améliorer ou mauvais. Il s'appuie sur les données réelles des utilisateurs de Chrome (CrUX), agrégées sur les 28 derniers jours : une correction met donc plusieurs semaines à s'y voir entièrement.
PageSpeed Insights
PageSpeed Insights affiche en haut les données de terrain de la page et de l'origine, quand le trafic est suffisant, et en dessous un test de laboratoire. Ne confondez pas les deux : le test de laboratoire charge la page sans interagir avec elle, il ne mesure donc pas l'INP. Google signale que le Total Blocking Time peut servir d'indicateur approché, sans le remplacer.
Le rapport de performance web de Shopify
Shopify propose dans l'admin des rapports de performance web qui suivent le LCP, l'INP et le CLS dans le temps, au 75e centile par défaut, avec un détail par adresse et par type de page. Ils demandent l'autorisation d'accès aux rapports. Leur intérêt est de relier une dégradation à une date, donc à l'installation d'une app ou à la publication d'un thème.
Trouver l'interaction coupable
Les rapports disent quelle page est lente, pas quel bouton. Pour le savoir :
Collectez l'attribution sur le terrain. La bibliothèque web-vitals de Google, dans sa version d'attribution, indique pour chaque INP l'élément touché et la répartition entre les trois temps. Envoyez ces données à votre outil d'analyse.
Identifiez les scripts responsables. L'API Long Animation Frames de Chrome attribue les images lentes aux scripts qui les ont causées, avec leur adresse : c'est ainsi qu'on distingue le thème d'une app.
Reproduisez en laboratoire. Dans le panneau Performance de Chrome, ralentissez le processeur pour simuler un téléphone moyen, enregistrez, et répétez l'interaction pendant le chargement de la page, quand le fil principal est le plus encombré.
Corriger, dans l'ordre
1. Faire l'inventaire
Dupliquez le thème publié et travaillez sur la copie. Listez chaque script chargé, son origine (thème, app, balise) et les pages où il sert vraiment. L'onglet Réseau et l'outil Couverture de Chrome montrent ce qui est téléchargé et ce qui est réellement exécuté.
2. Retirer avant d'optimiser
Le script le plus rapide est celui qu'on ne charge pas. Désinstallez les apps qui ne servent plus et cherchez dans le thème le code qu'elles ont laissé. Supprimez les doublons : deux outils d'analyse, deux apps d'avis, un pixel installé à la fois dans le thème et dans les événements clients. Limitez chaque app aux gabarits où elle apparaît. Notre sélection des apps Shopify vraiment utiles part du même principe.
3. Différer ce qui n'est pas urgent
Shopify recommande de différer les scripts non critiques et de charger les modules au moment de l'interaction plutôt qu'au chargement. Une bulle de discussion peut n'être qu'une image tant que personne ne clique dessus. Un guide des tailles n'a pas besoin de son script avant qu'on l'ouvre.
4. Découper les tâches longues
Quand un clic doit déclencher beaucoup de travail, affichez d'abord le retour visuel, puis rendez la main au navigateur avant de continuer. Google détaille la méthode dans son guide sur les tâches longues. La fonction scheduler.yield() permet de céder le fil principal en reprenant ensuite en priorité ; elle n'est pas disponible partout, d'où un repli sur setTimeout.
// Rendre la main au navigateur entre deux étapes
const ceder = () =>
globalThis.scheduler?.yield
? scheduler.yield()
: new Promise((r) => setTimeout(r, 0));
bouton.addEventListener('click', async () => {
panier.ouvrir({ chargement: true }); // retour visuel immédiat
await ceder();
const contenu = await ajouterAuPanier(formulaire); // /cart/add.js
panier.afficher(contenu);
await ceder();
analytics.envoyer('ajout_panier'); // ce qui ne se voit pas, en dernier
});
Le principe vaut pour tout gestionnaire d'événement : ce que le visiteur doit voir passe en premier, le reste attend la tâche suivante.
5. Alléger le rendu
Le délai de présentation dépend surtout de la taille du DOM et des recalculs de mise en page. La documentation de Google sur l'optimisation de l'INP recommande de garder le DOM réduit, d'éviter de lire une dimension juste après avoir modifié un style, et d'utiliser la propriété CSS content-visibility pour différer le rendu des zones hors écran. Sur une boutique, cela veut dire : des menus qui ne contiennent pas tout le catalogue, des grilles paginées plutôt qu'infinies, et des animations confiées au CSS.
6. Vérifier après chaque mise en production
Chaque correction se vérifie en laboratoire avant publication, puis sur le terrain dans les semaines qui suivent. Notez la date de chaque changement : quand la courbe bouge dans le rapport de Shopify ou la Search Console, vous saurez pourquoi. Pour le chargement lui-même (images, polices, LCP), notre guide sur la vitesse d'une boutique Shopify complète celui-ci.
Questions fréquentes
Mon score PageSpeed est bon, pourquoi mon INP est-il mauvais ?
Le score PageSpeed vient d'un test de laboratoire qui charge la page sans jamais cliquer. Il ne mesure donc pas l'INP. Vos visiteurs, eux, touchent des boutons pendant que les scripts s'exécutent, sur des téléphones plus lents que la machine de test. Seules les données de terrain, dans la Search Console, PageSpeed Insights ou le rapport de Shopify, reflètent l'INP réel.
Faut-il supprimer toutes ses apps pour avoir un bon INP ?
Non. Il faut garder les apps qui servent les ventes et vérifier le coût de chacune. Désactivez-les une par une sur une copie du thème et mesurez la différence sur les interactions clés. Celles qui coûtent beaucoup pour peu d'usage partent, les autres sont limitées aux pages où elles apparaissent.
Combien de temps faut-il pour voir l'effet d'une correction ?
En laboratoire, l'effet se voit tout de suite. Dans la Search Console et PageSpeed Insights, les données de terrain sont agrégées sur 28 jours glissants : une correction met plusieurs semaines à être entièrement prise en compte. Le rapport de performance de Shopify permet de suivre l'évolution plus finement dans le temps.
Un thème du Theme Store garantit-il un bon INP ?
Non. Shopify exige des thèmes du Theme Store une note de performance Lighthouse moyenne d'au moins 60, mesurée sur une boutique de démonstration et sans interaction. Ce test ne mesure pas l'INP. Vos apps, vos contenus et la taille de votre catalogue changent ensuite le résultat.
L'INP est-il un critère de référencement ?
L'INP fait partie des Core Web Vitals, que Google recommande d'atteindre et qui s'inscrivent dans ce que ses systèmes de classement cherchent à récompenser. La pertinence du contenu reste déterminante. Un bon INP ne compense pas une page sans intérêt, mais un mauvais INP pénalise d'abord vos visiteurs, donc vos ventes.
Pour aller plus loin
La réactivité se gagne surtout dans le thème et dans le choix des apps, deux points que nous traitons dans notre accompagnement SEO Shopify et dans chaque refonte de boutique. Si votre INP est dans le rouge et que vous ne savez pas par où commencer, écrivez-nous : un relevé des scripts chargés suffit souvent à trouver les premiers coupables.
Nos réalisations
Des boutiques livrées par le studio
Bijoux personnalisésRefonte · ShopifyMayaliceRefonte luxe minimaliste et six configurateurs produits pour composer son bijou en direct.
Linge de bainMigration et refonte · ShopifyMaison TrungadiPeignoirs et linge de bain confectionnés en Toscane : une boutique à la hauteur des matières.
Thés et infusionsMigration et refonte · ShopifyLe Cercle des PlantesUn thème entièrement sur-mesure pour des thés et infusions conditionnés à la commande.




