Chargement différé : ne cachez pas votre contenu à Google
Le lazy-load mal configuré cache votre contenu à Google. Apprenez à charger images, vidéos et défilement infini de façon indexable.
Le chargement différé, ou lazy-load, consiste à reporter le chargement du contenu non critique ou non visible immédiatement. C’est une technique efficace pour accélérer l’affichage initial d’une page et améliorer l’expérience utilisateur. Mais mal appliquée, elle peut empêcher Google de voir une partie du contenu, et donc de l’indexer.
L’enjeu SEO est direct : un point clé à retenir est que la recherche Google n’interagit pas avec vos pages. Le moteur ne fait pas défiler l’écran et ne clique sur rien. Si votre contenu ne se charge qu’après une action de l’utilisateur, il restera invisible pour Googlebot. Bien configurer le chargement différé revient donc à concilier performance et indexation : charger le contenu au bon moment, et rendre chaque segment d’un défilement infini accessible par une URL propre. Tout cela prolonge les bases du SEO JavaScript.
Une chose que je martèle : Google ne fait pas défiler la page et ne clique sur rien : tout contenu qui n’apparaît qu’après une action utilisateur est, pour lui, inexistant. En pratique, je vérifie que le lazy-load se déclenche bien à l’entrée dans la fenêtre d’affichage et que le défilement infini repose sur des URL stables, paginées, que Googlebot peut réellement suivre une à une.
Charger le contenu dès qu'il entre dans la fenêtre d'affichage
La règle d’or est de déclencher le chargement quand l’élément devient visible dans la fenêtre d’affichage, et non en réponse à un défilement ou à un clic. Comme la recherche Google n’interagit pas avec la page, seul un chargement basé sur la visibilité garantit que le contenu apparaît pour le moteur. Plusieurs méthodes répondent à ce critère, présentées dans le tableau ci-dessous.
| Méthode | Usage | À retenir |
|---|---|---|
Chargement différé natif du navigateur |
Images et iframes |
L’attribut loading gère le report sans script complexe |
API IntersectionObserver |
Détecter l’entrée d’un élément dans la fenêtre d’affichage |
Un polyfill couvre les navigateurs anciens |
Bibliothèque JavaScript dédiée |
Charger les données visibles dans la fenêtre d’affichage |
Choisir une solution déclenchée par la visibilité, pas par le défilement |
Configurer le défilement infini de façon indexable
Le défilement infini charge de nouveaux contenus au fil du défilement : segments d’un long article ou éléments d’une collection. Pour qu’il reste indexable, votre site doit prendre en charge le chargement paginé. Concrètement, chaque segment doit posséder sa propre URL persistante et unique, et le contenu affiché à cette URL doit rester le même à chaque chargement. Créez des liens séquentiels vers ces URL individuelles afin que Google puisse découvrir l’ensemble paginé ; en cas de souci, reportez-vous à la méthode pour résoudre les problèmes JavaScript. Enfin, quand un nouveau segment devient l’élément principal à l’écran, mettez à jour l’URL affichée avec l’API History pour que l’utilisateur puisse l’actualiser et la partager.
Des URL stables, sans paramètres relatifs
La stabilité des URL est déterminante pour l’indexation du défilement infini. Utilisez des numéros de page absolus, par exemple un paramètre de requête de type ?page=12, afin que la même adresse renvoie toujours le même contenu. Évitez à l’inverse les éléments relatifs comme ?date=hier, dont le résultat change d’un jour à l’autre. Des URL stables permettent à Google et aux utilisateurs de retrouver systématiquement le même contenu, ce qui facilite une indexation correcte et le partage de chaque section.
Tester votre implémentation
Une fois le chargement configuré, vérifiez qu’il fonctionne du point de vue de Google. L’outil d’inspection d’URL de la Search Console permet de contrôler que tout le contenu a bien été chargé. Examinez le code HTML généré et recherchez-y votre contenu : si les URL de vos images ou vidéos apparaissent dans l’attribut src des éléments img ou video, votre configuration est correcte. C’est la preuve concrète que le contenu différé est bien visible pour le moteur, y compris dans le cadre de l’indexation orientée mobile.
Le chargement différé ne doit jamais concerner le contenu immédiatement visible à l’ouverture de la page. Si vous différez ces éléments, leur affichage prendra plus de temps dans le navigateur, ce que l’utilisateur remarquera aussitôt. Réservez le lazy-load aux éléments situés plus bas dans la page, et laissez le contenu du haut se charger normalement pour préserver la rapidité perçue.
À faire
- déclencher le chargement sur la visibilité dans la fenêtre d’affichage
- attribuer une URL unique et persistante à chaque segment
- utiliser des numéros de page absolus
- mettre à jour l’URL via l’API History
- tester le rendu avec l’outil d’inspection d’URL
À éviter
- charger le contenu en réponse à un défilement ou à un clic
- différer le contenu visible dès l’ouverture
- utiliser des paramètres relatifs comme ?date=hier
- oublier les liens séquentiels entre segments
- supposer que Google fait défiler la page
Points clés à retenir
- Déclenchez le chargement sur la visibilité, jamais sur une action utilisateur.
- Donnez à chaque segment une URL unique et persistante.
- Préférez des numéros de page absolus aux paramètres relatifs.
- Mettez à jour l'URL affichée avec l'API History.
- Vérifiez le HTML généré avec l'outil d'inspection d'URL.
Un chargement différé bien réglé concilie performance et indexation.
Quiz : testez vos connaissances
Quiz : testez vos connaissances
-
Sur quel événement le chargement différé doit-il se déclencher pour rester visible de Google ?
- En réponse à un défilement de l'utilisateur
- Quand l'élément devient visible dans la fenêtre d'affichage
- Après un clic sur un bouton dédié
La recherche Google n’interagit pas avec la page. Seul un chargement basé sur la visibilité dans la fenêtre d’affichage garantit que le contenu apparaisse, et non un déclenchement sur défilement ou sur clic.
-
Comment rendre un défilement infini indexable par Google ?
- Donner à chaque segment sa propre URL persistante via le chargement paginé
- Utiliser des paramètres relatifs comme ?date=hier
- Charger tous les segments sous une seule et même URL
Pour qu’un défilement infini reste indexable, votre site doit prendre en charge le chargement paginé. Chaque segment doit posséder sa propre URL persistante.
-
Quel type de paramètre d'URL faut-il privilégier pour un défilement infini ?
- Des paramètres relatifs comme ?date=hier
- Des numéros de page absolus, comme ?page=12
- Aucun paramètre, une URL unique pour tout le contenu
Utilisez des numéros de page absolus, par exemple
?page=12, afin que la même adresse renvoie toujours le même contenu. Évitez les éléments relatifs comme?date=hier.
Besoin d'un accompagnement SEO ?
Un chargement différé mal réglé peut rendre invisible une part importante de vos pages.