Définition
JavaScript (souvent abrégé JS) est un langage de programmation qui permet d’ajouter de l’interactivité et du contenu dynamique aux pages web. C’est le troisième pilier du web avec HTML (structure) et CSS (style).
En SEO, JavaScript pose des défis spécifiques liés au rendu et à l’indexation.
Rôle de JavaScript
Interactivité
- Menus déroulants
- Formulaires dynamiques
- Animations
- Sliders et carrousels
Contenu dynamique
- Chargement de contenu sans rechargement
- Single Page Applications (SPA)
- Infinite scroll
- Filtres et tris
Frameworks modernes
- React
- Vue.js
- Angular
- Next.js, Nuxt.js
JavaScript et SEO : les défis
Rendu
Google doit exécuter JavaScript pour voir le contenu.
Délai d’indexation
Le rendu JS consomme des ressources, Google peut différer l’indexation.
Contenu invisible
Si le JS échoue, le contenu n’est pas indexé.
Crawl budget
Les ressources JS consomment du crawl budget.
Comment Google gère JavaScript
Processus en deux phases
- Crawl : Google télécharge le HTML initial
- Render : Google exécute le JS pour voir le contenu final
File d’attente de rendu
Les pages JS sont mises en attente pour le rendu, ce qui peut retarder l’indexation.
Googlebot
Utilise une version récente de Chromium pour le rendu.
Problèmes courants
Contenu chargé dynamiquement
// Le contenu chargé après interaction peut ne pas être indexé
button.addEventListener('click', () => {
loadContent();
});
Liens JavaScript
<!-- Problématique -->
<a onclick="goTo('/page')">Lien</a>
<!-- Correct -->
<a href="/page">Lien</a>
Lazy loading agressif
Contenu qui ne charge qu’au scroll peut être manqué.
Erreurs JavaScript
Les erreurs bloquent le rendu du reste du contenu.
Solutions SEO pour JavaScript
Server-Side Rendering (SSR)
Le HTML est généré côté serveur avant d’être envoyé au client.
Frameworks : Next.js (React), Nuxt.js (Vue), Angular Universal
Pre-rendering
Générer le HTML statique à l’avance.
Outils : Prerender.io, Rendertron, Puppeteer
Progressive Enhancement
Contenu de base en HTML, amélioré par JS.
Hybrid Rendering
Combiner SSR pour le contenu critique et CSR pour le reste.
Vérifier le rendu JavaScript
Google Search Console
Outil d’inspection d’URL > voir la page rendue.
Mobile-Friendly Test
Montre le rendu de la page.
Rich Results Test
Affiche comment Google voit la page.
Comparer
Comparez le code source initial avec le DOM rendu.
Bonnes pratiques
Liens et navigation
Utilisez des balises <a> avec href pour tous les liens.
Contenu important
Le contenu crucial doit être dans le HTML initial ou rendu côté serveur.
Images
Utilisez des balises <img> avec src, pas uniquement du JS.
Sitemap
Incluez toutes les URLs dans le sitemap.
Gestion des erreurs
Évitez que les erreurs JS bloquent le rendu.
Performance
Optimisez le temps d’exécution JS (impact Core Web Vitals).
Audit JavaScript SEO
Checklist
- Contenu visible sans JS ?
- Liens crawlables ?
- Pas d’erreurs JS critiques ?
- Temps de rendu acceptable ?
- Lazy loading correctement implémenté ?
- Métadonnées dans le HTML initial ?
Outils
- Screaming Frog (avec rendu JS)
- Google Search Console
- Lighthouse
- DevTools > Disable JavaScript
Conclusion
JavaScript est incontournable dans le web moderne, mais nécessite une attention particulière pour le SEO. Assurez-vous que Google peut accéder à votre contenu, privilégiez le SSR ou le pre-rendering pour le contenu important, et testez régulièrement comment Google voit vos pages. Un bon équilibre entre interactivité et crawlabilité est la clé du succès.