Declaration officielle
<a href="/good-link">Lien suivi</a>
<a href="/good-link" onclick="changePage('good-link')">Lien suivi</a>
Ceux-là, en revanche, ne seront pas suivis :
<span onclick="changePage('bad-link')">Lien non suivi</span>
<a onclick="changePage('bad-link')">Lien non suivi</a>
Bref, si l'URL du lien est générée par exemple en JS, ce lien ne sera pas suivi. Il faut que cette URL soit présente en clair dans l'attribut href pour que le lien soit compris et suivi par Googlebot.
Ce qu'il faut comprendre
Quels liens sont réellement suivis par Googlebot ?
Google a clarifié sa position lors d'une conférence technique : Googlebot suit uniquement les liens dont l'URL est explicitement présente dans l'attribut href. Un lien classique avec balise <a href="/page"> sera toujours crawlé et pris en compte.
En revanche, les liens générés dynamiquement par JavaScript sans attribut href (comme <span onclick="changePage()"> ou <a onclick="..."> sans href) ne sont pas suivis. Cette distinction technique reste fondamentale pour la découvrabilité des pages.
Pourquoi cette limitation technique persiste-t-elle encore aujourd'hui ?
Malgré les progrès du Web Rendering Service de Google, l'analyse des liens reste basée sur le DOM initial plutôt que sur l'exécution complète du JavaScript. Cette approche permet à Google de crawler efficacement des milliards de pages sans surcharger ses ressources.
Plus un lien est complexe dans sa conception technique, plus le risque qu'il ne soit pas détecté augmente. Google privilégie la simplicité et la robustesse plutôt que l'analyse exhaustive de tous les patterns JavaScript possibles.
Quelles sont les implications pour l'architecture d'un site moderne ?
Cette directive impose une contrainte structurelle majeure : tous les liens de navigation critiques doivent exister en HTML statique. Les applications single-page (SPA) ou les sites JavaScript-heavy doivent donc implémenter une stratégie hybride.
- Attribut href obligatoire pour tous les liens devant être crawlés
- Les événements onclick peuvent coexister avec href sans problème
- Les éléments non-
<a>(span, div, button) ne sont jamais considérés comme des liens - Le JavaScript peut enrichir le comportement mais ne doit pas remplacer la structure HTML de base
- Cette règle s'applique indépendamment du rendu JavaScript par Googlebot
Avis d'un expert SEO
Cette déclaration est-elle cohérente avec les observations terrain ?
Oui, totalement. Mes audits confirment systématiquement que les liens sans href ne transmettent aucun PageRank et ne permettent pas la découverte de nouvelles pages. Les tests avec Search Console montrent que ces pages restent non indexées même après des mois.
Cependant, il existe une nuance importante : Google peut parfois découvrir des URLs par d'autres moyens (sitemaps, backlinks externes, historique de navigation Chrome) et les indexer malgré l'absence de liens crawlables. Mais cela ne compense jamais l'absence de maillage interne structuré.
Pourquoi Google maintient-il cette approche apparemment conservatrice ?
La raison est double. D'abord, la scalabilité : analyser le JavaScript de chaque page coûte infiniment plus cher en ressources que parser du HTML statique. Ensuite, la fiabilité : le HTML reste le socle universel du web, indépendant des frameworks et des versions.
Cette approche permet aussi à Google de maintenir la qualité de son index. Un lien HTML explicite est un signal intentionnel clair, tandis qu'un lien généré dynamiquement peut résulter d'un bug ou d'une manipulation non souhaitée.
Dans quels cas cette règle pose-t-elle le plus de problèmes ?
Les applications React, Vue ou Angular en mode SPA sont les plus impactées. Sans Server-Side Rendering (SSR) ou pré-rendering, leur navigation repose entièrement sur JavaScript, créant un maillage interne invisible pour Googlebot.
Les sites e-commerce avec filtres et facettes générées dynamiquement rencontrent aussi ce problème. Si les liens de pagination ou de catégories ne possèdent pas d'attribut href valide, des pans entiers du catalogue peuvent devenir inaccessibles au crawl.
Impact pratique et recommandations
Comment auditer rapidement les liens de son site ?
Utilisez la Google Search Console pour identifier les pages orphelines : si des URLs importantes n'apparaissent pas dans les rapports de couverture alors qu'elles sont dans votre sitemap, c'est souvent un problème de liens. Crawlez ensuite votre site avec Screaming Frog en désactivant le JavaScript : seuls les liens HTML statiques apparaîtront.
Inspectez manuellement vos templates critiques avec les DevTools de Chrome. Cherchez les éléments cliquables : s'ils ne sont pas des balises <a> avec un attribut href valide, ils sont invisibles pour Googlebot.
Quelles corrections techniques faut-il prioriser ?
Commencez par convertir tous les éléments de navigation principale (menus, footer, breadcrumb) en vrais liens HTML. C'est le chantier le plus critique car il impacte l'ensemble du site. Assurez-vous que chaque <a> possède un href même si JavaScript gère le clic.
Pour les applications JavaScript modernes, implémentez du SSR (Next.js, Nuxt.js) ou du pré-rendering (Prerender.io, Rendertron). Ces solutions génèrent du HTML statique avec des liens valides tout en conservant l'expérience utilisateur dynamique.
- Auditer tous les templates avec inspection manuelle du code source HTML brut
- Vérifier que 100% des liens de navigation utilisent des balises <a href="...">
- Tester le site avec JavaScript désactivé pour identifier les zones inaccessibles
- Implémenter du Server-Side Rendering pour les applications SPA critiques
- Ajouter des liens HTML en fallback même quand JavaScript gère la navigation
- Monitorer régulièrement les pages orphelines dans Search Console
- Former les développeurs aux bonnes pratiques HTML pour le SEO
- Documenter les standards de code incluant l'obligation de href valides
Faut-il systématiquement revoir l'architecture technique de son site ?
Pas nécessairement. Si votre site est déjà bien crawlé et indexé, concentrez-vous sur les nouvelles fonctionnalités pour éviter de reproduire ces erreurs. En revanche, si vous constatez des problèmes d'indexation ou un maillage interne défaillant, une refonte technique peut s'imposer.
Cette refonte implique souvent des arbitrages complexes entre performance, expérience utilisateur et SEO. L'analyse du code existant, l'identification des patterns problématiques et l'implémentation de solutions comme le SSR requièrent une expertise technique pointue.
💬 Commentaires (0)
Soyez le premier à commenter.