Optimiser le SEO d’un site en Javascript : Trop facile !
Alors les SEO ? Nous sommes en 2019 !
Il serait peut être temps de vous mettre au javascript non ?
Angular ? React ? Vue.JS ?
Bon déjà choisir Angular plutôt que React ou Vue.js hum hum... mais ne trollons pas (trop) c'est juste le début de l'article. Il existe beaucoup d'autres frameworks. Chacun pensant que son framework est l'avenir des Internets bien entendu.
Dans tous les cas, il va falloir développer vos compétences les petits gars pour savoir comment optimiser le SEO d'un site utilisant l'un de ces frameworks. Je vous préviens c'est ultra compliqué et technique. Il va falloir être costaud !
Ces frameworks sont de plus en plus utilisés pour de simples sites de contenu. Je ne vous parle pas de twitter like, d'applications de dingue, de backoffices bien chiadés avec du drag & drop partout et... non non juste de simples sites qui affichent du contenu sans interaction ou mise à jour particulière.
Oui oui... de très bons vendeurs arrivent à faire croire qu'il faut obligatoirement utiliser ces frameworks aujourd'hui. Que c'est moderne, le web de demain même. Enfin je parle de "vendeurs" mais de nombreux professionnels du développement web en sont convaincus également.
Alors je me trompe peut être, mais on dirait qu'à l'école des développeurs et intégrateurs, certains sautent les cours où on apprend à faire un site avec ses 10 doigts sans framework dans le bloc note, à lancer une belle petite requête AJAX à la mano.
XmlHttpRequest c'est toujours ça ?
Du coup après, on ne comprend plus rien à ce que l'on fait... et on sort la même artillerie lourde pour le moindre projet.
En fait, je ne sais pas vraiment, mon métier c'est d'optimiser la visibilité. Laissons faire les "experts". Une fois que le projet aura raté, il sera toujours temps de refaire les choses sans complexifier inutilement...
Bref 🙂
Malgré les discours glorieux des moteurs pendant de nombreuses années sur l’exécution du Javascript du coté client, autant vous dire que si vous comptez la dessus, il ne faudra pas espérer ranker bien haut et rapidement.
CLIENT SIDE RENDERING = blague de l'année
Cela signifie laisser le moteur exécuter le javascript comme le visiteur lamba.
Bon j'ai une bonne nouvelle. Je suis super fort sur l'optimisation du Javascript pour le SEO. Il faut savoir que j'étais déjà un cador de l'optimisation des sites sous Flash (humour, vous allez comprendre) alors je vous tout vous expliquer.
Vous vous souvenez ? Oui, oui Flash.
A l'époque déjà, certains se glorifiaient de savoir optimiser le SEO d'un site full flash à l'instar de ceux annonçant savoir optimiser le JS.
Tout cela est FAUX, au mieux peu précis au pire cela relève de la malhonnêteté intellectuelle.
Optimiser le SEO d'un site en FLASH ou JAVASCRIPT c'est le même combat.
Il faut envoyer directement le bon vieux HTML complet avec son beau contenu aux robots.
Voila, c'est tout. Vous avez développé vos compétences SEO significativement. Cela n'est pas vous qui allez coder non ? C'est dingue non ? Et pourtant c'est la vérité.
Bien entendu, si je donnais une conf sur le sujet, j'aurai fait 75 slides pour faire bien et utilisé plein de mots anglais ou louches : pre-rendering, hybrid-rendering, dynamique-rendering, Rendertron, puppetron etc...
Dommage qu'il n'existe pas le DYNAMITE RENDERING, cela aurait été mon préféré.
Les plus attentifs d'entre vous diront : "Comment envoyer cela aux robots ? Tu veux dire qu'il faut faire du cloaking ? Tu ne te fiches pas de nous un peu là Aurélien ?"
Oui c'est vrai, il faut faire du cloaking mais il y a le droit hein. Y'a le bon cloaking et le mauvais cloaking vous savez. En plus c'est du cloaking de newbie sur user-agent 🙂
En gros, les moteurs ont fini par dire qu’exécuter aux mêmes le Javascript et bien c'était un peu dur et long (Les radins !)... et qu'il ne fallait pas hésiter à cloaker et envoyer directement le bon vieux html "finalisé" avec tout le code JS déjà exécuté (rendu/render).
Et voila le travail !
NDR : A ce propos, un message aux lecteurs chinois, suédois et russes de ce blog. N'hésitez pas à m'envoyer des emails rédigés dans votre langue. Si vous joignez à votre email une traduction en français il n'y a alors plus aucun problème pour vous comprendre.
Allez un peu code, cela rendra ce billet un peu plus sérieux.
J'ai ma liste de user agents (oui oui du cloaking sur user agent).
export const botUserAgents = [
'googlebot',
'google-structured-data-testing-tool',
'bingbot',
];
Je checke
isPrerenderedUA = userAgent.matches(botUserAgents)
isMobileUA = userAgent.matches(['mobile', 'android'])
Si c'est dans la liste j'envoie le HTML complet avec le JS déjà exécuté
if (!isPrerenderedUA) {
} else {
servePreRendered(isMobileUA)
}
Forcément dans ces conditions, il n'y a plus de problème puisque le javascript est DEJA exécuté. Cela revient exactement comme s'il n'y avait pas de JS et votre crawl budget vous remerciera.
Qu'avez-vous à savoir en SEO une fois que vous avez demandé cela aux développeurs ? Et bien pas grand chose... (oui oui je sais il existe plusieurs techniques de rendu, des frameworks JS sans mode SSR...).
En revanche, vous avez intérêt à bien recetter et à monitorer le bouzin parce que visuellement si tout est cassé vous ne verrez rien, il faut aussi veiller aux différences à chaque fois que le site évolue... sinon cela devient du cloaking interdit mon bon monsieur.
Vous allez vous amuser entre les CTRL+U, les F12, activer JS puis désactiver, les changements de UA avec et sans JS puis les crawls de 10H avec et sans rendu JS 😀 Il va falloir être très rigoureux et multiplier les tests. Surtout n'oubliez pas de facturer le double ou le triple de votre temps habituel de recette.
Le moindre problème, un user agent qui saute, plus de contenu dans le HTML = pas de SEO.
Le jeu des 7 erreurs afin de comparer votre version serveur et votre version client est assez rigolo aussi.
Sur le papier quand il n'y a pas de problème et que vos développeurs sont des cadors, ça roule !
J'ai coutume de dire : quand il n'y a pas de problème, il n'y a pas de problème 🙂
Mais cela n'est pas ce que j'appelle optimiser javascript. C'était le même histoire que Flash où il fallait mettre en sous couche tout le site en HTML...
Alors bien sûr, un jour, peut être, surement, les moteurs auront tellement de puissance de calcul que le robot de base exécutera JS. Adieu alors pre-render / serveur side rendering... mais pour l'instant le calculateur quantique n'est pas là.
Si vous restez au client side rendering, il faudra un JS léger et rapide... et surtout attendre qu'un robot spécial daigne de passer tous les 36 du mois. Autant dire que c'est du suicide SEO.
Pour la route et pour faire plus sérieux, voici un peu de documentation. Google a lancé cette année une magnifique doc sur le Javascript et le SEO.
Ainsi qu'une chaine Youtube dédiée au SEO et Javascript
Et quelques blogposts interessants
Merci à eux.
Et enfin, voici une présentation récente sur le sujet :
Render v Rank SEO for JavaScript - SEMPDX EngagePDX 2019
Le web et la mode
Certains professionnels du web se posent peu de questions.
Google lance AMP c'est génial ! Des personnes ont supprimé du contenu et gagné du trafic ? Vive le content prunning, même pas la peine de vérifier si les pages génèrent du CA ! Et je ne rankerai jamais sans un PBN car mon concurrent en a un.
C'est toujours le problème de la mode.
Les problèmes de fond sont :
- Avons-nous besoin d'utiliser à fond JAVASCRIPT pour un site "normal" de contenu ou ecommerce ?
- Mon équipe technique a-t-elle vraiment les compétences ?
- Est-ce-que l'utilisation de ce type de framework va permettre de développer plus vite ou de faire des économies ?
- Pourquoi utiliser cette technologie plutôt qu'une autre ?
- Dans un environnement ultra-concurrentiel est-ce-que au moins 1 site est leader avec cette techno ?
- La majorité de ma page doit-elle vraiment être "générée" par JS ?
Les réponses du type :
- Parce que c'est l'avenir
- Tous les gros utilisent cela
Ne sont pas des arguments.
Enfin, à un SEO qui vous dit que cela ne pose pas de problème, n’oubliez pas de lui demander 5 exemples de bons résultats obtenus sur des expressions clés concurrentielles. Alors, à ce moment là, vous devriez avoir le sentiment grisant de faire de l'innovation.
Amusez-vous bien, c'est l'avenir du SEO 😀