Lorsque l’on parle du JavaScript dans le domaine du SEO, on ne sait pas vraiment sur quel pied danser. Avoir un script dans son code est-il dangereux et si oui dans quelle mesure ?
Malgré ce que l’on peut imaginer, le JavaScript n’a pas qu’une seule forme, dire « le JavaScript est dangereux pour le référencement de votre site » est un raccourci qui n’est vrai que dans certains cas.
En vérité, le JavaScript possède de nombreuses formes et même si certains scripts peuvent s’avérer bloquants pour le référencement, d’autres seront parfaitement inoffensifs et participeront, comme les autres éléments de vos pages, à la santé et au trafic de votre site.
Le JavaScript visuel
On connaît surtout le JavaScript pour ses effets visuels. Que ce soit dans un carrousel ou dans un menu animé, le JS permet, entre autres, de rajouter une surcouche au code HTML qui viendra dynamiser le contenu de la page.
Ce n’est pas parce qu’un carrousel exploite le JavaScript que son contenu sera invisible aux moteurs de recherche. Ce n’est pas non plus parce que votre contenu est transformé par JavaScript qu’il sera de moins bonne qualité qu’un contenu classique.
Le point important à garder en tête est qu’un contenu transformé par JavaScript sera perçu par les moteurs de la même manière qu’un contenu classique. En revanche, un contenu généré par JavaScript sera pris en compte différemment ou ne sera parfois pas pris en compte du tout.
Repérer le JavaScript dans une page
A part en scrutant le code ou en utilisant des plugins, vous ne verrez jamais un code JavaScript vous faire des signes pour vous signaler sa présence. Même si l’interaction avec un carrousel permet de repérer assez facilement la présence du JavaScript, il est tout à fait possible qu’un texte ou un lien semblant pourtant normaux soient affichés grâce à JavaScript.
Désactiver le JavaScript et le CSS grâce à un plugin (Webdevelopper par exemple) est la méthode utilisée généralement pour connaître les différents éléments présents en HTML sur la page. Cette manipulation basique est importante car très souvent, par facilité ou par habitude, les développeurs font le choix d’intégrer des éléments à l’aide de JavaScript, ce qui peut coûter très cher à la visibilité d’un site internet.
Exploiter les avantages du JavaScript
Si le JavaScript est souvent considéré comme un ennemi, il peut également être utilisé comme un allié pour structurer un site. Le lien joue un rôle de choix dans le domaine du référencement, et présenter un lien aux moteurs de recherche peut parfois coûter beaucoup à l’équilibre de la structure d’un site. Grâce à JavaScript, il est possible de sélectionner les liens que l’on souhaite ou non soumettre au calcul de popularité de Google.
Exploiter le JavaScript pour adapter le maillage interne et optimiser la diffusion de popularité est l’un des exemple qui en font un outil important en référencement naturel.
L’AJAX
L’AJAX est une technologie combinant principalement le JavaScript et le XML et permettant de charger des contenus depuis le serveur sans rechargement de la page (requête dite asynchrone).
Pour l’expérience utilisateur, on peut dire que l’AJAX est un véritable atout, en revanche, pour un référenceur, c’est souvent synonyme de casse-tête. Il est connu pour générer du duplicate content et pour freiner considérablement la prise en compte du contenu. Ces deux informations sont vraies, en tout cas lorsque les bonnes pratiques ne sont pas appliquées.
En tant que SEO, il est naturel de ne pas conseiller l’AJAX : un site en AJAX sera plus complexe à entretenir d’un point de vue référencement, plus difficile à développer pour mettre en place les bonnes pratiques, et aura plus de mal à faire crawler son contenu comparé à un site en HTML simple. Néanmoins, refuser à tout prix son utilisation, même lorsque l’AJAX représente une vraie valeur ajoutée pour votre site ou celui de votre client, n’est pas forcément la bonne approche.
Plusieurs billets de qualité ont déjà été publiés sur l’angle technique à adopter pour référencer des contenus en AJAX, le déploiement d’un Headless Browser nécessite à lui seul un tutoriel complet, je ne m’étalerais donc pas sur ce sujet.
L’AJAX n’est pas l’ennemi juré du référencement, mais il est sûr que son utilisation demandera aussi bien au référenceur qu’à l’équipe de développement de préparer en amont les détails techniques qui permettront la bonne indexation du contenu.
Le JavaScript, partie intégrante du SEO
Avant toute recommandation, je prends généralement le temps d’observer le contenu JavaScript d’une page. Parfois, de simples recommandations à ce sujet peuvent régler de gros problèmes d’indexation ou de prise en compte du contenu.
En conclusion, le JavaScript est un critère SEO aussi important que les autres et il est primordial de le prendre en compte. Il peut également être un facteur bloquant c’est pourquoi il est nécessaire de déverrouiller ses barrières potentielles avant d’optimiser la sémantique ou la structure d’un site, sans quoi même un travail de qualité peut s’avérer inefficace.



Bonne analyse, j’ai aussi constaté que le JavaScript peut être utilisé à bon escient pour le « scultage » du site… Des liens intéressants pour le visiteur, mais pas pertinents pour le référencement.
Et il est sur que référencer un site 100% ajax est un vrai casse-tête…
Le JavaScript apporte un plus indéniable pour l’expérience utilisateur, et utilisé de façon pertinente, son impact est faible sur le SEO.
Bonjour
Réflexion intéressante. Je pense que du point de vue du SEO il faut y voir un allié plutôt qu’un ennemi (sous réserve qu’il soit bien utilisé s’entend !)
Il peut permettre de présenter les informations de manière plus ergonomique à l’internaute, tout en gardant une structure « propre » pour les moteurs (par ex. en étendant la portée d’une balise A sur un bloc, alors que dans le code elle est sur une ancre précise ; autre exemple très courant : les menus déroulants !)
Il peut aussi permettre de charger en asynchrone (et donc sans le rendre visible aux moteurs) du contenu sans intérêt sémantique. C’est une méthode que j’utilise sur un de mes sites, qui affiche des listes de prénoms de cette manière
(quand on a +1500 prénoms affichés sur une page, autant vous dire que ça dilue le contenu « intéressant » d’un point de vue moteur ! Et ce qui est marrant, ce sont les webmasters qui copient ce contenu ^_^)
Super résumé de l’état des lieux.
En complément, je dirais que le JS peut être un frein à la performance, donc un ennemi du référencement. Un script qui mouline trop ou qui bloque peut empêcher le chargement de la page et le moteur peut considérer qu’elle doit être déclassée.
La solution asynchrone me semble idéale, sans parler bien sûr d’externaliser systématiquement, mais ce n’est pas la plus aisée à mettre en place.
@Cedric : c’est un bon exemple en effet, si ce genre de pratique est utilisée avec raison, cela permet d’éviter aux moteurs de prendre en compte un contenu superflu. Il ne faut pas lever la barrière du cloaking, tout est une question de calibrage
@LaurentB : nous sommes d’accord, les problèmes de chargement de page incriminent très (trop) souvent le JavaScript. Ce qui peut sembler « indolore » pour un utilisateur peut avoir des répercussions négatives sur la perception qu’ont les moteurs d’une page.
Ce genre de détail devrait être une préoccupation importante dans la tête de chaque développeur web !
Je pense que l’impact est en effet de moins en moins important, j’avais lu un article anglophone vraiment intéressant Googlebot is Chrome, il tend à montrer que les bots de GG sont capables de vraiment interpréter le contenu, on est loin des spiders d’il y a 10 ans.
je partage l’idée de penser au départ code et structure de site en désactivant tous les freins existants qui pouvaient handicaper son seo avant même de structuriser et réfléchir au volet sémantique et contenu ..
En effet, les expériences montrent que parfois il est nécessaire de refaire entièrement tout un site contenant des freins, comme le recours massif à l ajax et les menus flash et javascript (au moins pour ma part) que de penser à les atténuer et à perdre de son temps dans la partie technique ..
En conclusion, on assiste à une ère de référencement ou le coté sémantique et toujours le leader et le critère possédant le plus d’importance dans la définition d’une bonne optimisation de contenu. Du coup, c’est toujours il faut s’avoir quelle voie à prendre en compte, s il le site bourré de javascript c’est à refaire, si il présente peu de freins, c comme vous avez dit à le prendre en tant qu’allié ..
Il faut juste tirer partie de ses inconvénients mais par contre faire un site tout en ajax est quand hautement risqué, je suis absolument d’accord avec toi Ludovic.
comme le dit mathias, les bots evoluent sans cesse et apportent une meilleure interpretation du JS, l’indexation des videos ou le contenu flash. donc l’amelioration du referencement du contenu meme via ces technos. qui plus est, l’ajax n’est pas penalisant si tout le contenu à indexer est ecrit dans la page, mais caché de facon intelligente (listes UL/LI, onglets, …), il suffit d’ecrire du code propre et eviter les requetes asynchrones qui, elles, laissent peu de chances aux bots d’aller interpreter le bout de la chaine. bref, une bonne syntaxe ajax et HTML n’est pas pénalisante en SEO, mais l’utilisation à outrance des effets graphiques peut rendre du contenu non indexable.
Sympa l’approche seo via le JS. Je maîtrise pas trop cette techno, mais je regarde toujours lors d’un audit s’il y a des choses de bizarre sur les sites de mes clients.
En cas de doute, je préconise de désactiver !! … on sais jamais avec big G…
Elo
Le vrai problème pour le dév et le référenceur est de savoir quels sont les types de script bloquants ou non, et cela google ne le divulgue pas, donc très bien AJAX, n’est pas très bon pour le référencement, mais sait-on exactement quel ou quel type de script n’est pas bon pour le réf.
Quels type de code Javascript bloque les Google Boots et ceux qui ne les bloquent pas ?