
Ouvrir restaurant-lhemicycle-toulouse.com
L’Hémicycle
restaurant bistronomique, Toulouse.
août 2026 : 77 clics pour appeler et 74 sur Réserver, comptés un par un.
Le 11 septembre 2026, j’ai appelé 1 961 sites d’entreprises françaises sans exécuter une ligne de JavaScript, comme un robot à son premier passage. 20 ne servent presque rien, soit 1,0 %. Si ton site fait partie des 99 autres, ce n’est pas ton problème et tu peux garder ton argent. Le test pour le savoir prend trente secondes, il est plus bas.
Ce que reçoit un robot avant d’exécuter quoi que ce soit
Les deux extraits sont réels. Tu vois le second en entier sur cette page même, avec Ctrl et U.
Un site invisible sans JavaScript
<div id="root"></div>
<script src="/assets/index-a7f3.js"></script>Zéro mot. Trois des sites mesurés servent ça, et rien d’autre.
Cette page, construite en React elle aussi
<h1>SEO JavaScript.</h1>
<p>Sur 1 961 sites d'entreprises
francaises appeles le 11 septembre
2026, 20 ne servent presque rien
sans JavaScript.</p>Le texte est déjà là, en React aussi : tout se joue sur ce qui est envoyé au premier passage.
En bref
Le problème du SEO JavaScript touche un site sur cent. Sur 1 961 sites d’entreprises françaises appelés le 11 septembre 2026 sans exécuter une ligne de JavaScript, 20 ne servent presque rien, dont 3 qui ne servent aucun mot. Le test qui te place d’un côté ou de l’autre prend trente secondes et il est plus bas.
Trois gestes, dans cet ordre. Le premier suffit dans la plupart des cas, le deuxième tranche quand le premier laisse un doute, le troisième montre le résultat à quelqu’un qui ne lit pas de code. Aucun outil payant, aucun compte à créer sauf pour le deuxième, que tu as déjà si ton site est suivi.
Si le test te met du bon côté et que ton site reste pourtant absent des résultats, la cause est ailleurs, et j’ai listé les raisons qui reviennent quand un site n’apparaît pas sur Google.
La documentation de Google décrit la file d’attente de rendu en détail. Lire la source
Ouvre ta page d’accueil, appuie sur Ctrl et U en même temps (Cmd et U sur un Mac). Une fenêtre s’ouvre avec du code : c’est ce que reçoit un robot avant d’exécuter quoi que ce soit. Appuie sur Ctrl et F, et cherche une phrase que tu vois à l’écran, par exemple ton slogan ou le titre d’un service.
Le seuil qui tranche
La phrase ne s’y trouve pas : le navigateur fabrique ton texte après coup, sans qu’il soit envoyé. Tu es dans le pour cent concerné. Si la phrase y est, tu ne l’es pas, et la suite de cette page ne te concerne que par curiosité.
Dans la Search Console de ton site, colle l’adresse de ta page dans la barre d’inspection en haut, puis lance le test en direct et ouvre le HTML testé. Google te montre alors la page telle qu’il l’obtient après avoir exécuté le JavaScript, ce qui n’est pas la même chose que l’étape 1.
Le seuil qui tranche
Ton texte est absent aussi de ce HTML-là, ou la capture d’écran du test est blanche : le retard devient un échec. À ce stade, aucun travail de contenu ne sert tant que ce n’est pas corrigé.
Dans Chrome, ouvre les outils de développement avec F12, appuie sur Ctrl, Maj et P, tape « JavaScript », choisis « Disable JavaScript », puis recharge la page. Cette étape ne demande de lire aucune ligne de code : elle se montre à quelqu’un qui décide.
Le seuil qui tranche
Tu vois une page blanche, un squelette, ou une roue qui tourne sans fin : c’est ce que ton site envoie au premier passage. N’oublie pas de remettre le réglage comme avant en décochant la case, sinon la moitié du web arrêtera de fonctionner chez toi.
Ce test a ses limites : une page qui passe les trois étapes peut avoir d’autres problèmes, et une page qui échoue à la première peut rester correctement indexée pendant des mois avant que ça se voie. Il répond à une seule question, la première à poser quand un site est construit en JavaScript : est-ce que mon texte part avec la page, oui ou non.
Comment la mesure a été faite, pour que tu puisses la refaire. Le 11 septembre 2026, j’ai appelé une par une 3 096 adresses d’entreprises françaises déjà collectées pour ma prospection, sans navigateur, donc sans exécuter une seule ligne de JavaScript. J’ai compté le texte réellement présent dans le fichier reçu, une fois les scripts et les balises retirés. Le seuil retenu est de 120 mots, et il est large : la médiane est de 679 mots.
Trois des 20 ne servent aucun mot. Je les ai ouverts un par un dans un navigateur pour vérifier le contraste, parce qu’une mesure sans navigateur prouve seulement une absence.
La liste des 20 noms n’est pas publiée : ce sont vingt entreprises qui ne m’ont rien demandé. Quatre adresses ont été écartées du décompte avant publication, parce que ce sont des domaines à vendre ou des pages en construction.
mots servis par l’accueil de ce site avant qu’une ligne de JavaScript s’exécute
amiseo.fr est une application React construite avec Vite, la famille d’outils dont parle cette page. Chaque page est écrite en entier au moment de la mise en ligne, donc le texte part avec le fichier. Appuie sur Ctrl et U sur cette page, cherche une phrase que tu vois à l’écran : elle y est.
Le problème vient du réglage qui décide qui écrit la page, quel que soit l’outil : le serveur au moment de la mise en ligne, ou le navigateur du visiteur une fois arrivé.
Ni l’un ni l’autre n’est une application JavaScript
Je n’ai pas de client en React à te montrer. Voici les deux que je peux citer : des sites que j’ai construits puis mesurés. Si tu veux une référence sur une application JavaScript existante, je n’en ai pas encore.

Ouvrir restaurant-lhemicycle-toulouse.com
restaurant bistronomique, Toulouse.
août 2026 : 77 clics pour appeler et 74 sur Réserver, comptés un par un.

épicerie fine et caviste, Toulouse.
Deux fenêtres de quatre semaines qui se touchent, lues dans la Search Console : 199 puis 381 clics venus de Google.
Aucun montant n’est affiché ici : un chiffre annoncé avant d’avoir ouvert ton code se renégocie ensuite. Voici les quatre choses qui font bouger le devis.
Cette question vient en premier et décide de tout le reste. Soit les pages sont écrites une fois pour toutes au moment de la mise en ligne, soit un serveur les écrit à chaque visite, soit personne ne les écrit et le navigateur du visiteur s’en charge. Le premier cas est le plus simple et le moins cher à tenir dans le temps, il convient à presque tous les sites d’entreprise. Le deuxième s’impose quand le contenu change en permanence, et il coûte plus cher parce qu’il faut un serveur qui tourne, le surveiller et le payer tous les mois.
Ça change tout, et dans les deux sens. Si ton application est propre et que quelqu’un la maintient, je peux souvent régler le problème sans rien réécrire, en travaillant avec la personne en place, et ce cas reste le moins cher de tous. Si le code a été livré par un prestataire parti sans rien laisser, il faut d’abord comprendre ce qu’il fait avant d’y toucher, et ce temps-là se paie. Je regarde le dépôt avant de chiffrer : un devis écrit sans avoir ouvert le code se renégocie.
Invisible à l’écran, décisif sur le devis. Une application vitrine qui tient en six pages et un catalogue de cinq cents fiches qui doivent chacune avoir son adresse, son titre et sa description ne demandent pas le même travail, même si elles se ressemblent quand on les fait défiler. Cette question décide aussi si ton contenu peut être écrit d’avance ou non. Quand je chiffre, je compte des adresses.
Je ne garantis aucune position sur Google, pour une application JavaScript pas plus qu’ailleurs, et personne ne peut la garantir. Corriger ce défaut ne fait pas monter un site tout seul : ça le rend lisible, et cette condition ne suffit pas seule. Je ne fais pas de tarif de sympathie, un travail bradé est un travail expédié. Et je ne prends pas un chantier que je ne peux pas finir : si ton application demande une équipe, je te le dis au premier échange.
Avant de comparer deux devis, lis ce que 25 agences françaises écrivent quand elles affichent un prix, et ce que ce prix contient.
Et si ton budget et mon devis ne se rencontrent pas, tu le sauras dès le premier échange. Tu garderas l’autopsie de ton site, et tu pourras la donner à l’agence ou au développeur que tu choisiras à ma place.
On travaille bien ensemble si
Je ne serai pas le bon si
La première ligne est la plus importante : un site sur cent est concerné.
Questions fréquentes
Oui, et sa documentation le décrit en détail. Le mécanisme se fait en deux temps : Google récupère d’abord le fichier envoyé par ton serveur, puis met la page dans une file d’attente pour exécuter le JavaScript plus tard, quand il a des ressources disponibles. Ce qui n’apparaît qu’après cette exécution existe donc pour lui, mais avec du retard et à condition que rien n’échoue entre-temps. Dire que Google est aveugle au JavaScript est faux depuis des années.
Non, et le site que tu lis en ce moment est en React. Le résultat dépend du réglage qui décide qui écrit la page et à quel moment. Une application React dont les pages sont écrites d’avance au moment de la mise en ligne envoie son texte comme n’importe quel site : l’accueil de celui-ci sert 4 581 mots avant qu’une ligne de JavaScript s’exécute, tu peux le vérifier avec Ctrl et U. La même application React laissée en réglage par défaut n’envoie qu’un conteneur vide.
Le test est écrit en entier plus haut sur cette page, en trois étapes, et il prend trente secondes. Le premier geste suffit dans la plupart des cas : ouvre ta page, appuie sur Ctrl et U, puis cherche avec Ctrl et F une phrase que tu vois à l’écran. Si elle est dans le code affiché, ton texte part avec la page et tu n’es pas concerné. Si elle n’y est pas, tu l’es. Sur 1 961 sites français mesurés le 11 septembre 2026, 20 sont concernés : la réponse est presque toujours non.
Presque jamais, et c’est la bonne nouvelle. WordPress écrit ses pages sur le serveur avant de les envoyer, donc ton texte part avec le fichier par construction. Les rares cas où ça coince sont des blocs particuliers qui se chargent après coup, par exemple un catalogue, un moteur de recherche interne ou une carte interactive greffés sur une page sinon normale : le reste de la page est visible, cette partie-là ne l’est pas. Le test des trois étapes le montre tout de suite, puisque tu cherches une phrase précise et pas la page entière.
Pas forcément, et c’est souvent la réponse la plus chère qu’on te proposera. Réécrire une application entière pour changer de cadre technique est un chantier lourd, justifié quand le contenu change en permanence ou quand il y a des centaines de pages à produire. Dans beaucoup de cas plus simples, il suffit de faire écrire les pages une fois pour toutes au moment de la mise en ligne, sans changer de cadre ni louer un serveur qui tourne en permanence. Je regarde le code avant de dire lequel des deux s’impose, jamais l’inverse.
Non, tant que tout le monde reçoit la même chose. Tricher, ça consiste à servir un contenu aux moteurs et un autre aux visiteurs, et ça se sanctionne. Écrire les pages d’avance revient à servir exactement le même texte à tout le monde, simplement plus tôt : le visiteur le voit plus vite, le robot aussi. La question mérite d’être posée parce qu’il existe une vieille technique, le rendu différencié selon le visiteur, qui se rapproche dangereusement de la ligne rouge et que je ne propose pas.
Le premier signe arrive en quelques jours sur les pages importantes, et l’image complète met souvent plusieurs semaines, le temps que Google repasse sur l’ensemble du site. Ce délai ne dépend pas de moi et personne ne peut le raccourcir en payant. On peut en revanche le rendre visible : on relève ce qui est servi avant l’intervention, on le relève après, et on regarde les pages indexées bouger dans la Search Console.
Là, l’enjeu change de taille. Google exécute le JavaScript, avec du retard mais il le fait. Les robots des moteurs de réponse, eux, se contentent le plus souvent du fichier envoyé par ton serveur et n’exécutent rien : un site invisible sans JavaScript n’a pas de seconde chance chez eux, il n’existe simplement pas. Autrement dit, le défaut qui ne coûtait qu’un retard sur Google coûte la totalité de la visibilité sur ces moteurs-là.
Oui, et c’est souvent le meilleur montage, en plus d’être le moins cher. Quelqu’un connaît déjà ton code et le maintient : je diagnostique, j’explique le réglage, je donne les deux chiffres avant et après, et la personne applique. C’est écrit dans mes engagements plus haut, le réglage n’est pas gardé pour moi. Je prends la main entièrement quand plus personne ne maintient le code, ce qui arrive souvent quand le prestataire d’origine est parti sans rien transmettre.
Donne-moi l’adresse de ton site et tu reçois sous 48 heures ouvrées une vidéo commentée à la main : combien de mots ton site sert avant qu’une ligne de JavaScript s’exécute, ce que Google obtient après exécution, et ce qui manque ensuite. Sans rendez-vous, sans engagement.
Et si tu confies ce chantier à quelqu’un d’autre, garde les trois étapes plus haut et demande-lui les deux chiffres, avant et après.
Page écrite le , mise à jour le . La mesure porte sur 3 096 adresses appelées ce jour-là.
On en parle ?
Maxim répond lui-même.