No-JS fallbacks en 2026 : pourquoi les crawlers IA continuent d'exiger du HTML

Résumez cet article avec l’IA

En bref : Google rend le JavaScript depuis longtemps, Gemini en hérite, mais aucun des grands crawlers IA (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot) n’exécute le JS en 2026. Conséquence : une SPA Next.js, Vue ou Nuxt mal configurée devient invisible pour ChatGPT et Perplexity, quel que soit son classement Google. Le no-JS fallback est moins critique qu’il y a cinq ans — et toujours non-négociable sur les pages clés.
0 %des crawlers IA majeurs qui exécutent le JavaScript (Vercel, 2025)
569 Mrequêtes GPTBot / mois sur le réseau Vercel
11,50 %des requêtes GPTBot ciblent du JS — sans jamais l'exécuter

Le contexte JavaScript 2026 : Google rend, les IA non

Pendant des années, le débat SSR vs CSR tournait autour de Google. On testait avec l’URL Inspector de la Search Console, on regardait si Googlebot voyait bien le prix d’un produit dans le DOM final, et on déclarait victoire si le rendu était propre. Ce réflexe a produit une génération entière de sites e-commerce qui parient sur le rendu côté client parce que Google finit par y arriver.

En 2026, ce raisonnement est devenu dangereux. Pas parce que Google a régressé — il n’a pas régressé, bien au contraire — mais parce qu’une nouvelle famille de crawlers est apparue : les crawlers IA. GPTBot pour OpenAI, ClaudeBot pour Anthropic, PerplexityBot, OAI-SearchBot, Applebot-Extended pour Apple Intelligence, Google-Extended pour Gemini lorsqu’il est opt-out de Googlebot. Et ces crawlers-là, dans leur écrasante majorité, n’exécutent pas le JavaScript.

La preuve la plus claire vient de Vercel, qui a analysé le trafic de 100 000+ pages sur son réseau CDN en 2025. Les chiffres font tomber une illusion confortable : GPTBot génère 569 millions de requêtes par mois, ClaudeBot 370 millions, PerplexityBot 24,4 millions. Le volume combiné représente environ 20 % des requêtes de Googlebot. Parmi ces requêtes, GPTBot fetch 11,50 % de fichiers JavaScript, Claude 23,84 %. Mais aucun ne les exécute. Ils les téléchargent, extraient des chaînes de caractères au mieux, puis passent à la suivante.

Pourquoi est-ce un changement de paradigme ? Parce que la visibilité dans ChatGPT, Claude, Perplexity et les AI Overviews de Google ne se joue plus uniquement sur le crawl de Googlebot. Elle se joue aussi, et de plus en plus, sur ce que ces crawlers-là voient — ou ne voient pas — dans votre HTML source.

Un article publié le 17 avril 2026 par Search Engine Land résume la situation avec prudence : les no-JS fallbacks sont moins critiques qu’il y a cinq ans, mais toujours nécessaires. Ils le sont moins parce que Google a massivement progressé sur le rendu. Ils le restent parce que les IA génératives ne savent toujours pas rendre du JS à l’échelle industrielle, et que leur part dans la découverte de contenu grimpe tous les trimestres.

Un e-commerce qui parie sur le fait que son stack moderne compense tout fait un pari dangereux. Le site a beau être techniquement sophistiqué, si les prix, les disponibilités, les avis et les fiches produits ne sont pas dans le HTML servi en 200, il est invisible pour une IA qui synthétise une recommandation d’achat.

Tous les crawlers ne sont pas égaux face au JavaScript. Cette matrice montre en un coup d’œil quels bots exécutent vraiment le JS et à quelle vitesse — une information décisive pour arbitrer vos choix techniques en 2026.

Matrice de rendu JavaScript : qui voit quoi ?

Capacité de rendu JS par crawler selon le type de contenu

Quels bots rendent vraiment le JavaScript en 2026 ?

La carte est plus claire qu’on ne le raconte sur LinkedIn. Voici ce que montrent les analyses Vercel, searchviu et les tests menés sur plusieurs sites clients ces derniers mois.

Les bots qui rendent le JavaScript

Les bots qui ne rendent PAS le JavaScript

Pourquoi ces bots ignorent le JavaScript ? Faire tourner une instance Chromium pour chaque page coûte 50 à 100 fois plus cher qu’un simple fetch HTTP. Quand vous crawlez 569 millions de pages par mois à la manière de GPTBot, le coût annuel d’un rendu complet se compte en dizaines de millions de dollars. OpenAI, Anthropic et Perplexity font un choix rationnel : ils prennent le HTML tel qu’il arrive, ils en extraient ce qu’ils peuvent, et ils passent à la suivante. Le JavaScript reste une dette technique que vous portez, pas eux.

Conséquence pour un e-commerce ou un site B2B qui mise sur une SPA pure : tout ce qui se charge en useEffect, onMounted ou document.addEventListener('DOMContentLoaded') est invisible pour ces crawlers. Prix, disponibilités, avis clients, FAQ, spécifications techniques, suggestions produits — si ces éléments sont remplis après le rendu initial, l’IA ne les voit pas.

L’article mentionne que 95 % du contenu devrait arriver déjà rendu dans le HTML initial. Cette jauge positionne l’objectif : un site bien architecturé en 2026 ne laisse que 5 % du contenu aux interactions client, tout le reste doit être crawlable immédiatement.

Couverture HTML pré-rendu recommandée en 2026

Part du contenu qui doit arriver déjà rendu pour garantir la visibilité IA

À améliorer Correct Excellent

SSR, SSG, ISR : le standard 2026 rend le problème plus facile à résoudre

La bonne nouvelle : l’écosystème a basculé entre 2020 et 2026. Les frameworks dominants ont fait du SSR le comportement par défaut — plus une option coûteuse à greffer après coup.

Next.js 14+ (App Router)

Depuis l’App Router, Next.js sert du Server Component par défaut. Le rendu se fait sur le serveur Node.js ou sur la edge de Vercel. Le client reçoit du HTML final plus un payload React Server Components. Seuls les composants marqués "use client" nécessitent du JS côté client. Sur un site correctement architecturé, 80 à 95 % du contenu arrive déjà rendu dans le HTML initial.

Nuxt 3

Nuxt 3 avec le Nitro engine propose SSR, SSG et ISR (Incremental Static Regeneration) en configuration minimale. Le mode ssr: true est le défaut. Il suffit d’un pages/ bien structuré pour que chaque route soit pré-rendue. Nuxt 3 rend triviale l’injection des meta tags, Schema.org et Open Graph directement dans la source.

Astro

Astro a transformé l’approche avec son modèle Islands Architecture. Par défaut, Astro produit du HTML pur. Le JavaScript n’est chargé que sur les îlots explicitement marqués interactifs. Résultat : les bots IA voient la totalité du contenu, et le site reste léger côté utilisateur. Pour un blog e-commerce ou une boutique peu interactive, Astro est probablement le choix optimal en 2026.

Remix, SvelteKit, SolidStart

Tous ces frameworks ont adopté le SSR comme valeur par défaut. Remix va plus loin en imposant un modèle où les données doivent être chargées via des loaders côté serveur — la page complète arrive dès la première réponse HTTP.

La réalité du terrain reste mixte

Malgré ces avancées, une proportion importante de sites en production en 2026 tourne encore en CSR pur. Ce sont souvent :

Sur ces sites, le pari est terminé. Ils sont techniquement exclus de l’AI Search, quel que soit leur effort de content marketing. Tant que les prix, disponibilités et informations clés vivent dans une requête XHR post-rendu, Perplexity ne les citera pas, ChatGPT ne les recommandera pas, et Google AI Overviews préférera un concurrent.

Toutes les pages d’un site e-commerce n’ont pas les mêmes besoins de rendu. Voici comment arbitrer entre SSR obligatoire (pour la visibilité IA), SSG (pour la performance) et CSR (quand le SEO n’est pas un enjeu).

Répartition du rendu par type de page e-commerce

SSR/SSG vs. CSR selon la nature de la page

Checklist 8 points pour un no-JS fallback 2026

Voici la checklist que j’applique sur chaque audit technique Hi-Commerce pour vérifier qu’un site est compatible AI Search côté rendu. Huit points. Chacun vérifiable en quelques minutes.

1. Les balises meta essentielles sont dans la source HTML

</code>, <code><meta name="description"></code>, <code><link rel="canonical"></code>, <code><meta name="robots"></code>, Open Graph et Twitter Cards doivent tous apparaître dans la réponse HTTP initiale. Aucun ne doit être injecté via <code>document.head.appendChild()</code> ou par Vue Meta / Next Head au runtime côté client.</p> <h3>2. Le H1 et le titre produit sont servis en 200</h3> <p>Tester avec <code>curl -s https://monsite.fr/produit/xyz | grep -i "<h1"</code>. Si la commande ne retourne rien, le H1 est injecté côté client. Invisible pour les crawlers IA.</p> <h3>3. Le prix et la disponibilité sont dans le HTML source</h3> <p>Point le plus critique pour un e-commerce. Tester avec <code>curl -s https://monsite.fr/produit/xyz | grep -E "(prix|EUR|€|disponible|stock)"</code>. Si le prix n'apparaît pas, l'IA ne peut pas positionner votre offre dans une comparaison.</p> <h3>4. Schema.org inline, pas injecté en JS</h3> <p>Les blocs <code><script type="application/ld+json"></code> doivent être rendus côté serveur. Un Schema injecté par Google Tag Manager après le rendu est invisible pour GPTBot et ClaudeBot. Vérifier avec <code>curl -s ... | grep -c "application/ld+json"</code>.</p> <h3>5. Les FAQ sont rendues côté serveur</h3> <p>Les FAQ sont un des formats préférés des AI Overviews et des citations Perplexity. Si votre bloc FAQ est chargé via un composant accordéon client-side qui fetch une API post-mount, il est invisible. Pré-rendre côté serveur. <a href="https://www.hi-commerce.fr/glossaire/#faqpage" class="hc-gloss-link" title="Définition : FAQPage">FAQPage</a> Schema.org dans la source.</p> <h3>6. Les avis clients sont accessibles en HTML</h3> <p>Les reviews sont devenues un signal d'autorité fort pour les IA. Si votre widget Trustpilot, Avis Vérifiés, Bazaarvoice ou similaire injecte le contenu via un iframe JS ou une API post-rendu, les avis sont invisibles. Utiliser soit un pré-rendu (Trustpilot propose des blocs SSR), soit copier un extrait dans le HTML.</p> <h3>7. Les liens internes sont des balises <code><a href></code> servies en HTML</h3> <p>Un lien qui utilisé <code>onClick={navigate('/categorie')}</code> sans balise <code><a></code> n'est pas un lien pour un crawler IA. Même avec SSR, certains composants React mal architecturés produisent des <code><div role="link"></code> qui passent les tests d'accessibilité mais échouent sur le crawl.</p> <h3>8. Le <code><noscript></code> contient les informations critiques</h3> <p>Pour les cas où le SSR n'est pas possible (widget tiers, micro-frontend legacy), injecter un bloc <code><noscript></code> avec les données essentielles. Les crawlers IA lisent son contenu. Exemple pour un prix :</p> <pre><code><noscript> <p>Prix : 189 € TTC — En stock (livraison 48h)</p> </noscript></code></pre> <p>Cette checklist couvre 90 % des cas où un site e-commerce perd sa visibilité IA à cause du rendu JS. Les 10 % restants ? Fingerprinting par user-agent, anti-bot WAF agressifs (type Cloudflare <em>Bot Fight Mode</em>), blocages CDN mal configurés. Pour ceux-là, audit technique complet.</p> <h2 id="tester-son-site-facilement">Tester son site facilement : commandes curl et user-agent spoofing</h2> <p>Pas besoin d'outil payant pour auditer le rendu de son site face aux crawlers IA. Quatre commandes. Dix minutes maximum. Je les lance en premier sur chaque diagnostic.</p> <h3>Test 1 : rendu HTML brut sans JavaScript</h3> <pre><code>curl -s https://www.monsite.fr/produit/abc | grep -iE "(h1|prix|stock|description)"</code></pre> <p>Si la commande ne retourne pas les infos clés, aucun crawler IA ne les verra. Test le plus simple. Le plus révélateur. Ces 30 secondes remplacent trois heures de diagnostic.</p> <h3>Test 2 : spoofing de user-agent pour simuler les bots IA</h3> <pre><code># Simuler GPTBot curl -s -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)" \ https://www.monsite.fr/produit/abc | head -200 # Simuler ClaudeBot curl -s -A "Mozilla/5.0 (compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" \ https://www.monsite.fr/produit/abc | head -200 # Simuler PerplexityBot curl -s -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://docs.perplexity.ai/docs/perplexity-bot)" \ https://www.monsite.fr/produit/abc | head -200</code></pre> <p>Ce test attrape un cas fréquent : le site sert un HTML différent selon le user-agent. Un WAF ou un CDN bloque parfois les bots IA — réponse vide, 403, rate-limit. Si c'est votre cas, whitelistez explicitement GPTBot, ClaudeBot, OAI-SearchBot au niveau du CDN (Cloudflare, Akamai, Fastly).</p> <h3>Test 3 : comparer le HTML source et le DOM rendu</h3> <pre><code># HTML source brut (ce que voient les crawlers IA) curl -s https://www.monsite.fr/produit/abc | wc -c # DOM rendu par Chromium (ce que voit Google) npx playwright open https://www.monsite.fr/produit/abc # puis inspector / copy outer HTML</code></pre> <p>Si la différence de taille entre le HTML brut et le DOM rendu dépasse 3 à 5x, vous avez un problème structurel de SSR. Sur un site bien configuré, la différence tourne entre 1,1x et 1,5x.</p> <h3>Test 4 : inspection Google Search Console</h3> <p>L'URL Inspector de GSC reste l'outil de référence pour voir exactement ce que Googlebot rend. Il ne remplace pas les tests IA, mais il confirme si au moins Google y arrive. Si Google lui-même ne rend pas la page correctement, aucun crawler IA ne le fera.</p> <h3>Test 5 : demander à ChatGPT d'ouvrir votre page</h3> <p>Le test ultime. Ouvrir ChatGPT en mode recherche web activée, et taper : <em>« Ouvre cette URL et dis-moi le prix du produit et sa disponibilité : https://www.monsite.fr/produit/abc »</em>. Si ChatGPT répond « je ne trouve pas cette information sur la page » alors que le produit existe, le rendu JS est le coupable dans 9 cas sur 10.</p> <p>Répéter le test avec Perplexity et avec Google AI Overviews — en recherchant une requête où votre page devrait apparaître. La cohérence des résultats croisés vaut davantage qu'un seul test isolé.</p> <h2 id="cas-spécifiques-ecommerce">Cas spécifiques e-commerce : prix, stock, reviews, variantes</h2> <p>Sur un site e-commerce, certains blocs résistent au rendu serveur. Voici comment les traiter en 2026.</p> <h3>Prix et disponibilité en temps réel</h3> <p>Tentation classique : charger le prix depuis l'ERP via API au mount du composant. Pour un crawler IA, c'est invisible. Solution pragmatique : <strong>Incremental Static Regeneration (ISR)</strong> avec revalidation toutes les 60 à 300 secondes. Next.js et Nuxt le supportent nativement. La page reste statique, servie en HTML pur, et se régénère en arrière-plan quand prix ou stock change. Pour l'humain, c'est quasi temps réel. Pour le bot IA, le HTML contient toujours une valeur récente.</p> <h3>Variantes produit (taille, couleur, format)</h3> <p>Le sélecteur de variante vit souvent 100 % côté client. Résultat : l'IA voit la variante par défaut, rate tout le reste du catalogue. Tactique : générer <strong>une URL canonique par variante</strong> quand le SKU diffère, ou au minimum injecter toutes les variantes dans le Schema.org <code>Product</code> avec <code>hasVariant</code> et leurs <code>Offer</code> individuelles. Le crawler lit alors le catalogue complet dans la source.</p> <h3>Avis et reviews</h3> <p>Les widgets Trustpilot, Avis Vérifiés, Trusted Shops ou Bazaarvoice injectent tout en JavaScript. Trois parades :</p> <ol> <li>Utiliser leur <strong>widget SSR</strong> quand il existe (Trustpilot propose un TrustBox SSR).</li> <li>Dupliquer les 3 ou 5 avis clés directement dans le HTML via un bloc <em>testimonials</em> maintenu par la rédaction.</li> <li>Injecter le <strong>Review Schema.org</strong> dans le <code><script type="application/ld+json"></code> de la source, même si le widget visuel reste en JS — le bot IA lit le Schema.</li> </ol> <h3>FAQ produit et fiches techniques</h3> <p>Les AI Overviews et Perplexity adorent les FAQ. Elles doivent être rendues côté serveur, avec le <code>FAQPage</code> Schema dans la source. L'accordéon visuel peut rester en JS — mais le texte brut doit figurer dans le HTML dès le premier octet. Même règle pour les fiches techniques détaillées.</p> <h3>Recommandations et produits liés</h3> <p>Les blocs <em>cross-sell</em> et <em>up-sell</em> passent souvent par une API personnalisée en JS. Pour l'IA, ces liens constituent pourtant un signal fort de maillage interne. Solution : générer ces blocs côté serveur au moins avec des recommandations par défaut (best-sellers de la catégorie, derniers produits), puis laisser le JS remplacer par des reco personnalisées côté client pour les utilisateurs authentifiés.</p> <h3>Filtres et facettes de catalogue</h3> <p>Les pages de catégorie filtrées (ex : <em>/chaussures/homme/marron/pointure-44</em>) vivent souvent 100 % côté client avec des paramètres d'URL. Deux règles :</p> <ol> <li>Chaque combinaison de filtre pertinente doit avoir une URL canonique servie en SSR.</li> <li>Les filtres non indexables doivent être derrière <code><button></code> ou formulaire POST, pas des liens <code><a href></code>, pour éviter la dilution du budget de crawl.</li> </ol> <h3>Le cas Shopify, WooCommerce et Magento</h3> <p>Les plateformes e-commerce traditionnelles sont rendues côté serveur par défaut. Le piège arrive quand on ajoute une <strong>surcouche headless</strong> (Shopify Hydrogen, WooCommerce avec Next.js frontend, Magento PWA Studio). Vérifier que la surcouche utilisé bien SSR ou SSG pour les pages publiques, pas un mode SPA pur. Hydrogen par défaut fait du SSR sur l'edge Oxygen — mais certaines intégrations custom retombent en CSR, et toute la visibilité IA s'effondre sans bruit.</p> <h2 id="conclusion">Conclusion : le no-JS fallback, discipline permanente</h2> <p>Les no-JS fallbacks étaient indispensables en 2015 parce que Google galérait avec le JavaScript. Ils le redeviennent en 2026 pour une raison différente : l'écosystème de la recherche s'est fragmenté. Google rend le JS, les autres non.</p> <p>La bonne lecture n'est pas <em>faut-il faire du SSR partout</em>. C'est <em>où faut-il garantir un rendu serveur pour que la visibilité IA ne se perde pas</em>. Pages produits, catégories principales, FAQ, articles de blog, page contact, pages piliers thématiques — SSR ou SSG. Dashboard client connecté, checkout, interactions post-login — CSR sans risque, puisqu'ils ne sont pas crawlés.</p> <p>Le critère de décision tient en une question simple : <em>cette page doit-elle apparaître dans une recherche Google ou dans une réponse ChatGPT ?</em> Si oui, SSR ou SSG obligatoires. Si non, CSR est acceptable.</p> <p>Sur les audits que je mène, je retrouve toujours le même pattern : trois à cinq pages critiques — fiche produit, catégorie principale, home, page tarifs, page contact — qui ne sont pas correctement rendues côté serveur. Elles expliquent 60 à 80 % du déficit de visibilité IA du site. Réparer ces cinq pages ne coûte pas des mois de refonte. Une à trois semaines de travail technique ciblé. Les gains en citations ChatGPT / Perplexity arrivent dans les trente à soixante jours qui suivent.</p> <p>Le no-JS fallback en 2026 n'est pas une option. C'est un des quatre piliers du <strong>Generative Engine Optimization</strong>, aux côtés du Schema.org structuré, des entités Wikidata bien construites, et des citations authoritatives dans le contenu. Les quatre travaillent ensemble. Si l'un manque, les trois autres sont diminués.</p> <div class="hc-cta-block"> <h2>Audit technique SEO et GEO — vérifier votre rendering</h2> <p>Votre site est-il visible pour GPTBot, ClaudeBot et PerplexityBot ? En 30 minutes, je teste en live les pages critiques, j'isole les blocages de rendu, et je chiffre le coût de remédiation. Audit gratuit, commandes curl en direct, plan d'action à la clé.</p> <a href="https://calendly.com/sjambu/discussion-30-minutes" class="hc-cta-btn" target="_blank" rel="noopener">Réserver un appel diagnostic — 30 min</a> </div> <section class="hc-faq-section" id="faq"><h2>Questions fréquentes</h2><details><summary>Est-ce que GPTBot rend vraiment zéro JavaScript, ou c'est une exagération ?</summary><div><p>Les analyses de Vercel sur plus de 100 000 pages en 2025 confirment que GPTBot ne lance pas de moteur de rendu Chromium. Il fetch environ 11,50 % de fichiers JavaScript mais il ne les exécute pas. Le résultat est identique à un curl : seul le HTML initial est lu. Même constat pour ClaudeBot, PerplexityBot et OAI-SearchBot.</p></div></details><details><summary>Mon site est en Next.js 14 App Router, je suis automatiquement protégé ?</summary><div><p>Non, pas automatiquement. Le App Router utilisé les Server Components par défaut, mais il suffit de marquer un composant avec 'use client' pour retomber en CSR. Un mauvais découpage peut rendre une page entière dépendante du client. Toujours vérifier avec un curl direct que le contenu critique arrive dans la réponse HTML initiale, pas après hydratation.</p></div></details><details><summary>Est-il suffisant d'utiliser prerender.io ou une solution de pré-rendu ?</summary><div><p>Le pré-rendu dynamique fonctionne quand il est correctement détecté. Prerender.io, Rendertron et Cloudflare Pages Functions peuvent servir du HTML statique aux crawlers identifiés par user-agent. Attention toutefois : si GPTBot n'est pas dans la liste des user-agents reconnus, ou si le cache est trop ancien, le fallback échoue silencieusement. Le SSR ou SSG natif est toujours plus fiable.</p></div></details><details><summary>Les noscript tags sont-ils lus par les crawlers IA ?</summary><div><p>Oui. Les balises noscript sont lues par GPTBot, ClaudeBot et PerplexityBot comme du HTML standard. Elles sont une solution pragmatique pour exposer prix, disponibilité ou autres données critiques quand un refactor SSR complet n'est pas possible immédiatement. Attention à ne pas utiliser noscript pour du cloaking : le contenu doit rester cohérent avec ce que voit l'utilisateur humain.</p></div></details><details><summary>Comment savoir si mon site est bien indexé dans ChatGPT ou Perplexity ?</summary><div><p>Ouvrir ChatGPT avec la recherche web activée et demander directement : 'Résume-moi la page [URL]' ou 'Quel est le prix de [produit] sur [site] ?'. Si l'IA répond sans l'information critique alors qu'elle existe sur la page, le rendu JS est souvent en cause. Faire la même chose sur Perplexity et Google AI Overviews. Trois tests croisés donnent un verdict fiable.</p></div></details></section> <div class="hc-author-box"> <img loading="lazy" loading="lazy" decoding="async" src="https://www.hi-commerce.fr/wp-content/uploads/2026/03/Stéphane-jambu-portrait-150x150.jpg" alt="Stéphane Jambu" class="hc-author-photo" width="90" height="90"> <div class="hc-author-info"> <h3>Stéphane Jambu</h3> <span class="hc-author-role">Ingénieur SEO & IA</span> <p>Je forge des systèmes de croissance / IA / Neurosciences | 650+ clients · 80 témoignages LinkedIn · 30 ans d’expertise · 15 ans de systèmes qui tournent sans moi.</p> <a href="https://www.linkedin.com/in/Stéphane-jambu/" class="hc-author-link" target="_blank" rel="noopener"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="#1b3770" style="vertical-align:middle;margin-right:4px"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg> Suivre sur LinkedIn </a> </div> </div> </article> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Est-ce que GPTBot rend vraiment zéro JavaScript, ou c'est une exagération ?", "acceptedAnswer": { "@type": "Answer", "text": "Les analyses de Vercel sur plus de 100 000 pages en 2025 confirment que GPTBot ne lance pas de moteur de rendu Chromium. Il fetch environ 11,50 % de fichiers JavaScript mais il ne les exécute pas. Le résultat est identique à un curl : seul le HTML initial est lu. Même constat pour ClaudeBot, PerplexityBot et OAI-SearchBot." } }, { "@type": "Question", "name": "Mon site est en Next.js 14 App Router, je suis automatiquement protégé ?", "acceptedAnswer": { "@type": "Answer", "text": "Non, pas automatiquement. Le App Router utilise les Server Components par défaut, mais il suffit de marquer un composant avec 'use client' pour retomber en CSR. Un mauvais découpage peut rendre une page entière dépendante du client. Toujours vérifier avec un curl direct que le contenu critique arrive dans la réponse HTML initiale, pas après hydratation." } }, { "@type": "Question", "name": "Est-il suffisant d'utiliser prerender.io ou une solution de pré-rendu ?", "acceptedAnswer": { "@type": "Answer", "text": "Le pré-rendu dynamique fonctionne quand il est correctement détecté. Prerender.io, Rendertron et Cloudflare Pages Functions peuvent servir du HTML statique aux crawlers identifiés par user-agent. Attention toutefois : si GPTBot n'est pas dans la liste des user-agents reconnus, ou si le cache est trop ancien, le fallback échoue silencieusement. Le SSR ou SSG natif est toujours plus fiable." } }, { "@type": "Question", "name": "Les noscript tags sont-ils lus par les crawlers IA ?", "acceptedAnswer": { "@type": "Answer", "text": "Oui. Les balises noscript sont lues par GPTBot, ClaudeBot et PerplexityBot comme du HTML standard. Elles sont une solution pragmatique pour exposer prix, disponibilité ou autres données critiques quand un refactor SSR complet n'est pas possible immédiatement. Attention à ne pas utiliser noscript pour du cloaking : le contenu doit rester cohérent avec ce que voit l'utilisateur humain." } }, { "@type": "Question", "name": "Comment savoir si mon site est bien indexé dans ChatGPT ou Perplexity ?", "acceptedAnswer": { "@type": "Answer", "text": "Ouvrir ChatGPT avec la recherche web activée et demander directement : 'Résume-moi la page [URL]' ou 'Quel est le prix de [produit] sur [site] ?'. Si l'IA répond sans l'information critique alors qu'elle existe sur la page, le rendu JS est souvent en cause. Faire la même chose sur Perplexity et Google AI Overviews. Trois tests croisés donnent un verdict fiable." } } ] } </script> <!-- HC_TOOLS_BOX v1 territoire=geo --> <div style="margin:2.5rem auto;max-width:720px;box-sizing:border-box;background:linear-gradient(135deg,#0a1530 0%,#e76f00 100%);border-radius:14px;padding:1.6rem 1.5rem;color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;"> <div style="display:flex;align-items:center;gap:0.7rem;margin-bottom:0.3rem;"> <span style="font-size:1.7rem;line-height:1;">🤖</span> <strong style="font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.8);font-weight:700;">Territoire GEO & AI Search</strong> </div> <h3 style="margin:0 0 0.7rem;color:#fff;font-size:1.2rem;font-weight:800;letter-spacing:-0.01em;">3 outils gratuits Hi-Commerce</h3> <p style="margin:0 0 0.9rem;color:rgba(255,255,255,0.86);font-size:0.92rem;line-height:1.5;">Pour aller plus loin sur les sujets abordés dans cet article :</p> <ul style="margin:0;padding-left:1.2rem;line-height:1.85;"><li><a href="https://www.hi-commerce.fr/glossaire/" style="color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.4);padding-bottom:1px;">Glossaire SEO/GEO 150 termes</a></li><li><a href="https://www.hi-commerce.fr/quiz-niveau-geo/" style="color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.4);padding-bottom:1px;">Quiz · Niveau GEO 2026</a></li><li><a href="https://www.hi-commerce.fr/sources/" style="color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.4);padding-bottom:1px;">114 sources AI Search</a></li></ul> <div style="margin-top:1.1rem;padding-top:0.9rem;border-top:1px solid rgba(255,255,255,0.18);font-size:0.82rem;"> <a href="https://www.hi-commerce.fr/territoires/" style="color:#ffb347;text-decoration:none;font-weight:600;">→ Voir les 6 territoires Hi-Commerce</a> </div> </div> <!-- /HC_TOOLS_BOX --> <footer data-elementor-type="footer" data-elementor-id="1675" class="elementor elementor-1675 elementor-location-footer" data-elementor-post-type="elementor_library"> <div class="elementor-element elementor-element-d642336 e-flex e-con-boxed e-con e-parent" data-id="d642336" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="e-con-inner"> <div class="elementor-element elementor-element-c0bfd24 e-con-full e-flex e-con e-child" data-id="c0bfd24" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="elementor-element elementor-element-a58f636 elementor-widget__width-inherit elementor-widget elementor-widget-text-editor" data-id="a58f636" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p style="text-align: center;">Ne tardez plus !<br><em><br></em></p> </div> </div> <div class="elementor-element elementor-element-41d8124 elementor-widget__width-inherit elementor-widget elementor-widget-text-editor" data-id="41d8124" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p style="text-align: center;">Demandez une consultation gratuite et personnalisée</p> </div> </div> <div class="elementor-element elementor-element-4a5dcc5 elementor-tablet-align-center elementor-align-center elementor-widget elementor-widget-button" data-id="4a5dcc5" data-element_type="widget" data-e-type="widget" data-widget_type="button.default"> <div class="elementor-widget-container"> <div class="elementor-button-wrapper"> <a class="elementor-button elementor-button-link elementor-size-sm elementor-animation-grow" href="https://calendly.com/sjambu/30min" target="_blank"> <span class="elementor-button-content-wrapper"> <span class="elementor-button-icon"> <svg aria-hidden="true" class="e-font-icon-svg e-fas-long-arrow-alt-right" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"></path></svg> </span> <span class="elementor-button-text">Je prends RDV</span> </span> </a> </div> </div> </div> </div> </div> </div> <footer class="elementor-element elementor-element-45da3b06 e-flex e-con-boxed e-con e-parent" data-id="45da3b06" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="e-con-inner"> <div class="elementor-element elementor-element-479aae93 e-grid-align-mobile-center elementor-shape-circle elementor-grid-0 e-grid-align-center elementor-widget elementor-widget-social-icons" data-id="479aae93" data-element_type="widget" data-e-type="widget" data-widget_type="social-icons.default"> <div class="elementor-widget-container"> <div class="elementor-social-icons-wrapper elementor-grid"> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-linkedin elementor-repeater-item-1e4b008" href="https://www.linkedin.com/in/stephane-jambu/" target="_blank"> <span class="elementor-screen-only">Linkedin</span> <svg aria-hidden="true" class="e-font-icon-svg e-fab-linkedin" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg> </a> </span> </div> </div> </div> </div> </footer> <footer class="elementor-element elementor-element-4a86984 e-flex e-con-boxed e-con e-parent" data-id="4a86984" data-element_type="container" data-e-type="container" data-settings="{"background_background":"classic"}"> <div class="e-con-inner"> <div class="elementor-element elementor-element-def38e0 elementor-widget elementor-widget-text-editor" data-id="def38e0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p>© 2024 Hi-Commerce – <span style="color: #1b3770;"><a style="color: #1b3770;" href="https://www.hi-commerce.fr/mentions-legales/">Mentions légales</a> – <a href="https://www.hi-commerce.fr/guides-seo/">Les guides du SEO</a> – <a style="color: #1b3770;" href="https://www.hi-commerce.fr/insights/">Publications</a></span></p> </div> </div> <div class="elementor-element elementor-element-umami-track elementor-widget elementor-widget-html" data-id="umami-track" data-element_type="widget" data-e-type="widget" data-widget_type="html.default"> <div class="elementor-widget-container"> <style> /* Fix hero background-size on home page */ .elementor-element-0ab36cd:not(.elementor-motion-effects-element-type-background), .elementor-element-0ab36cd > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-size: cover !important; background-attachment: scroll !important; } </style> <script defer src="https://analytics.hi-commerce.fr/script.js" data-website-id="22042a1b-3d11-43e5-b7d6-59cc7e538839"></script> <script> (function(){ var p = window.location.pathname; var en = ["/en/", "/geo-llm-service/", "/semantic-clusters-seo/", "/google-discover-strategy/", "/vibe-coding-ecommerce-en/", "/about-stephane-jambu/", "/case-studies/", "/book-a-call/", "/insights/", "/marketing-mania-the-trigger/", "/process-communication-captivate-audience/", "/should-you-invest-in-seo/", "/manage-your-own-press-relations/", "/semantic-clusters-neuroergonomics/", "/google-ads-worth-it/", "/semantic-cluster-page-templates/", "/reviewing-semantic-cluster-pages/"]; if(en.indexOf(p) !== -1){ // Remove "Les guides du SEO" link var links = document.querySelectorAll('a[href*="guides-seo"]'); links.forEach(function(a){ // Remove the separator + link var parent = a.parentNode; var prev = a.previousSibling; if(prev && prev.textContent){ prev.textContent = prev.textContent.replace(/\s*–\s*$/, '').replace(/\s*-\s*$/, ''); } a.remove(); }); // Update footer CTA var ftBtn = document.querySelector('.elementor-element-4a5dcc5 .elementor-button'); if(ftBtn){ ftBtn.textContent = 'Book a call'; ftBtn.href = 'https://calendly.com/sjambu/introductory-point-45-mn-with-stephane-jambu'; } var ftTitle = document.querySelector('.elementor-element-a58f636'); if(ftTitle){ ftTitle.innerHTML = '<p style="text-align:center;">Don\'t wait!</p>'; } var ftSub = document.querySelector('.elementor-element-41d8124'); if(ftSub){ ftSub.innerHTML = '<p style="text-align:center;">Request a free personalized consultation</p>'; } // Update Mentions légales link text var legals = document.querySelectorAll('a[href*="mentions-legales"]'); legals.forEach(function(a){ a.textContent = 'Legal notice'; }); } })(); </script> </div> </div> </div> </footer> </footer> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/hello-elementor\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <!-- HFCM by 99 Robots - Snippet # 2: tag-manager-footer --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5TKMBTSW" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- /end HFCM by 99 Robots --> <script> (function() { // Détecter les visites avec utm_source=llm ou depuis des LLM var urlParams = new URLSearchParams(window.location.search); var source = urlParams.get('utm_source'); var referrer = document.referrer || ''; // Sources LLM connues var llmSources = ['chat.openai.com', 'chatgpt.com', 'perplexity.ai', 'claude.ai', 'copilot.microsoft.com', 'gemini.google.com', 'you.com', 'phind.com', 'poe.com', 'meta.ai', 'huggingface.co']; var isLlmSource = false; var detectedSource = ''; // Vérifier utm_source=llm if (source && source.toLowerCase() === 'llm') { isLlmSource = true; detectedSource = urlParams.get('utm_medium') || 'unknown'; } // Vérifier le referrer if (!isLlmSource && referrer) { for (var i = 0; i < llmSources.length; i++) { if (referrer.indexOf(llmSources[i]) !== -1) { isLlmSource = true; detectedSource = llmSources[i].replace(/\./g, '_'); break; } } } if (isLlmSource) { // Envoyer à GA4 if (typeof gtag === 'function') { gtag('event', 'llm_mention_visit', { 'event_category': 'AI Search', 'event_label': detectedSource, 'source': detectedSource, 'page_path': window.location.pathname }); } // Logger en AJAX var xhr = new XMLHttpRequest(); xhr.open('POST', 'https://www.hi-commerce.fr/wp-admin/admin-ajax.php', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send('action=hc_log_llm_mention&_ajax_nonce=d128afc512&source=' + encodeURIComponent(detectedSource) + '&referrer=' + encodeURIComponent(referrer) + '&path=' + encodeURIComponent(window.location.pathname)); } })(); </script> <script> const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); </script> <script src="https://www.hi-commerce.fr/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script src="https://www.hi-commerce.fr/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script src="https://www.hi-commerce.fr/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.5" id="swv-js"></script> <script id="contact-form-7-js-translations"> ( function( domain, translations ) { var localeData = translations.locale_data[ domain ] || translations.locale_data.messages; localeData[""].domain = domain; wp.i18n.setLocaleData( localeData, domain ); } )( "contact-form-7", {"translation-revision-date":"2025-02-06 12:02:14+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=2; plural=n > 1;","lang":"fr"},"This contact form is placed in the wrong place.":["Ce formulaire de contact est plac\u00e9 dans un mauvais endroit."],"Error:":["Erreur\u00a0:"]}},"comment":{"reference":"includes\/js\/index.js"}} ); </script> <script id="contact-form-7-js-before"> var wpcf7 = { "api": { "root": "https:\/\/www.hi-commerce.fr\/wp-json\/", "namespace": "contact-form-7\/v1" }, "cached": 1 }; </script> <script src="https://www.hi-commerce.fr/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.5" id="contact-form-7-js"></script> <script src="https://www.hi-commerce.fr/wp-content/themes/hello-elementor/assets/js/hello-frontend.js?ver=3.4.4" id="hello-theme-frontend-js"></script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.35.7" id="elementor-webpack-runtime-js"></script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.35.7" id="elementor-frontend-modules-js"></script> <script src="https://www.hi-commerce.fr/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script id="elementor-frontend-js-before"> var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Partager sur Facebook","shareOnTwitter":"Partager sur Twitter","pinIt":"L\u2019\u00e9pingler","download":"T\u00e9l\u00e9charger","downloadImage":"T\u00e9l\u00e9charger une image","fullscreen":"Plein \u00e9cran","zoom":"Zoom","share":"Partager","playVideo":"Lire la vid\u00e9o","previous":"Pr\u00e9c\u00e9dent","next":"Suivant","close":"Fermer","a11yCarouselPrevSlideMessage":"Diapositive pr\u00e9c\u00e9dente","a11yCarouselNextSlideMessage":"Diapositive suivante","a11yCarouselFirstSlideMessage":"Ceci est la premi\u00e8re diapositive","a11yCarouselLastSlideMessage":"Ceci est la derni\u00e8re diapositive","a11yCarouselPaginationBulletMessage":"Aller \u00e0 la diapositive"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Portrait mobile","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Paysage","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablette en mode portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablette en mode paysage","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Portable","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"\u00c9cran large","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"3.35.7","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"theme_builder_v2":true,"hello-theme-header-footer":true,"nested-elements":true,"home_screen":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"cloud-library":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_editor_one":true,"import-export-customization":true,"e_pro_variables":true},"urls":{"assets":"https:\/\/www.hi-commerce.fr\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/www.hi-commerce.fr\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/www.hi-commerce.fr\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"7129fcefe6"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"body_background_background":"classic","active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description","hello_header_logo_type":"logo","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":45188,"title":"No-JS%20fallbacks%20en%202026%20%3A%20pourquoi%20les%20crawlers%20IA%20continuent%20d%E2%80%99exiger%20du%20HTML%20%E2%80%93%20Hi-Commerce","excerpt":"Google rend le JavaScript depuis 2019. GPTBot, ClaudeBot et PerplexityBot ne le rendent pas en 2026. Votre SPA reste invisible pour l'AI Search sans SSR.","featuredImage":false}}; </script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.35.7" id="elementor-frontend-js"></script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1" id="smartmenus-js"></script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=3.33.1" id="elementor-pro-webpack-runtime-js"></script> <script id="elementor-pro-frontend-js-before"> var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/www.hi-commerce.fr\/wp-admin\/admin-ajax.php","nonce":"332908afe9","urls":{"assets":"https:\/\/www.hi-commerce.fr\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/www.hi-commerce.fr\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":false},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"facebook_sdk":{"lang":"fr_FR","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/www.hi-commerce.fr\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}}; </script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=3.33.1" id="elementor-pro-frontend-js"></script> <script src="https://www.hi-commerce.fr/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=3.33.1" id="pro-elements-handlers-js"></script> <div class="h-card" style="display:none;" aria-hidden="true"> <a class="p-name p-org u-url" href="https://www.hi-commerce.fr/">Hi-Commerce</a> <span class="p-role">ProfessionalService</span> <img class="u-logo" src="https://www.hi-commerce.fr/wp-content/uploads/2024/02/Hi-commerce-By-Stephane-Jambu.png" alt="Hi-Commerce" /> <a class="u-email" href="mailto:contact@hi-commerce.fr">contact@hi-commerce.fr</a> <span class="p-tel">+33635261644</span> <span class="p-adr h-adr"> <span class="p-locality">Bordeaux</span>, <span class="p-country-name">FR</span> </span> <a class="u-url" rel="me" href="https://www.linkedin.com/in/stephane-jambu/">www.linkedin.com</a> <a class="u-url" rel="me" href="https://www.linkedin.com/in/stphane-jambu-083252280/">www.linkedin.com</a> <a class="u-url" rel="me" href="https://www.youtube.com/@stephanejambu">www.youtube.com</a> <a class="u-url" rel="me" href="https://www.wikidata.org/wiki/Q138811962">www.wikidata.org</a> </div> </body> </html> <script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"8cf17260a57e47cfa7319c125ca11b87","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>