<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<script>document.documentElement.className += ' js';</script>
<!-- Google Analytics 4 -->
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('consent','default',{'ad_storage':'denied','analytics_storage':'denied','ad_user_data':'denied','ad_personalization':'denied','wait_for_update':500});gtag('js',new Date());gtag('config','G-8FMS5X6BX6');
(function(){function l(){if(window.__ga)return;window.__ga=1;var s=document.createElement('script');s.async=1;s.src='https://www.googletagmanager.com/gtag/js?id=G-8FMS5X6BX6';document.head.appendChild(s);}
var ev=['scroll','pointerdown','keydown','touchstart'];function t(){ev.forEach(function(e){removeEventListener(e,t,{passive:true})});l();}
ev.forEach(function(e){addEventListener(e,t,{passive:true,once:true})});})();</script>
<title>Consultant SEO Épinal : le trafic qui devient client</title>
<meta name="description" content="Consultant SEO à Épinal depuis 2016 : Vincent Hégo pilote votre référencement en direct pour attirer plus de clients dans les Vosges."/>
<meta name="robots" content="index,follow,max-image-preview:large"/>
<meta name="author" content="Vincent Hégo"/>
<meta name="theme-color" content="#ffffff"/>
<link rel="icon" href="https://www.vincenthego.com/wp-content/uploads/2020/12/LOGO_VINCENTHEGO.COM_-96x96.png" sizes="32x32"/>
<link rel="icon" href="https://www.vincenthego.com/wp-content/uploads/2020/12/LOGO_VINCENTHEGO.COM_-300x300.png" sizes="192x192"/>
<link rel="apple-touch-icon" href="https://www.vincenthego.com/wp-content/uploads/2020/12/LOGO_VINCENTHEGO.COM_-300x300.png"/>
<link rel="canonical" href="https://www.vincenthego.com/consultant-seo-epinal/"/>
<link rel="alternate" hreflang="fr" href="https://www.vincenthego.com/consultant-seo-epinal/"/>
<link rel="alternate" hreflang="x-default" href="https://www.vincenthego.com/consultant-seo-epinal/"/>
<meta property="og:type" content="website"/>
<meta property="og:locale" content="fr_FR"/>
<meta property="og:site_name" content="Vincent Hégo"/>
<meta property="og:title" content="Consultant SEO Épinal : le trafic qui devient client"/>
<meta property="og:description" content="Consultant SEO à Épinal, en direct depuis 2016. J'optimise votre référencement pour capter les clients des Vosges et du Grand Est, et partout en France."/>
<meta property="og:url" content="https://www.vincenthego.com/consultant-seo-epinal/"/>
<meta property="og:image" content="https://www.vincenthego.com/consultant-seo-epinal/assets/og-consultant-seo-epinal.png"/>
<meta property="og:image:secure_url" content="https://www.vincenthego.com/consultant-seo-epinal/assets/og-consultant-seo-epinal.png"/>
<meta property="og:image:type" content="image/png"/>
<meta property="og:image:width" content="1200"/>
<meta property="og:image:height" content="630"/>
<meta property="og:image:alt" content="Vincent Hégo, consultant SEO à Épinal - 5,0/5 sur 54 avis Google"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Consultant SEO Épinal : le trafic qui devient client"/>
<meta name="twitter:description" content="Consultant SEO à Épinal : votre référencement piloté en direct par Vincent Hégo, pour attirer plus de clients locaux."/>
<meta name="twitter:image" content="https://www.vincenthego.com/consultant-seo-epinal/assets/og-consultant-seo-epinal.png"/>
<link rel="dns-prefetch" href="https://www.googletagmanager.com"/>
<link rel="dns-prefetch" href="https://assets.calendly.com"/>
<link rel="dns-prefetch" href="https://calendly.com"/>
<link rel="dns-prefetch" href="https://bm.vincenthego.com"/>
<link rel="preload" href="/assets/fonts/poppins-400-lat.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/assets/fonts/poppins-700-lat.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/assets/fonts/poppins-800-lat.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/assets/brand/logo-vh-couleur.webp" as="image" fetchpriority="high"/>
<link rel="preload" href="/assets/brand/vincent-rond.webp" as="image"/>
<style>
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:optional;src:url(/assets/fonts/poppins-400-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:optional;src:url(/assets/fonts/poppins-400-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/assets/fonts/poppins-600-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url(/assets/fonts/poppins-600-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/assets/fonts/poppins-700-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url(/assets/fonts/poppins-700-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:optional;src:url(/assets/fonts/poppins-800-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:optional;src:url(/assets/fonts/poppins-800-lat.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
</style>
<style>
:root{
--orange:#f05820; --orange-soft:#ff7a4a; --orange-ink:#c2410c; --marine:#1c1962; --marine-deep:#13104a;
--ink:#15131f; --muted:#5b5870; --line:#e9e7f0;
--bg:#ffffff; --bg-soft:#f5f5f7; --white:#fff;
--font:'Gilroy','Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--ease:cubic-bezier(.22,1,.36,1);
--radius:22px; --radius-lg:30px;
--shadow-sm:0 1px 2px rgba(20,16,60,.04),0 8px 24px rgba(20,16,60,.05);
--shadow-md:0 2px 6px rgba(20,16,60,.06),0 20px 50px rgba(20,16,60,.09);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-weight:700;font-size:1.04rem;letter-spacing:.1px;padding:17px 32px;border-radius:999px;border:none;cursor:pointer;line-height:1;white-space:nowrap;min-height:48px;touch-action:manipulation;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}
a:focus-visible,.btn:focus-visible,.faq-q:focus-visible{outline:3px solid rgba(240,88,32,.55);outline-offset:3px;border-radius:14px}
.btn-primary{background:linear-gradient(135deg,var(--orange),var(--orange-soft));color:#fff;box-shadow:0 12px 30px rgba(240,88,32,.34)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(240,88,32,.42)}
.btn-analyze{background:linear-gradient(135deg,#1c1962,#322c8f);color:#fff;box-shadow:0 12px 30px rgba(28,25,98,.30)}
.btn-analyze:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(28,25,98,.4)}
.btn svg{width:18px;height:18px}
.btn-primary,.btn-analyze{position:relative;overflow:hidden}
.btn-primary::after,.btn-analyze::after{content:"";position:absolute;top:-50%;left:-78%;width:46%;height:200%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-22deg);pointer-events:none;animation:btnSheen 5.5s ease-in-out infinite}
.btn-analyze::after{background:linear-gradient(100deg,transparent,rgba(255,255,255,.26),transparent)}
@keyframes btnSheen{0%,58%{left:-78%}80%,100%{left:170%}}
.btn svg{transition:transform .3s var(--ease)}
.btn-primary:hover svg,.btn-analyze:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(0) scale(.98)}
@media(prefers-reduced-motion:reduce){.btn-primary::after,.btn-analyze::after{display:none}}
/* header */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(20,16,60,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav-l{display:flex;align-items:center;gap:12px}
.nav-l img{height:25px;width:auto}
.nav-l .by{color:var(--muted);font-size:.82rem;font-weight:500;padding-left:12px;border-left:1px solid var(--line)}
.nav .btn{padding:11px 20px;font-size:.9rem;transition:opacity .35s var(--ease),transform .35s var(--ease),box-shadow .3s ease,background .3s ease}
.nav .btn.is-hidden{opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none}
@media(max-width:560px){.nav-l .by{display:none}.nav .btn{padding:10px 16px;font-size:.84rem}}
/* hero */
.hero{position:relative;text-align:center;padding:38px 0 26px;overflow:hidden}
.host{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:20px;text-align:left}
.host img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 22px rgba(20,16,60,.16),0 0 0 1px var(--line);flex-shrink:0}
.host .hn{font-weight:800;color:var(--marine);font-size:1rem;line-height:1.15}
.host .hr{color:var(--muted);font-size:.82rem;font-weight:500;margin-top:2px;white-space:nowrap}
@media(max-width:480px){.host img{width:52px;height:52px}.host{gap:11px}.host .hn{font-size:.95rem}.host .hr{font-size:.68rem}}
@media(max-width:340px){.host .hr{font-size:.62rem}}
.hero::before{content:"";position:absolute;left:50%;top:-120px;transform:translateX(-50%);width:900px;height:520px;background:radial-gradient(closest-side,rgba(240,88,32,.14),transparent 70%);pointer-events:none;z-index:0}
.hero::after{content:"";position:absolute;right:-160px;top:120px;width:540px;height:540px;background:radial-gradient(closest-side,rgba(90,80,230,.12),transparent 70%);pointer-events:none;z-index:0}
.hero .wrap{position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:9px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:9px 18px;border-radius:999px;font-size:.84rem;font-weight:600;color:var(--marine);margin-bottom:20px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(240,88,32,.18)}
h1{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.07;letter-spacing:-1.3px;font-weight:700;color:var(--marine);max-width:760px;margin:0 auto;text-wrap:balance}
h1 .hl{background:linear-gradient(120deg,var(--orange),var(--orange-soft));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero .sub{font-size:clamp(1.06rem,1.9vw,1.24rem);color:var(--muted);max-width:640px;margin:22px auto 0;font-weight:400;text-wrap:balance}
.hero-cta{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:14px}
.hero-cta .micro{font-size:.9rem;color:var(--muted);font-weight:500}
.hero-cta .micro b{color:var(--marine);font-weight:700}
/* badges de crédibilité premium (custom) */
.cred{display:flex;align-items:stretch;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
.cred-badge{display:flex;align-items:center;gap:13px;background:linear-gradient(180deg,#ffffff,#fafafd);border:1px solid var(--line);border-radius:18px;padding:13px 19px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.cred-badge::before{content:"";position:absolute;inset:0 0 auto 0;height:52%;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,0));pointer-events:none}
.cred-badge:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(240,88,32,.16),var(--shadow-md);border-color:#ddd9ea}
.cred-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;position:relative;z-index:1}
.cred-ic.orange{background:linear-gradient(135deg,rgba(240,88,32,.14),rgba(255,122,74,.16))}
.cred-ic.orange svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cred-ic.gborder{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.cred-txt{position:relative;z-index:1;text-align:left}
.cred-txt .v{font-weight:900;color:var(--marine);font-size:1.16rem;line-height:1;letter-spacing:-.4px;display:flex;align-items:center;gap:7px}
.cred-txt .v .gstars{color:#fbbf24;font-size:.92rem;letter-spacing:1px}
.cred-txt .l{color:var(--muted);font-size:.79rem;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:5px}
.cred-txt .l .vchk{display:inline-flex;align-items:center;gap:3px;color:#0ca678;font-weight:700}
.cred-txt .l .vchk svg{width:12px;height:12px;stroke:#0ca678;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.cred{gap:10px}.cred-badge{padding:11px 15px;gap:11px}.cred-ic{width:38px;height:38px}.cred-txt .v{font-size:1.05rem}}
/* marquee logos */
.logos{padding:26px 0 36px}
.logos + .sec{padding-top:44px}
.logos p{text-align:center;font-size:.72rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:20px}
.logos-row{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:nowrap}
.logos-row img{height:26px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.5;transition:opacity .3s,filter .3s}
.logos-row img.tall{height:42px}
.logos-row img:hover{filter:none;opacity:1}
@media(max-width:900px){.logos-row{flex-wrap:wrap;row-gap:20px;column-gap:34px}}
@media(max-width:560px){.logos-row{column-gap:26px;row-gap:16px}.logos-row img{height:22px}.logos-row img.tall{height:30px}}
/* sections */
section{position:relative}
.sec{padding:74px 0}
.sec-soft{background:var(--bg-soft)}
.sec-head{text-align:center;max-width:720px;margin:0 auto 46px}
.kicker{display:inline-block;font-size:.76rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--orange-ink);margin-bottom:14px}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.1;letter-spacing:-1px;font-weight:800;color:var(--marine);text-wrap:balance}
.sec-head p{color:var(--muted);font-size:1.08rem;margin-top:16px;text-wrap:balance}
.lead{max-width:760px;margin:0 auto;color:var(--muted);font-size:1.08rem}
.lead p{margin-top:16px}
.lead p:first-child{margin-top:0}
.lead strong{color:var(--marine);font-weight:700}
.lead a,.sec-head p a{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* answer card (réponse directe / AI Overview) */
.answer-card{max-width:840px;margin:0 auto;background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;box-shadow:var(--shadow-sm);text-align:left}
.answer-card p{font-size:1.1rem;color:var(--ink);line-height:1.65}
.answer-card p + p{margin-top:14px}
.answer-card strong{color:var(--marine);font-weight:800}
.answer-card a{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.answer-card .levers{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.answer-card .levers li{display:inline-flex;align-items:center;gap:8px;background:rgba(240,88,32,.08);color:var(--marine);font-weight:600;font-size:.92rem;padding:8px 14px;border-radius:999px}
.answer-card .levers li svg{width:15px;height:15px;stroke:var(--orange);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* prix cards */
.price-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
@media(max-width:760px){.price-cards{grid-template-columns:1fr}}
.price-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.price-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(240,88,32,.14),var(--shadow-md)}
.price-card.feat{background:linear-gradient(160deg,var(--marine),var(--marine-deep));color:#fff;border:none}
.price-card .pl{font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:var(--orange-ink);margin-bottom:10px}
.price-card.feat .pl{color:var(--orange-soft)}
.price-card .pv{font-size:1.5rem;font-weight:900;color:var(--marine);letter-spacing:-.5px;line-height:1.12}
.price-card.feat .pv{color:#fff}
.price-card .pd{font-size:.92rem;color:var(--muted);margin-top:10px;line-height:1.5}
.price-card.feat .pd{color:rgba(255,255,255,.82)}
/* bande CTA de rappel (mi-page) */
.cta-band{padding:16px 0 74px}
.cta-band-inner{max-width:820px;margin:0 auto;text-align:center;background:linear-gradient(160deg,var(--marine),var(--marine-deep));border-radius:var(--radius-lg);padding:44px 36px;box-shadow:0 24px 60px rgba(20,16,60,.22);position:relative;overflow:hidden}
.cta-band-inner::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;background:radial-gradient(closest-side,rgba(240,88,32,.28),transparent 70%);pointer-events:none}
.cta-band-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:#fff;letter-spacing:-.5px;line-height:1.15;position:relative;z-index:1;text-wrap:balance}
.cta-band p{color:rgba(255,255,255,.82);margin:14px auto 24px;max-width:560px;position:relative;z-index:1}
.cta-band .btn{position:relative;z-index:1}
.cta-face{width:92px;height:92px;border-radius:50%;object-fit:cover;object-position:center top;margin:0 auto 20px;display:block;border:3px solid rgba(255,255,255,.92);box-shadow:0 0 0 7px rgba(240,88,32,.38),0 12px 30px rgba(0,0,0,.28);position:relative;z-index:1}
/* section sources & références (E-E-A-T) */
.sec-sources{padding:58px 0 62px}
.sec-sources .sources-title{font-size:.74rem;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:center;margin-bottom:24px}
.sec-sources ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:820px;margin:0 auto;padding:0}
@media(max-width:640px){.sec-sources ul{grid-template-columns:1fr}}
.sec-sources li{margin:0}
.sec-sources a{display:flex;align-items:center;gap:13px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:15px 18px;color:var(--marine);font-weight:600;font-size:.92rem;line-height:1.35;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.sec-sources a:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#ddd9ea;color:var(--marine)}
.sec-sources a .src-fav{flex-shrink:0;width:32px;height:32px;border-radius:9px;background:#fff;border:1px solid var(--line);object-fit:contain;padding:5px;box-sizing:border-box}
/* résumé "En bref" (réponse directe / Helpful) */
.tldr{max-width:820px;margin:0 auto 32px;background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow-sm)}
.tldr .tldr-h{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:var(--orange-ink);margin-bottom:14px}
.tldr ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0}
.tldr li{display:flex;gap:12px;align-items:flex-start;font-size:1.02rem;color:var(--ink);line-height:1.5}
.tldr li svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;stroke:var(--orange);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tldr li b{color:var(--marine);font-weight:700}
/* conteneur générique de schéma SVG */
.viz{max-width:900px;margin:0 auto}
.viz-card{background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 22px 18px;box-shadow:var(--shadow-sm)}
.viz-card svg{width:100%;height:auto;display:block}
.viz-cap{text-align:center;color:var(--muted);font-size:.9rem;margin-top:14px;max-width:640px;margin-left:auto;margin-right:auto;line-height:1.55}
.why-lead{text-align:center;max-width:640px;margin:0 auto 24px;color:var(--marine);font-weight:700;font-size:1.05rem}
@media(max-width:600px){
.viz-cap{text-align:left;padding:0 2px}
.lead p,.answer-card p,.sea-note,.why-card p,.card p,.tl-item p{font-size:1rem}
.why-lead{font-size:1rem;text-align:left}
}
.viz-cap b{color:var(--marine);font-weight:700}
/* note humaine */
.human-note{display:flex;align-items:center;gap:12px;max-width:520px;margin:20px auto 0;background:rgba(240,88,32,.06);border-radius:16px;padding:12px 18px;text-align:left}
.human-note img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid #fff;box-shadow:0 4px 14px rgba(20,16,60,.16)}
.human-note p{font-size:.94rem;color:var(--marine);font-weight:500;line-height:1.45;margin:0}
/* SEO vs SEA (graphique SVG) */
.sea{max-width:900px;margin:0 auto}
.sea-chart{background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 22px 16px;box-shadow:var(--shadow-sm)}
.sea-chart svg{width:100%;height:auto;display:block}
.sea-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
@media(max-width:680px){.sea-cards{grid-template-columns:1fr}}
.sea-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm)}
.sea-tag{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--marine);font-size:1.02rem;margin-bottom:8px}
.sea-tag .dot{width:13px;height:13px;border-radius:50%;flex-shrink:0}
.sea-tag .dot.seo{background:var(--orange)}
.sea-tag .dot.sea{background:#322c8f}
.sea-card p{color:var(--muted);font-size:.98rem;line-height:1.55}
.sea-card p b{color:var(--marine);font-weight:700}
.sea-note{text-align:center;max-width:680px;margin:24px auto 0;color:var(--muted);font-size:1rem}
.sea-note b{color:var(--marine);font-weight:700}
/* tableau comparatif SEO vs SEA */
.vs{max-width:840px;margin:28px auto 0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);background:var(--white)}
.vs-row{display:grid;grid-template-columns:1.05fr 1fr 1fr}
.vs-row + .vs-row{border-top:1px solid var(--line)}
.vs-crit{padding:15px 18px;background:var(--bg-soft);font-weight:700;color:var(--marine);font-size:.9rem;display:flex;align-items:center}
.vs-c{padding:14px 16px;font-size:.95rem;display:flex;align-items:center;gap:9px;color:var(--ink);line-height:1.35}
.vs-c.col-seo{background:rgba(240,88,32,.05)}
.vs-c.col-sea{color:var(--muted)}
.vs-h .vs-crit{background:transparent}
.vs-h .vs-c{justify-content:center;text-align:center;flex-direction:column;gap:2px;padding:16px;font-weight:800;color:#fff}
.vs-h .col-seo{background:linear-gradient(135deg,var(--orange),var(--orange-soft))}
.vs-h .col-sea{background:linear-gradient(135deg,var(--marine),var(--marine-deep))}
.vs-h .vs-c small{font-weight:600;font-size:.72rem;opacity:.92}
.vs-mark{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;font-size:11px;font-weight:800;flex-shrink:0}
.vs-mark.ok{background:#e6f7ec;color:#0ca678}
.vs-mark.no{background:#eef0f6;color:#9a9ab0}
@media(max-width:600px){
.vs-row{grid-template-columns:1fr 1fr}
.vs-crit{grid-column:1 / -1;background:var(--marine);color:#fff;font-size:.78rem;padding:9px 16px;text-transform:uppercase;letter-spacing:.5px}
.vs-h .vs-crit{display:none}
.vs-c{font-size:.86rem;padding:12px 12px;gap:7px}
.vs-h .vs-c{font-size:.98rem}
}
/* quiz d'auto-évaluation */
.quiz-card{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 34px;box-shadow:var(--shadow-md)}
@media(max-width:560px){.quiz-card{padding:28px 20px}}
.quiz-q{border:none;margin:0 0 22px;padding:0}
.quiz-q .quiz-legend{font-weight:800;color:var(--marine);font-size:1.05rem;margin-bottom:12px;display:block;line-height:1.35}
.quiz-opts{display:flex;flex-direction:column;gap:10px}
.quiz-opt{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s;font-size:1rem;color:var(--ink);touch-action:manipulation}
.quiz-opt:hover{border-color:var(--orange)}
.quiz-opt input{accent-color:var(--orange);width:18px;height:18px;flex-shrink:0;margin:0}
.quiz-opt.sel{border-color:var(--orange);background:rgba(240,88,32,.06)}
.quiz-card .btn{margin-top:4px;width:100%}
.quiz-hint{font-size:.88rem;color:var(--muted);margin-top:12px;text-align:center}
/* quiz en mode assistant (étape par étape) */
.quiz-progress{height:8px;background:#eef0f6;border-radius:999px;overflow:hidden;margin:0 0 10px}
.quiz-progress-bar{height:100%;width:20%;background:linear-gradient(90deg,var(--orange),var(--orange-soft));border-radius:999px;transition:width .4s var(--ease)}
.quiz-count{font-size:.8rem;letter-spacing:.4px;color:var(--muted);font-weight:600;text-align:center;margin:0 0 22px;text-transform:uppercase}
.quiz-step{border:none;margin:0;padding:0}
.quiz-nav{align-items:center;margin-top:16px;min-height:22px}
.quiz-back{background:none;border:none;color:var(--muted);font-weight:600;font-size:.9rem;cursor:pointer;font-family:inherit;padding:6px 2px}
.quiz-back:hover{color:var(--orange)}
.quiz-progress,.quiz-count,.quiz-nav{display:none}
.js .quiz-progress{display:block}
.js .quiz-count{display:block}
.js .quiz-nav{display:flex}
.js .quiz-step{display:none}
.js .quiz-step.is-active{display:block;animation:quizIn .35s var(--ease)}
.js .quiz-step.is-active .quiz-legend{font-size:1.2rem;display:block;line-height:1.4;margin-bottom:26px}
@keyframes quizIn{0%{opacity:0;transform:translateX(14px)}100%{opacity:1;transform:none}}
.js #quizForm{min-height:250px;display:flex;flex-direction:column;justify-content:center}
.js .quiz-step.is-active{padding:6px 0}
.quiz-result{margin-top:6px;text-align:center;animation:cl-pop .4s ease}
.quiz-result .qr-badge{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;font-size:30px;font-weight:800;margin:0 auto 14px}
.quiz-result .qr-badge.hi{background:#e6f7ec;color:#1a7a3d}
.quiz-result .qr-badge.mid{background:rgba(240,88,32,.12);color:#a8380a}
.quiz-result .qr-badge.lo{background:#eef0f6;color:#5b5870}
.quiz-result .qr-title{font-size:1.35rem;font-weight:800;color:var(--marine);margin-bottom:10px;letter-spacing:-.3px;text-wrap:balance}
.quiz-result p{color:var(--muted);font-size:1.02rem;max-width:540px;margin:0 auto 20px;line-height:1.55}
@keyframes cl-pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
/* aération mobile + fixes responsive (desktop inchangé) */
@media(max-width:560px){
h1{line-height:1.18;letter-spacing:-.4px}
h2{line-height:1.24}
.hero .sub,.sec-head p,.lead p,.answer-card p,.panel li,.card p{line-height:1.66}
.cta-band-inner{padding:34px 20px}
.cta-band-title{line-height:1.28}
.cta-band .btn,.hero-cta .btn{width:100%;padding-left:18px;padding-right:18px}
.human-note{text-align:center;flex-direction:column;gap:12px}.human-note img{width:66px;height:66px}
}
.upd{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;margin:4px auto 34px;background:rgba(240,88,32,.08);border:1px solid rgba(240,88,32,.2);color:var(--marine);font-size:.85rem;font-weight:600;padding:7px 16px 7px 8px;border-radius:999px}
.upd img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}
.upd time{font-weight:700}
.upd a{color:var(--orange);font-weight:700}
@media(max-width:480px){.upd{font-size:.76rem;padding:6px 13px 6px 6px;line-height:1.3}.upd img{width:24px;height:24px}}
.upd a{color:var(--marine);font-weight:700}
/* problème : erreurs */
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
@media(max-width:760px){.why{grid-template-columns:1fr}}
.why-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.why-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(240,88,32,.14),var(--shadow-md)}
.why-card .wn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,rgba(240,88,32,.14),rgba(255,122,74,.16));color:#a8380a;font-weight:900;font-size:1rem;margin-bottom:14px}
.why-card h3{font-size:1.12rem;font-weight:800;color:var(--marine);margin-bottom:7px}
.why-card p{color:var(--muted);font-size:.98rem}
/* bento piliers */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:840px){.bento{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.card:hover{transform:translateY(-5px);box-shadow:0 24px 56px rgba(240,88,32,.18),var(--shadow-md)}
.card .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(240,88,32,.12),rgba(255,122,74,.12));margin-bottom:20px}
.card .ic svg{width:26px;height:26px;stroke:var(--orange);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:1.18rem;font-weight:800;color:var(--marine);margin-bottom:9px}
.card p{color:var(--muted);font-size:1rem}
/* comparatif */
.cmp{max-width:900px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--white)}
.cmp-scroll{overflow-x:auto}
.cmp table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:640px}
.cmp th,.cmp td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{background:var(--bg-soft);font-weight:800;color:var(--marine);font-size:.82rem;letter-spacing:.2px}
.cmp thead th:first-child{color:var(--orange);text-transform:uppercase;font-size:.72rem;letter-spacing:1px}
.cmp thead th.hl{color:var(--orange)}
.cmp tbody tr:last-child td{border-bottom:none}
.cmp td:first-child{font-weight:700;color:var(--marine);width:22%}
.cmp .vh{color:var(--ink);font-weight:600}
.cmp .auto{color:var(--muted)}
@media(max-width:560px){.cmp th,.cmp td{padding:12px 12px;font-size:.86rem}}
/* méthode timeline */
.timeline{max-width:820px;margin:0 auto;position:relative}
.timeline::before{content:"";position:absolute;left:26px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--orange),rgba(240,88,32,.15));border-radius:2px}
.tl-item{position:relative;padding:0 0 30px 74px}
.tl-item:last-child{padding-bottom:0}
.tl-badge{position:absolute;left:0;top:0;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--marine),var(--marine-deep));color:#fff;font-weight:900;font-size:1.05rem;box-shadow:0 10px 24px rgba(28,25,98,.22);z-index:1}
.tl-item h3{font-size:1.18rem;font-weight:800;color:var(--marine);margin-bottom:6px}
.tl-item .ph{font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--orange-ink);font-weight:700;margin-bottom:6px}
.tl-item p{color:var(--muted);font-size:1rem}
@media(max-width:480px){.tl-item{padding-left:64px}.tl-badge{width:48px;height:48px}.timeline::before{left:23px}}
/* split : pour qui */
.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}
@media(max-width:840px){.split{grid-template-columns:1fr}}
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px;box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.panel:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(240,88,32,.14)}
.panel.dark{background:linear-gradient(160deg,var(--marine),var(--marine-deep));color:#fff;border:none}
.panel h3{font-size:1.28rem;font-weight:800;margin-bottom:18px;letter-spacing:-.3px}
.panel.dark h3{color:#fff}
.panel ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.panel li{display:flex;gap:13px;align-items:flex-start;font-size:1.02rem;color:var(--ink)}
.panel.dark li{color:rgba(255,255,255,.92)}
.panel li svg{width:21px;height:21px;flex-shrink:0;margin-top:1px}
.ck{stroke:var(--orange);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cx{stroke:#c9c7d6;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.panel.dark .ck{stroke:var(--orange-soft)}
/* stats band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px}
@media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.stats{grid-template-columns:1fr}}
.stat{text-align:center;background:linear-gradient(180deg,#fff,#fafafd);border:1px solid var(--line);border-radius:var(--radius);padding:28px 16px 24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.stat::before{content:"";position:absolute;inset:0 0 auto 0;height:46%;background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,0));pointer-events:none}
.stat:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(240,88,32,.2),var(--shadow-md)}
.stat .n{font-size:2.2rem;font-weight:900;color:var(--orange);line-height:1;letter-spacing:-1.2px;position:relative;z-index:1}
.stat .l{color:var(--muted);font-size:.9rem;font-weight:600;margin-top:9px;position:relative;z-index:1}
/* case study */
.case{max-width:900px;margin:36px auto 0;background:linear-gradient(160deg,var(--marine),var(--marine-deep));border-radius:var(--radius-lg);padding:38px 36px;color:#fff;box-shadow:0 24px 60px rgba(20,16,60,.22);position:relative;overflow:hidden}
.case::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;background:radial-gradient(closest-side,rgba(240,88,32,.28),transparent 70%);pointer-events:none}
.case .ct{position:relative;z-index:1}
.case .cq{font-size:1.28rem;font-weight:700;line-height:1.4;letter-spacing:-.2px;text-wrap:pretty}
.case .cq b{color:var(--orange-soft)}
.case .cm{display:flex;align-items:center;gap:13px;margin-top:22px}
.case .cm img{width:46px;height:46px;border-radius:50%;object-fit:contain;background:#fff;padding:6px;flex-shrink:0}
.case .cm .cn{font-weight:800;font-size:1rem}
.case .cm .cr{color:rgba(255,255,255,.7);font-size:.86rem}
/* consultant vs agence */
.why-me{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:840px){.why-me{grid-template-columns:1fr}}
/* bloc auteur (E-E-A-T) */
.bio{display:grid;grid-template-columns:250px 1fr;gap:32px;align-items:center;max-width:900px;margin:0 auto 40px;background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 30px;box-shadow:var(--shadow-sm)}
@media(max-width:680px){.bio{grid-template-columns:1fr;text-align:center;gap:18px;padding:24px 22px}}
.bio-photo{width:100%;max-width:230px;border-radius:20px;filter:grayscale(1);box-shadow:0 12px 30px rgba(20,16,60,.18);margin:0 auto;height:auto;display:block}
.bio-name{font-weight:800;color:var(--marine);font-size:1.2rem;letter-spacing:-.3px}
.bio-txt p{color:var(--muted);font-size:1rem;margin-top:12px}
.bio-txt a{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* image de contenu + citation */
.figure{max-width:860px;margin:34px auto 0}
.figure img{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block}
.figure figcaption{text-align:center;color:var(--muted);font-size:.88rem;margin-top:12px;font-style:italic}
.quote{max-width:760px;margin:0 auto 44px;background:linear-gradient(180deg,#fff,#fbfbfd);border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px;box-shadow:var(--shadow-sm)}
.quote p{font-size:1.12rem;color:var(--ink);line-height:1.55;font-weight:500}
.quote cite{display:block;margin-top:12px;font-style:normal;font-size:.9rem;color:var(--muted);font-weight:600}
.quote cite a{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* CTA / diagnostic */
.diag{padding:78px 0 30px}
.diag .sec-head{margin-bottom:30px}
#diagnostic{scroll-margin-top:88px}
.diag-reassure{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 auto 26px;color:var(--marine);font-weight:600;font-size:.98rem}
.diag-reassure .chip{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:9px 16px;border-radius:999px}
.diag-reassure svg{width:16px;height:16px;stroke:var(--orange);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.diag-face{width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 22px rgba(20,16,60,.18),0 0 0 1px var(--line);margin:0 auto 16px;display:block}
/* footer */
footer{padding:44px 0 30px;border-top:1px solid var(--line);background:var(--bg-soft);color:var(--muted);font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:32px;align-items:start;text-align:left}
@media(max-width:980px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}@media(max-width:560px){.foot-grid{grid-template-columns:1fr;gap:26px}}
.foot-author{display:flex;gap:16px;align-items:flex-start}
.foot-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 6px 18px rgba(20,16,60,.16);flex-shrink:0}
.foot-name{font-weight:800;color:var(--marine);font-size:1.08rem}
.foot-role{font-size:.82rem;font-weight:600;color:var(--orange-ink);margin:2px 0 8px}
.foot-bio{font-size:.9rem;color:var(--muted);line-height:1.55;max-width:380px}
.foot-col h3{font-size:.74rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--marine);font-weight:800;margin-bottom:14px}
.foot-col a{display:block;color:var(--muted);font-weight:600;padding:5px 0;transition:color .2s ease}
.foot-col a:hover{color:var(--marine)}
.foot-bottom{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);text-align:center;font-size:.86rem}
footer a{color:var(--marine);font-weight:600}
.foot-bottom .foot-logo{height:22px;width:auto;margin:0 auto 10px;opacity:.85;display:block}
/* sticky mobile cta */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 16px;display:none;transition:transform .4s var(--ease),opacity .4s var(--ease)}
.sticky-cta .btn{width:100%;padding:15px}
.sticky-cta.is-hidden{transform:translateY(120%);opacity:0;pointer-events:none}
@media(max-width:720px){.sticky-cta{display:block}body{padding-bottom:78px}}
/* reveal */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
/* animations ambiantes */
.eyebrow .dot{animation:dotPulse 2.4s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(240,88,32,.5)}70%{box-shadow:0 0 0 7px rgba(240,88,32,0)}}
.hero h1 .hl{background:linear-gradient(110deg,var(--orange) 0%,var(--orange-soft) 38%,#ffb38c 50%,var(--orange-soft) 62%,var(--orange) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:hlShimmer 7s linear infinite;padding-right:.08em}
@keyframes hlShimmer{0%{background-position:0% center}100%{background-position:-220% center}}
/* FAQ accordéon */
.faq-wrap{max-width:760px;margin:0 auto}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease)}
.faq-item.open{box-shadow:var(--shadow-md)}
.faq-h{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 24px;background:none;border:none;cursor:pointer;font-family:var(--font);font-size:1.05rem;font-weight:700;color:var(--marine);text-align:left;line-height:1.35;min-height:48px;touch-action:manipulation}
.faq-q .chev{flex-shrink:0;display:grid;place-items:center;transition:transform .3s var(--ease)}
.faq-q .chev svg{width:22px;height:22px;stroke:var(--orange);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.faq-item.open .faq-q .chev{transform:rotate(180deg)}
.js .faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.faq-a{overflow:hidden}
.faq-a p{padding:0 24px 22px;color:var(--muted);font-size:1.01rem}
.faq-a a{color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
</style>
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.vincenthego.com/#org","name":"VH DIGITAL CORP","alternateName":"Vincent Hégo","url":"https://www.vincenthego.com/","logo":"https://www.vincenthego.com/wp-content/uploads/2020/12/LOGO_VINCENTHEGO.COM_-300x300.png","foundingDate":"2016","founder":{"@id":"https://www.vincenthego.com/#vincent"},"sameAs":["https://www.linkedin.com/in/vincent-hego/","https://www.youtube.com/channel/UC_sEPcLmxDbseKtiBc2tigg","https://www.malt.com/profile/vincenth"]},{"@type":"WebSite","@id":"https://www.vincenthego.com/#website","url":"https://www.vincenthego.com/","name":"Vincent Hégo","inLanguage":"fr-FR","publisher":{"@id":"https://www.vincenthego.com/#org"}},{"@type":"Person","@id":"https://www.vincenthego.com/#vincent","name":"Vincent Hégo","jobTitle":"Consultant SEO","description":"Consultant SEO et fondateur de VH DIGITAL CORP, expert en référencement naturel depuis 2016, plus de 1000 clients accompagnés.","url":"https://www.vincenthego.com/mon-histoire/","image":"https://www.vincenthego.com/assets/brand/vincent-rond.webp","worksFor":{"@id":"https://www.vincenthego.com/#org"},"knowsAbout":["Consultant SEO","Référencement naturel","SEO","Stratégie SEO","Audit SEO","SEO technique","Netlinking","SEO local","GEO"],"sameAs":["https://www.linkedin.com/in/vincent-hego/","https://www.youtube.com/channel/UC_sEPcLmxDbseKtiBc2tigg","https://www.malt.com/profile/vincenth"]},{"@type":["ProfessionalService","LocalBusiness"],"@id":"https://www.vincenthego.com/#consultant","name":"Vincent Hégo | Consultant SEO","url":"https://www.vincenthego.com/consultant-seo-epinal/","image":"https://www.vincenthego.com/consultant-seo-epinal/assets/og-consultant-seo-epinal.png","description":"Vincent Hégo, consultant SEO indépendant depuis 2016 : audit, stratégie de mots-clés, SEO technique, contenu, netlinking et GEO, en direct et sans intermédiaire, pour un référencement naturel qui génère des clients.","areaServed":[{"@type":"City","name":"Épinal"},{"@type":"AdministrativeArea","name":"Vosges"},{"@type":"AdministrativeArea","name":"Grand Est"},{"@type":"Country","name":"France"}],"priceRange":"€€€","telephone":"+33756856634","email":"bonjour@vincenthego.com","address":{"@type":"PostalAddress","addressLocality":"Montpellier","addressRegion":"Occitanie","addressCountry":"FR"},"founder":{"@id":"https://www.vincenthego.com/#vincent"},"parentOrganization":{"@id":"https://www.vincenthego.com/#org"},"knowsAbout":["Consultant SEO","Référencement naturel","Audit SEO","Stratégie SEO","SEO technique","Netlinking","GEO"],"review":[{"@type":"Review","author":{"@type":"Person","name":"Juliette (AdsFlow)"},"datePublished":"2026-02-28","reviewRating":{"@type":"Rating","ratingValue":"5","bestRating":"5"},"reviewBody":"Collaborer avec Vincent est un réel atout stratégique. Son approche fusionnée permet d'occuper l'espace sur Google de manière cohérente et ultra-performante."},{"@type":"Review","author":{"@type":"Person","name":"Aurélien Richard"},"datePublished":"2026-01-08","reviewRating":{"@type":"Rating","ratingValue":"5","bestRating":"5"},"reviewBody":"Vincent est super pédagogique et sa formation est vraiment top. Elle m'a beaucoup appris pour peaufiner ma carrière de freelance."},{"@type":"Review","author":{"@type":"Person","name":"Nadia Bulcourt"},"datePublished":"2026-01-08","reviewRating":{"@type":"Rating","ratingValue":"5","bestRating":"5"},"reviewBody":"Coaching SEO au top avec Vincent. Il maîtrise parfaitement son sujet, explique avec pédagogie et s'adapte vraiment à chaque situation."},{"@type":"Review","author":{"@type":"Person","name":"Paul Barbe"},"datePublished":"2025-12-29","reviewRating":{"@type":"Rating","ratingValue":"5","bestRating":"5"},"reviewBody":"Son approche est claire, pédagogique et ultra concrète : on ressort avec un vrai plan d'action, pas du blabla. Mon site commence déjà à générer plus de trafic."}]},{"@type":"Service","@id":"https://www.vincenthego.com/consultant-seo-epinal/#service","serviceType":"Consultant SEO","name":"Consultant SEO à Épinal","url":"https://www.vincenthego.com/consultant-seo-epinal/","provider":{"@id":"https://www.vincenthego.com/#consultant"},"areaServed":[{"@type":"City","name":"Épinal"},{"@type":"AdministrativeArea","name":"Vosges"},{"@type":"AdministrativeArea","name":"Grand Est"},{"@type":"Country","name":"France"}],"description":"Prestation d'un consultant SEO indépendant : audit, stratégie et mots-clés, SEO technique, création de contenu, netlinking, SEO local et optimisation IA (GEO), en direct avec l'expert, sans intermédiaire.","offers":{"@type":"Offer","priceCurrency":"EUR","priceRange":"€€€","availability":"https://schema.org/InStock","url":"https://www.vincenthego.com/consultant-seo-epinal/"},"hasOfferCatalog":{"@type":"OfferCatalog","name":"Prestations d'un consultant SEO","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Audit SEO complet"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Stratégie SEO et étude de mots-clés"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"SEO technique et Core Web Vitals"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Rédaction et contenu SEO"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Netlinking et autorité"}},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Conseil SEO et formation d'équipe"}}]}},{"@type":"WebPage","@id":"https://www.vincenthego.com/consultant-seo-epinal/#webpage","name":"Consultant SEO à Épinal","url":"https://www.vincenthego.com/consultant-seo-epinal/","inLanguage":"fr-FR","isPartOf":{"@id":"https://www.vincenthego.com/#website"},"about":{"@id":"https://www.vincenthego.com/consultant-seo-epinal/#service"},"description":"Vincent Hégo, consultant SEO expert depuis 2016 : votre référencement naturel piloté en direct, sans intermédiaire d'agence.","datePublished":"2026-07-27","dateModified":"2026-07-27","primaryImageOfPage":"https://www.vincenthego.com/consultant-seo-epinal/assets/og-consultant-seo-epinal.png","speakable":{"@type":"SpeakableSpecification","cssSelector":["#definition .answer-card",".faq-q"]}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https://www.vincenthego.com/"},{"@type":"ListItem","position":2,"name":"Consultant SEO","item":"https://www.vincenthego.com/consultant-seo/"},{"@type":"ListItem","position":3,"name":"Consultant SEO à Épinal","item":"https://www.vincenthego.com/consultant-seo-epinal/"}]},{"@type":"Product","@id":"https://www.vincenthego.com/consultant-seo-epinal/#product","name":"Consultant SEO à Épinal","description":"Consultant SEO à Épinal depuis 2016 : Vincent Hégo pilote votre référencement en direct pour attirer plus de clients dans les Vosges.","brand":{"@type":"Brand","name":"VH DIGITAL CORP"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"5","reviewCount":"54","bestRating":"5","worstRating":"1"},"image":"https://www.vincenthego.com/consultant-seo-epinal/assets/og-consultant-seo-epinal.png"}]}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Pourquoi faire appel à un consultant SEO à Épinal ?","acceptedAnswer":{"@type":"Answer","text":"<p>Un consultant SEO qui connaît vraiment Épinal maîtrise le marché local, la concurrence des Vosges et les recherches de vos clients de proximité. Vous travaillez en direct avec l'expert, sans intermédiaire d'agence : plus réactif, plus personnel et plus stratégique.</p>"}},{"@type":"Question","name":"Intervenez-vous dans tout le département des Vosges et le massif vosgien ?","acceptedAnswer":{"@type":"Answer","text":"<p>Oui. J'accompagne les entreprises de Communauté d'agglomération d'Épinal (Golbey, Chantraine, Thaon-les-Vosges, Dogneville…) et de tout le département des Vosges : Saint-Dié-des-Vosges, Remiremont, Neufchâteau, Gérardmer, jusqu'à Nancy et Strasbourg. Et partout en France à distance.</p>"}},{"@type":"Question","name":"Travaillez-vous en présentiel ou à distance ?","acceptedAnswer":{"@type":"Answer","text":"<p>Les deux. À Épinal et alentours, on peut se rencontrer ; ailleurs, tout se fait en visioconférence, aussi efficacement. Vous choisissez le format qui vous convient.</p>"}},{"@type":"Question","name":"Combien coûte un consultant SEO à Épinal ?","acceptedAnswer":{"@type":"Answer","text":"<p>Un audit va de 800 à 5 000 € selon la taille du site. Un accompagnement mensuel se situe en général entre 1 000 et 5 000 €/mois. De mon côté, le tarif est sur-mesure et se définit pendant le diagnostic offert.</p>"}},{"@type":"Question","name":"Consultant SEO ou agence à Épinal : que choisir ?","acceptedAnswer":{"@type":"Answer","text":"<p>Avec une agence, vous passez souvent par un chef de projet qui délègue à des juniors. Avec un consultant, vous travaillez en direct avec l'expert : plus personnel, plus réactif, et votre budget va au travail SEO réel, pas à la structure.</p>"}},{"@type":"Question","name":"Quels types d'entreprises spinaliennes accompagnez-vous ?","acceptedAnswer":{"@type":"Answer","text":"<p>PME, commerces, artisans, professions libérales, e-commerces et startups : bois et papier, textile technique, imagerie et impression, agroalimentaire, tourisme vert, santé. Tout site qui veut plus de clients depuis Google, à Épinal comme au national.</p>"}},{"@type":"Question","name":"En combien de temps voit-on des résultats ?","acceptedAnswer":{"@type":"Answer","text":"<p>Les premiers gains (corrections techniques, pages qui remontent) arrivent souvent en 1 à 3 mois. Le SEO est un canal de fond : c'est sur 6 à 12 mois qu'on construit une croissance durable du trafic et des clients.</p>"}},{"@type":"Question","name":"Faites-vous du SEO local (Google Maps) à Épinal ?","acceptedAnswer":{"@type":"Answer","text":"<p>Oui. Fiche Google Business, avis, pack local et Google Maps : j'optimise votre <a href=\"https://www.vincenthego.com/seo-local/\">référencement local</a> pour capter les clients de votre zone à Épinal et dans les Vosges.</p>"}},{"@type":"Question","name":"Optimisez-vous aussi pour les IA (ChatGPT, Perplexity) ?","acceptedAnswer":{"@type":"Answer","text":"<p>Oui. En plus de Google, j'optimise votre visibilité dans les moteurs de réponse IA (AI Overviews, ChatGPT, Perplexity), ce qu'on appelle le <a href=\"https://www.vincenthego.com/agence-geo/\">GEO</a>. Vos contenus sont structurés pour être cités par ces nouvelles interfaces.</p>"}},{"@type":"Question","name":"Comment se passe le premier échange ?","acceptedAnswer":{"@type":"Answer","text":"<p>On commence par un diagnostic offert : j'analyse votre site en direct, on identifie vos leviers prioritaires, et vous repartez avec un plan d'action clair, qu'on travaille ensemble ou non.</p>"}},{"@type":"Question","name":"Être à distance de Nancy, c'est un handicap ?","acceptedAnswer":{"@type":"Answer","text":"<p>Commercialement, beaucoup d'entreprises le croient : Nancy est à une heure de route d'Épinal. Google, lui, ne raisonne pas en kilomètres. Une page bien positionnée vous met devant un prospect parisien exactement comme devant un voisin de la rue Léopold-Bourg. C'est pour ça que le référencement naturel est, à mon sens, le canal le plus rentable pour une entreprise spinalienne.</p>"}},{"@type":"Question","name":"Travaillez-vous aussi partout en France ?","acceptedAnswer":{"@type":"Answer","text":"<p>Oui. Basé à Montpellier, j'accompagne des clients partout en France à distance, dont Épinal, et j'ai déjà généré plus de 300 000 visiteurs/mois pour des sites nationaux comme Waalaxy.</p>"}},{"@type":"Question","name":"Qu'est-ce qu'un consultant SEO ?","acceptedAnswer":{"@type":"Answer","text":"<p>Un consultant SEO est un expert indépendant qui optimise votre référencement naturel (technique, contenu, autorité) pour vous faire gagner des positions sur Google et attirer plus de clients, en direct et sans agence. C'est exactement mon métier de <strong>consultant SEO à Épinal</strong>.</p>"}}]}</script>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"HowTo","name":"Comment je booste votre référencement à Épinal","description":"Les étapes d'un accompagnement SEO avec Vincent Hégo, du diagnostic local au suivi.","step":[{"@type":"HowToStep","position":1,"name":"Diagnostic local & quick wins","text":"Audit technique, contenu et concurrence locale (Épinal, Vosges), analyse Search Console et corrections rapides.","url":"https://www.vincenthego.com/consultant-seo-epinal/#definition"},{"@type":"HowToStep","position":2,"name":"Stratégie de mots-clés","text":"Mots-clés locaux (à Épinal) et nationaux, selon vos clients et votre concurrence."},{"@type":"HowToStep","position":3,"name":"Contenus qui rankent","text":"Pages et contenus optimisés pour Google et pour les IA, conçus pour dépasser vos concurrents."},{"@type":"HowToStep","position":4,"name":"Autorité & netlinking","text":"Renforcement de la popularité du domaine avec des liens de qualité et un maillage solide."},{"@type":"HowToStep","position":5,"name":"SEO local & suivi","text":"Fiche Google Business, pack local, suivi des positions, du trafic et des clients générés, ajustements continus."}]}
</script>
<style>
/* ===== Nav hub (menu + dropdown, hamburger checkbox-hack) ===== */
header#site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
html,body{overflow-x:clip}
#site-header .nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 24px}
#site-header .nav-logo img{height:34px;width:auto;display:block}
.navtoggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.burger{display:none;flex-direction:column;gap:5px;padding:10px;cursor:pointer;border-radius:12px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.burger span{width:24px;height:2.4px;background:var(--marine);border-radius:3px;transition:.25s}
.site-nav{display:flex;align-items:center;gap:26px}
.menu{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu-top{display:inline-flex;align-items:center;gap:5px;background:none;border:0;font:inherit;font-size:.98rem;font-weight:600;color:var(--ink);cursor:pointer;text-decoration:none;padding:6px 0;letter-spacing:-.01em;touch-action:manipulation}
.menu-top:hover{color:var(--marine)}
.menu>li>.menu-top:not(.menu-rankflow){position:relative}
.menu>li>.menu-top:not(.menu-rankflow)::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--marine);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.menu>li>.menu-top:not(.menu-rankflow):hover::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.menu>li>.menu-top:not(.menu-rankflow)::after{transition:none}}
.menu-top .chev{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .2s}
.has-sub:hover .chev,.has-sub:focus-within .chev{transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:230px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px rgba(28,25,98,.14);padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;transition:.2s}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.submenu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.submenu li a{display:block;padding:11px 15px;border-radius:12px;font-size:.95rem;font-weight:600;color:var(--ink);text-decoration:none;transition:.15s}
.submenu li a:hover,.submenu li a[aria-current]{background:var(--bg-soft);color:var(--orange)}
/* fil d'Ariane */
.crumb{border-bottom:1px solid var(--line);background:#fff}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:12px 0;margin:0;font-size:.86rem;color:var(--muted)}
.crumb li{display:flex;align-items:center;gap:9px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--orange)}
.crumb svg{width:13px;height:13px;stroke:#c9c7d6;stroke-width:2.5;fill:none}
.crumb [aria-current]{color:var(--marine);font-weight:600}
@media(max-width:900px){
.burger{display:flex}
.site-nav{position:fixed;inset:62px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 40px rgba(28,25,98,.14);padding:8px 24px 16px;max-height:calc(100dvh - 62px);overflow-y:auto;transform:translateY(-130%);transition:transform .24s cubic-bezier(.4,0,.2,1);visibility:hidden}
.navtoggle:checked~.site-nav{transform:translateY(0);visibility:visible}
.navtoggle:checked~.burger span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
.navtoggle:checked~.burger span:nth-child(2){opacity:0}
.navtoggle:checked~.burger span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
#site-header.menu-open .site-nav{transform:translateY(0)!important;visibility:visible!important}
#site-header.menu-open .burger span:nth-child(1){transform:translateY(7.4px) rotate(45deg)}
#site-header.menu-open .burger span:nth-child(2){opacity:0}
#site-header.menu-open .burger span:nth-child(3){transform:translateY(-7.4px) rotate(-45deg)}
.menu{flex-direction:column;align-items:stretch;gap:0;width:100%}
.menu>li{border-bottom:1px solid var(--line)}
.menu-top{width:100%;justify-content:space-between;padding:11px 2px;font-size:1rem}
.menu-rankflow{justify-content:flex-start;gap:9px;border:0;background:none;padding:11px 2px}
.menu-rankflow img{width:20px;height:20px}
.submenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;min-width:0;max-height:none;overflow:visible;padding:2px 0 6px 6px}
.submenu li a{padding:8px 14px;font-size:.96rem;color:var(--muted)}
.submenu li a:hover{color:var(--marine)}
.has-sub>.menu-top .chev{display:none}
.has-sub>.menu-top{cursor:default;pointer-events:none;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:10px 2px 3px}
.submenu::before{display:none}
.nav-cta{margin-top:12px;width:100%;justify-content:center;padding:12px 20px}
}
</style>
<style id="vh-menu-shine">
.menu-formation{background:linear-gradient(110deg,var(--marine) 0%,var(--marine) 42%,#ff8a3d 48%,#ffc59b 50%,#ff8a3d 52%,var(--marine) 58%,var(--marine) 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:formShine 4.5s ease-in-out infinite}
@keyframes formShine{0%{background-position:145% 0}55%,100%{background-position:-45% 0}}
@media(prefers-reduced-motion:reduce){.menu-formation{animation:none;-webkit-text-fill-color:var(--marine);color:var(--marine)}}
</style>
<style id="vh-rfd-glow">
#rfd-root .rfd-card{position:relative}
#rfd-root .rfd-card::before{content:"";position:absolute;inset:0;border-radius:22px;padding:1.5px;background:linear-gradient(135deg,rgba(240,88,32,.4),rgba(90,80,230,.26) 55%,rgba(28,25,98,.24));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3}
#rfd-root .rfd-card::after{content:"";position:absolute;inset:-5px;border-radius:26px;background:radial-gradient(closest-side,rgba(240,88,32,.1),transparent 72%);filter:blur(10px);pointer-events:none;z-index:-1}
</style>
<style id="vh-quiz-cycle">
@media (prefers-reduced-motion:no-preference){
.quiz-step.is-active .quiz-opt{animation:quizGlow 4.2s ease-in-out infinite}
.quiz-step.is-active .quiz-opt:nth-child(1){animation-delay:0s}
.quiz-step.is-active .quiz-opt:nth-child(2){animation-delay:.7s}
.quiz-step.is-active .quiz-opt:nth-child(3){animation-delay:1.4s}
.quiz-step.is-active .quiz-opt:nth-child(4){animation-delay:2.1s}
.quiz-opts:hover .quiz-opt,.quiz-opt.sel{animation:none}
}
@keyframes quizGlow{0%,17%,100%{border-color:var(--line);background:transparent}5%,12%{border-color:var(--orange);background:rgba(240,88,32,.07)}}
</style>
<style>.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:2000;background:linear-gradient(90deg,var(--orange),var(--orange-soft));pointer-events:none;will-change:width}@media (prefers-reduced-motion:reduce){.scroll-prog{transition:none}}</style><style id="vh-mobile">
@media(max-width:560px){.eyebrow{font-size:.62rem;letter-spacing:-.2px;padding:6px 12px;gap:6px;white-space:nowrap}}
@media(max-width:560px){
.sec{padding:48px 0}
.diag{padding:44px 0 24px}
.viz-card{padding:16px 11px 20px}
.viz{margin-bottom:6px}
}
.journey-v{display:none}
@media(max-width:600px){
svg.journey-h{display:none}
.journey-v{display:flex;flex-direction:column;max-width:300px;margin:16px auto 18px}
}
.jv-step{position:relative;padding-bottom:40px}
.jv-step:last-child{padding-bottom:0}
.jv-step:not(:last-child)::after{content:"\25BE";position:absolute;left:50%;bottom:9px;transform:translateX(-50%);color:var(--orange);opacity:.7;font-size:26px;line-height:1}
.jv-b{background:var(--bg-soft);border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;text-align:center}
.jv-b b{display:block;color:var(--marine);font-weight:700;font-size:1rem;margin-bottom:2px}
.jv-b span{color:var(--muted);font-size:.9rem}
.jv-b.jv-final{background:var(--orange);border-color:var(--orange)}
.jv-b.jv-final b{color:#fff}.jv-b.jv-final span{color:#ffe9df}
@media(max-width:560px){.crumb ol{flex-wrap:nowrap;overflow-x:auto;gap:5px;font-size:.7rem;padding:10px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.crumb ol::-webkit-scrollbar{display:none}.crumb li{flex:0 0 auto}.crumb svg{width:10px;height:10px}}
</style>
<style id="vh-foot-cities">.foot-cities{display:grid;grid-template-columns:1fr 1fr;gap:2px 22px;margin:9px 0 4px}.foot-cities a{display:inline-flex;align-items:center;font-size:.85rem;white-space:nowrap;padding:3px 0;line-height:1.3;color:var(--marine);transition:color .18s}.foot-cities a:hover{color:var(--orange)}.foot-cities a::before{content:"";flex:0 0 auto;width:4px;height:4px;border-radius:50%;background:var(--orange);margin-right:9px;opacity:.5;transition:opacity .2s}.foot-cities a:hover::before{opacity:1}.foot-cities a[aria-current="page"]{font-weight:700}@media(max-width:600px){.foot-cities{gap:1px 16px}}.foot-col a.foot-line{border-top:1px solid rgba(28,25,98,.16);margin-top:10px;padding-top:12px}</style><style id="vh-locsplit">@media(min-width:861px){.loc-split{align-items:stretch!important}.loc-split .loc-img{aspect-ratio:auto!important;min-height:340px}}</style><style id="vh-diag-space">/* espace resserre au-dessus du widget diagnostic (desktop + mobile) */
#diagnostic-sec,#agenda{padding-top:44px}
*:has(+ #diagnostic-sec),*:has(+ #agenda){padding-bottom:38px}
@media(max-width:560px){#diagnostic-sec,#agenda{padding-top:24px}*:has(+ #diagnostic-sec),*:has(+ #agenda){padding-bottom:22px}}</style>
<style id="vh-src-author">.src-author{max-width:820px;margin:34px auto 0;padding-top:28px;border-top:1px solid var(--line);display:flex;gap:18px;align-items:flex-start;text-align:left}.src-author .foot-bio{max-width:640px}.src-author--foot{margin:0 auto 30px;padding:0;border-top:0;max-width:820px}@media(max-width:560px){.src-author{flex-direction:row;gap:14px}}</style>
<style id="vh-submenu-dots">
.submenu{z-index:100}
.submenu li a{position:relative;padding-left:34px}
.submenu li a::before{content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--orange);opacity:.5;transition:opacity .18s ease,transform .18s ease}
.submenu li a:hover::before,.submenu li a[aria-current]::before{opacity:1;transform:translateY(-50%) scale(1.3)}
@media(max-width:960px){.submenu li a{padding-left:30px}.submenu li a::before{left:12px}}
header:not(#site-header){z-index:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
</style>
</head>
<body>
<div class="scroll-prog" id="scroll-prog" aria-hidden="true"></div>
<header id="site-header">
<div class="wrap nav">
<div class="nav-l">
<a href="https://www.vincenthego.com/" class="nav-logo" aria-label="Accueil Vincent Hégo"><img src="/assets/brand/logo-vh-couleur.webp" alt="Vincent Hégo, agence et consultant SEO à Épinal" width="188" height="60" fetchpriority="high"/></a>
</div>
<input type="checkbox" id="navtoggle" class="navtoggle" aria-label="Ouvrir le menu">
<label for="navtoggle" class="burger" aria-hidden="true"><span></span><span></span><span></span></label>
<nav class="site-nav" aria-label="Navigation principale">
<ul class="menu">
<li class="has-sub">
<button type="button" class="menu-top" aria-haspopup="true">Prestations
<svg viewbox="0 0 24 24" class="chev"><path d="M6 9l6 6 6-6"/></svg>
</button>
<ul class="submenu">
<li><a href="https://www.vincenthego.com/accompagnement-seo/">Accompagnement SEO</a></li>
<li><a href="https://www.vincenthego.com/audit-seo/">Audit SEO</a></li>
<li><a href="https://www.vincenthego.com/agence-netlinking/">Netlinking</a></li>
<li><a href="https://www.vincenthego.com/seo-local/">SEO local</a></li>
<li><a href="https://www.vincenthego.com/creation-site-internet/">Création de site</a></li>
<li><a href="https://www.vincenthego.com/refonte-site-internet/">Refonte de site</a></li>
<li><a href="https://www.vincenthego.com/coaching-seo/">Coaching SEO</a></li>
</ul>
</li>
<li><a href="https://formation.vincenthego.com/" class="menu-top menu-formation">Formation SEO</a></li>
<li><a href="https://www.vincenthego.com/mon-histoire/" class="menu-top">Mon histoire</a></li>
<li><a href="https://formation.vincenthego.com/rankflow-seo" class="menu-top menu-rankflow" target="_blank" rel="noopener"><img src="/assets/brand/rankflow-mark.webp" alt="Logo RankFlow SEO" width="18" height="18"/>RankFlow</a></li>
</ul>
<a class="btn btn-analyze nav-cta" href="https://www.vincenthego.com/contact/">Me contacter</a>
</nav>
</div>
</header>
<main>
<nav class="crumb" aria-label="Fil d'Ariane">
<div class="wrap"><ol>
<li><a href="https://www.vincenthego.com/">Accueil</a></li>
<li><svg viewbox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg><a href="https://www.vincenthego.com/consultant-seo/">Consultant SEO</a></li>
<li><svg viewbox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg><span aria-current="page">Consultant SEO à Épinal</span></li>
</ol></div>
</nav>
<!-- HERO -->
<section class="hero">
<div class="wrap">
<div class="host">
<img src="/assets/brand/vincent-rond.webp" alt="Vincent Hégo, consultant SEO"/>
<div class="host-meta">
<div class="hn">Avec Vincent Hégo</div>
<div class="hr">Consultant SEO | CEO VH DIGITAL CORP</div>
</div>
</div>
<span class="eyebrow"><span class="dot"></span>Consultant SEO freelance à Épinal | Depuis 2016</span>
<h1>Consultant SEO à <span class="hl">Épinal</span></h1>
<p class="sub"><a href="https://www.vincenthego.com/consultant-seo/">Consultant SEO</a> pour Épinal depuis 2016, des bords de Moselle au parc du château, je pilote votre référencement en direct, sans agence. Un <strong>consultant SEO à Épinal</strong> utile, c'est celui qui fait de Google un vrai canal de clients, dans les Vosges comme partout en France.</p>
<div class="hero-cta">
<a class="btn btn-primary btn-lg" href="#diagnostic" data-rfd-cta>Parler à votre consultant SEO
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
</a>
<span class="micro"><b>Analyse offerte</b> | en visio | <b>sans engagement</b></span>
</div>
<div class="cred">
<a class="cred-badge" href="https://www.google.com/maps/place/?q=place_id:ChIJq7RkHqulthIRGc8LYdLgWl8" target="_blank" rel="noopener" aria-label="Voir les 54 avis Google de Vincent Hégo (note 5,0/5)">
<div class="cred-ic gborder" aria-hidden="true">
<svg width="22" height="22" viewbox="0 0 48 48"><path fill="#4285F4" d="M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z"/><path fill="#34A853" d="M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z"/><path fill="#FBBC05" d="M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34A21.99 21.99 0 0 0 2 24c0 3.55.85 6.91 2.34 9.88l7.35-5.7z"/><path fill="#EA4335" d="M24 9.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 3.18 29.93 1 24 1 15.4 1 7.96 5.93 4.34 13.12l7.35 5.7C13.42 13.62 18.27 9.75 24 9.75z"/></svg>
</div>
<div class="cred-txt">
<div class="v">5,0/5 <span class="gstars">★★★★★</span></div>
<div class="l">54 avis Google <span class="vchk"><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>vérifiés</span></div>
</div>
</a>
<div class="cred-badge">
<div class="cred-ic orange" aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M3 17l6-6 4 4 8-8"/><path d="M21 7v6h-6"/></svg></div>
<div class="cred-txt">
<div class="v">+300 000</div>
<div class="l">visiteurs/mois générés</div>
</div>
</div>
<div class="cred-badge">
<div class="cred-ic orange" aria-hidden="true"><svg viewbox="0 0 24 24"><path d="M12 2 4 5v6c0 5 3.4 8.5 8 10 4.6-1.5 8-5 8-10V5l-8-3z"/><path d="m9 12 2 2 4-4"/></svg></div>
<div class="cred-txt">
<div class="v">Depuis 2016</div>
<div class="l">consultant SEO | +1000 clients</div>
</div>
</div>
</div>
</div>
</section>
<!-- CITY IMAGE HERO -->
<section class="city-hero">
<figure>
<img src="assets/local/consultant-seo-epinal-hero.webp?v=1" alt="Les bords de la Moselle et la basilique Saint-Maurice à Épinal : Vincent Hégo, consultant SEO à Épinal" width="1240" height="692" decoding="async"/>
<figcaption><b>Épinal, les bords de la Moselle et la basilique Saint-Maurice.</b> Je pilote votre référencement ici, dans les Vosges, et partout dans le Grand Est.</figcaption>
</figure>
</section>
<!-- LOGOS -->
<section class="logos">
<div class="wrap">
<p>Ils me font confiance</p>
<div class="logos-row">
<img src="/assets/logos/waalaxy.webp" alt="Waalaxy" loading="lazy" decoding="async" width="115" height="26"/>
<img src="/assets/logos/bricks.webp" alt="Bricks" loading="lazy" decoding="async" width="194" height="26"/>
<img src="/assets/logos/decathlon.webp" alt="Decathlon" loading="lazy" decoding="async" width="103" height="26"/>
<img src="/assets/logos/matmut.webp" alt="Matmut" loading="lazy" decoding="async" width="152" height="28"/>
<img src="/assets/logos/bosch.webp" alt="Bosch" loading="lazy" decoding="async" width="104" height="26"/>
<img class="tall" src="/assets/logos/lindt.webp" alt="Lindt" loading="lazy" decoding="async" width="126" height="42"/>
</div>
</div>
</section>
<style id="vh-local">
.city-hero{max-width:960px;margin:0 auto;padding:0 24px}
.city-hero figure{position:relative;margin:30px 0 2px;border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:0 22px 52px -26px rgba(28,25,98,.42)}
.city-hero img{display:block;width:100%;height:auto;aspect-ratio:16/7.4;object-fit:cover}
.city-hero figcaption{position:absolute;inset:auto 0 0 0;padding:40px 24px 16px;color:#fff;font-size:.92rem;font-weight:600;line-height:1.5;background:linear-gradient(to top,rgba(19,16,74,.8),rgba(19,16,74,0))}
.city-hero figcaption b{font-weight:800}
.loc-split{display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center;max-width:1080px;margin:0 auto}
.loc-split .loc-img{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 42px -24px rgba(28,25,98,.36);aspect-ratio:11/8}
.loc-split .loc-img img{display:block;width:100%;height:100%;object-fit:cover}
.loc-txt .kicker{margin-bottom:12px}
.loc-txt h2{color:var(--marine);font-size:clamp(1.5rem,3.4vw,2rem);font-weight:800;letter-spacing:-.6px;line-height:1.18;margin:0 0 14px}
.loc-txt>p{color:var(--muted);font-size:1rem;line-height:1.7;margin:0 0 18px}
.loc-list{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:11px}
.loc-list li{display:flex;gap:11px;align-items:flex-start;color:var(--ink);font-size:.97rem;line-height:1.55}
.loc-list svg{flex:0 0 auto;width:21px;height:21px;margin-top:1px;stroke:var(--orange);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.loc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:920px;margin:0 auto}
.loc-fact{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 20px;text-align:center;box-shadow:0 10px 28px -20px rgba(28,25,98,.3)}
.loc-fact .n{font-size:1.95rem;font-weight:900;color:var(--orange);letter-spacing:-1px;line-height:1}
.loc-fact .t{color:var(--muted);font-size:.9rem;line-height:1.5;margin-top:10px}
.communes{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:860px;margin:0 auto}
.communes span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:.9rem;font-weight:600;color:var(--marine)}
@media(max-width:860px){.loc-split{grid-template-columns:1fr;gap:24px;max-width:520px}.loc-split .loc-img{aspect-ratio:16/10}.loc-facts{grid-template-columns:1fr;max-width:420px}.city-hero img{aspect-ratio:16/9}}
</style>
<section class="sec sec-soft">
<div class="wrap">
<div class="loc-split reveal">
<div class="loc-img">
<img src="assets/local/consultant-seo-epinal-zone1.webp?v=1" alt="Le parc du château d'Épinal : zone d’intervention du consultant SEO" width="1100" height="644" loading="lazy" decoding="async"/>
</div>
<div class="loc-txt">
<span class="kicker">Ancré à Épinal</span>
<h2>Un consultant SEO qui connaît votre terrain</h2>
<p>J'accompagne les entreprises d'Épinal et de tout le département des Vosges depuis 2016, en direct avec l'expert. Je connais votre terrain : du bois et du papier, du textile technique, de l'imagerie et de l'impression, de l'agroalimentaire et du tourisme vert… et surtout vos concurrents sur Google.</p>
<ul class="loc-list">
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span>Rendez-vous en présentiel lors de mes déplacements à Épinal, ou en visio.</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span>Un seul interlocuteur : celui qui pense la stratégie l'exécute aussi.</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span>5,0/5 sur 54 avis Google, plus de 1000 clients accompagnés depuis 2016.</span></li>
</ul><p class="loc-more">Votre activité est ailleurs ? Découvrez <a href="https://www.vincenthego.com/consultant-seo-france/">toutes les villes où j'interviens en France</a>.</p>
<a class="btn btn-primary" href="#diagnostic" data-rfd-cta>Parler à votre consultant local
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
</a>
</div>
</div>
</div>
</section>
<!-- LE MARCHÉ LOCAL -->
<section class="sec">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Le marché local</span>
<h2>Le SEO à Épinal : le bois, le papier et un tourisme vert qui monte</h2>
<p>Berceau de l'imagerie française et capitale du bois vosgien : à Épinal, les PME industrielles et les hébergeurs du massif se disputent une visibilité que peu travaillent vraiment. Mais beaucoup d'entreprises sous-exploitent Google. C'est votre opportunité.</p>
</div>
<div class="loc-facts reveal">
<div class="loc-fact"><div class="n">~113 000</div><div class="t">habitants dans Communauté d'agglomération d'Épinal (78 communes)</div></div>
<div class="loc-fact"><div class="n">1re</div><div class="t">imagerie de France, l'Imagerie d'Épinal, en activité depuis 1796</div></div>
<div class="loc-fact"><div class="n">~4 000</div><div class="t">entreprises, entre bois, papier et textile technique</div></div>
</div>
<div class="lead reveal" style="text-align:center;margin-top:40px">
<p>Concrètement, vos futurs clients tapent « <em>votre métier + Épinal</em> » sur Google pour trouver un prestataire près d'eux. Bien positionné, votre site web devient visible et capte cette demande locale à forte intention d'achat, avec un vrai retour sur investissement (ROI). Mal positionné, ce trafic qualifié part chez un concurrent. Mon rôle : améliorer durablement vos positions et augmenter le nombre de clients de votre activité, y compris sur le <a href="https://www.vincenthego.com/seo-local/">référencement local à Épinal</a> et la fiche Google.</p>
<p>J'accompagne aussi bien les PME, commerces et artisans spinaliens que les e-commerces, professions libérales, acteurs du bois et du papier, du textile technique, de l'imagerie et de l'impression, de l'agroalimentaire et du tourisme vert, sans oublier ce qui fait vivre le centre autour de la rue Léopold-Bourg. Objectif commun : rendre chaque activité plus visible auprès des habitants et des entreprises des Vosges, sur un marché spinalien où le référencement naturel reste largement sous-exploité.</p>
</div>
</div>
</section>
<!-- ZONE D'INTERVENTION -->
<section class="sec sec-soft" style="padding-bottom:70px">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Zone d'intervention</span>
<h2>Épinal, sa métropole et tout le département des Vosges</h2>
<p>J'interviens à Épinal intra-muros comme dans les communes de la métropole, puis dans tout le département des Vosges et la région Grand Est, en présentiel ou en visio.</p>
</div>
<div class="viz reveal" style="margin-bottom:32px">
<div class="viz-card">
<svg viewbox="0 0 720 420" role="img" aria-labelledby="zT zD" preserveaspectratio="xMidYMid meet">
<title id="zT">Zone de couverture du consultant SEO autour d'Épinal</title>
<desc id="zD">Cercles concentriques : au centre Épinal, puis sa métropole, les Vosges, et enfin la région Grand Est et toute la France en visio.</desc>
<g font-family="Poppins,sans-serif">
<circle cx="360" cy="210" r="195" fill="#1c1962" fill-opacity=".04" stroke="#1c1962" stroke-opacity=".2" stroke-width="1.5"/>
<circle cx="360" cy="210" r="130" fill="#1c1962" fill-opacity=".05" stroke="#1c1962" stroke-opacity=".28" stroke-width="1.5"/>
<circle cx="360" cy="210" r="68" fill="#f05820" fill-opacity=".1" stroke="#f05820" stroke-opacity=".5" stroke-width="2"/>
<text x="360" y="42" text-anchor="middle" font-size="13.5" font-weight="700" fill="#5b5870">Grand Est</text>
<text x="360" y="104" text-anchor="middle" font-size="15" font-weight="700" fill="#1c1962">Vosges</text>
<text x="360" y="160" text-anchor="middle" font-size="13.5" font-weight="700" fill="#1c1962">Métropole</text>
<circle cx="268" cy="300" r="4" fill="#1c1962"/><text x="260" y="304" text-anchor="end" font-size="12.5" fill="#5b5870">Golbey</text>
<circle cx="360" cy="340" r="4" fill="#1c1962"/><text x="360" y="360" text-anchor="middle" font-size="12.5" fill="#5b5870">Chantraine</text>
<circle cx="452" cy="300" r="4" fill="#1c1962"/><text x="460" y="304" text-anchor="start" font-size="12.5" fill="#5b5870">Thaon-les-Vosges</text>
<circle cx="360" cy="205" r="6.5" fill="#f05820"/>
<text x="360" y="231" text-anchor="middle" font-size="15" font-weight="800" fill="#15131f">Épinal</text>
</g>
</svg>
<p class="viz-cap">Mon rayon d'action : <b>Épinal et sa métropole</b> en priorité, puis toute la <b>Vosges</b>, et enfin la <b>Grand Est</b> et la France entière en visio. Plus vous êtes proche, plus je connais votre terrain.</p>
</div>
</div>
<div class="communes reveal"><span>Épinal</span><span>Golbey</span><span>Chantraine</span><span>Thaon-les-Vosges</span><span>Dogneville</span><span>Deyvillers</span><span>Jeuxey</span><span>Uxegney</span><span>Les Forges</span><span>Girancourt</span></div>
<p class="reveal" style="text-align:center;color:var(--marine);font-weight:700;font-size:1rem;margin:36px 0 24px">Et dans tous les quartiers d'Épinal</p>
<div class="communes reveal"><span>Centre-ville</span><span>La Vierge</span><span>Bitola</span><span>Saut-le-Cerf</span><span>Le Plateau de la Justice</span><span>Rualménil</span><span>Voivre</span></div>
<p class="reveal" style="text-align:center;color:var(--muted);font-size:.94rem;max-width:660px;margin:24px auto 0">Et au-delà : Saint-Dié-des-Vosges, Remiremont, Neufchâteau, Gérardmer, jusqu'à Nancy et Strasbourg, ainsi que partout en France à distance.</p>
</div>
</section>
<!-- CARTE DE FRANCE (localisation) -->
<style>.carte-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;max-width:1020px;margin:0 auto}.carte-map{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px 20px 10px;box-shadow:0 16px 40px -24px rgba(28,25,98,.28)}.carte-map svg{display:block;width:100%;height:auto}.carte-txt h3{color:var(--marine);font-size:1.12rem;font-weight:800;margin:20px 0 8px;letter-spacing:-.2px}.carte-txt h3:first-child{margin-top:0}.carte-txt p{color:var(--muted);font-size:1rem;line-height:1.7;margin:0 0 12px}.carte-near{display:flex;flex-wrap:wrap;gap:9px;margin:2px 0 4px}.carte-near span{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:600;color:var(--marine)}@media(max-width:860px){.carte-grid{grid-template-columns:1fr;gap:24px;max-width:520px}}</style>
<section class="sec" id="carte">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Sur la carte</span>
<h2>Épinal, au cœur de la Grand Est</h2>
<p>Dans le Grand Est, sur la Moselle au pied du massif vosgien, Épinal vit du bois, du papier et d'un savoir-faire d'imagerie qui date du XVIIIe siècle. Une préfecture de taille moyenne, avec un tissu de PME industrielles et un tourisme vert en croissance.</p>
</div>
<div class="carte-grid reveal">
<div class="carte-map">
<svg viewbox="0 0 480 470" role="img" aria-labelledby="frT frD" preserveaspectratio="xMidYMid meet">
<title id="frT">Localisation d'Épinal en France</title>
<desc id="frD">Carte de France avec un marqueur indiquant Épinal, au centre-ouest du pays, en région Grand Est.</desc>
<path d="M284 61 L336 99 L433 155 L420 192 L382 263 L406 322 L417 376 L357 395 L310 381 L283 400 L279 422 L220 426 L176 417 L139 386 L150 333 L152 264 L128 249 L118 214 L101 196 L81 192 L46 163 L62 148 L124 151 L137 107 L152 120 L191 113 L222 94 L255 47 Z" fill="#1c1962" fill-opacity="0.07" stroke="#1c1962" stroke-opacity="0.55" stroke-width="2.5" stroke-linejoin="round"/>
<rect x="444" y="405" width="26" height="34" rx="7" transform="rotate(12 457 422)" fill="#1c1962" fill-opacity="0.07" stroke="#1c1962" stroke-opacity="0.45" stroke-width="2"/>
<circle cx="262" cy="142" r="3.5" fill="#5b5870"/>
<text x="270" y="146" font-size="13" fill="#5b5870" stroke="#fff" stroke-width="3" paint-order="stroke" font-family="Poppins,sans-serif">Paris</text>
<path d="M382 181 L402 181 L392 204 Z" fill="#f05820"/>
<circle cx="392" cy="173" r="14" fill="#f05820"/>
<circle cx="392" cy="173" r="5.5" fill="#fff"/>
<text x="410" y="178" text-anchor="start" font-size="16" font-weight="800" fill="#1c1962" stroke="#fff" stroke-width="3.5" paint-order="stroke" font-family="Poppins,sans-serif">Épinal</text>
</svg>
</div>
<div class="carte-txt">
<h3>À moins d'une heure</h3>
<p>Saint-Dié-des-Vosges, Remiremont, Neufchâteau, Gérardmer : les villes voisines des Vosges sont à portée immédiate. J'y accompagne aussi des entreprises, en présentiel comme à distance.</p>
<div class="carte-near"><span>Golbey · 5 min</span><span>Chantraine · 5 min</span><span>Thaon-les-Vosges · 10 min</span><span>Nancy · 1 h</span><span>Remiremont · 25 min</span></div>
<h3>Nancy, Strasbourg et toute la France</h3>
<p><a href="https://www.vincenthego.com/consultant-seo-nancy/">Nancy</a> est à 1 h, <a href="https://www.vincenthego.com/consultant-seo-strasbourg/">Strasbourg</a> à 1 h 45, et <a href="https://www.vincenthego.com/consultant-seo-belfort/">Belfort</a> à 1 h 15. Beaucoup d'entreprises spinaliennes se croient trop excentrées pour peser. Google, lui, ne connaît pas la distance : une page bien positionnée vous met devant un prospect de Nancy exactement comme devant un voisin de la rue Léopold-Bourg.</p>
</div>
</div>
</div>
</section>
<!-- DEFINITION (réponse directe : featured snippet / AI Overview) -->
<section class="sec" id="definition">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">La définition</span>
<h2>Qu'est-ce qu'un consultant SEO ?</h2>
</div>
<div class="tldr reveal">
<div class="tldr-h">En bref</div>
<ul>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span><b>C'est quoi :</b> un expert indépendant du référencement naturel, qui pilote votre SEO en direct (audit, stratégie, technique, contenu, liens).</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span><b>La différence :</b> vous parlez à l'expert, pas à un commercial ni à un junior derrière un chef de projet.</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span><b>Pour qui :</b> les entreprises qui veulent faire de Google un vrai canal de clients, avec un interlocuteur unique.</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span><b>Budget :</b> 50 à 150 €/h ou 1 000 à 5 000 €/mois sur le marché ; sur-mesure de mon côté.</span></li>
</ul>
</div>
<p class="upd reveal"><img src="/assets/brand/vincent-rond.webp" alt="Vincent Hégo"/><span><time datetime="2026-07-27">Mis à jour le 27 juillet 2026</time> | par <a href="https://www.vincenthego.com/mon-histoire/">Vincent Hégo</a></span></p>
<div class="answer-card reveal">
<p>Un <strong>consultant SEO</strong> est un expert indépendant du référencement naturel (SEO, pour <em>search engine optimization</em>). Il analyse votre site internet, définit une stratégie, puis pilote les actions qui font monter vos pages sur Google.</p>
<p>La grande différence avec une agence : vous travaillez <strong>en direct avec l'expert</strong>, celui qui pense ET exécute. Pas de commercial, pas de chef de projet, pas de junior entre vous et la stratégie. Plus personnel, plus réactif, plus transparent. Objectif : une présence professionnelle sur Google, pilier de votre marketing digital.</p>
<ul class="levers">
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Audit SEO</li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Stratégie & mots-clés</li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>SEO technique</li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Contenu & rédaction</li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Netlinking</li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>SEO local & IA (GEO)</li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Suivi & reporting</li>
</ul>
</div>
<figure class="figure reveal">
<img src="/assets/brand/vincent-accompagnement.jpg" alt="Vincent Hégo, consultant SEO expert, pilote le référencement naturel d'un client en direct" loading="lazy" width="1100" height="784"/>
<figcaption>Un consultant SEO en pratique : on avance ensemble sur votre stratégie, en direct.</figcaption>
</figure>
</div>
</section>
<!-- POURQUOI SE FAIRE ACCOMPAGNER -->
<section class="sec sec-soft">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Pourquoi un consultant SEO à Épinal</span>
<h2>Pourquoi un consultant SEO à Épinal ?</h2>
</div>
<div class="lead reveal" style="text-align:center;margin-bottom:44px">
<p>Le SEO est un métier à part entière : technique, contenu, autorité, et des règles Google qui changent sans cesse. Seul, on avance sans priorités, on empile des optimisations sans impact, et on abandonne avant les résultats.</p>
<p>Un <strong>consultant SEO</strong>, c'est un cap clair et un expert qui pense ET exécute, à vos côtés. Chaque action sert vos objectifs business et le développement de votre visibilité. Vous gagnez du temps, vous évitez les erreurs coûteuses, et vous transformez votre référencement en canal de clients.</p>
</div>
<blockquote class="quote reveal">
<p>« Le premier résultat de Google capte à lui seul près de 27 % des clics ; la première page en concentre plus de 90 %. »</p>
<cite>Étude Backlinko sur le taux de clic Google | <a href="https://backlinko.com/google-ctr-stats" target="_blank" rel="noopener">backlinko.com</a></cite>
</blockquote>
<p class="why-lead reveal">On me contacte en général pour l'une de ces 4 raisons :</p>
<div class="why">
<div class="why-card reveal">
<div class="wn">1</div>
<h3>Ni le temps, ni l'expertise en interne</h3>
<p>Le SEO demande des compétences pointues et de la régularité. Un consultant apporte l'expertise immédiatement, sans les charges d'un recrutement à plein temps.</p>
</div>
<div class="why-card reveal d1">
<div class="wn">2</div>
<h3>Une agence qui a déçu</h3>
<p>Reporting fumeux, junior qui exécute, aucun résultat concret. Avec un consultant, vous parlez en direct à l'expert, et chaque action est reliée à vos objectifs.</p>
</div>
<div class="why-card reveal">
<div class="wn">3</div>
<h3>Un site, mais aucune stratégie</h3>
<p>Vous publiez, vous optimisez, mais sans cap ni priorités. Un consultant met de la méthode : les bons mots-clés, dans le bon ordre, pour de vrais clients.</p>
</div>
<div class="why-card reveal d1">
<div class="wn">4</div>
<h3>Besoin de résultats mesurables</h3>
<p>Vous en avez assez des promesses. Un bon consultant suit le trafic, les positions et le chiffre d'affaires, et vous montre noir sur blanc ce qui progresse.</p>
</div>
</div>
</div>
</section>
<!-- CE QUE COMPREND L'ACCOMPAGNEMENT -->
<section class="sec">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Ce que je fais pour vous</span>
<h2>Ce qu'un consultant SEO fait pour vous</h2>
<p>Technique, contenu, autorité et IA : je couvre tous les leviers du référencement naturel, en direct. Un seul interlocuteur pour la gestion de votre SEO, avec les bons outils. Celui qui pense la stratégie l'exécute aussi, pour optimiser et positionner vos pages. Objectif : une visibilité complète sur Google et les IA.</p>
</div>
<div class="bento">
<div class="card reveal">
<div class="ic"><svg viewbox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg></div>
<h3>Audit SEO complet</h3>
<p>Le point de départ de toute mission : un audit SEO et technique. J'analyse votre site en profondeur : technique, contenu, liens, concurrence. Le but : révéler les blocages et vos opportunités.</p>
</div>
<div class="card reveal d1">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></div>
<h3>Stratégie & mots-clés</h3>
<p>Une stratégie SEO fondée sur les mots-clés et les intentions de recherche de vos clients. Un cocon sémantique structure vos pages. On cible les requêtes qui attirent des clients, pas juste du clic.</p>
</div>
<div class="card reveal d2">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M12 20h9"/><path d="M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"/></svg></div>
<h3>Contenu & rédaction SEO</h3>
<p>La création de contenu et le content marketing, pilotés par une ligne éditoriale : pages de services, articles de fond, fiches produits. Des pages web aux contenus pertinents et optimisés, écrites ou pilotées avec votre équipe.</p>
</div>
<div class="card reveal">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M10.5 13.5a5 5 0 0 0 7.5.5l3-3a5 5 0 0 0-7-7l-1.7 1.7"/><path d="M13.5 10.5a5 5 0 0 0-7.5-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7"/></svg></div>
<h3>Netlinking & autorité</h3>
<p>Un profil de backlinks (liens entrants) sain et une notoriété qui grandit dans le temps. On renforce l'autorité de votre domaine avec des <a href="https://www.vincenthego.com/agence-netlinking/">liens de qualité</a>, jamais du volume creux.</p>
</div>
<div class="card reveal d1">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="3"/></svg></div>
<h3>SEO technique & performance</h3>
<p>Vitesse de chargement, Core Web Vitals, indexation, mobile, expérience utilisateur, données structurées. Je corrige les fondations techniques qui conditionnent votre visibilité. Et ce, quel que soit votre CMS (<a href="https://www.vincenthego.com/freelance-wordpress/">WordPress</a>, Shopify...), y compris lors d'une refonte.</p>
</div>
<div class="card reveal d2">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M12 2a10 10 0 1 0 10 10"/><path d="M12 2v10l6 3"/><path d="M16 3.5a9 9 0 0 1 5 5"/></svg></div>
<h3>SEO local & visibilité IA (GEO)</h3>
<p>Fiche Google et SEO local pour capter votre zone. Et une optimisation pour les IA (AI Overviews, ChatGPT), afin d'exister sur les nouvelles recherches.</p>
</div>
</div>
<div class="viz reveal" style="margin-top:30px">
<div class="viz-card">
<svg viewbox="0 0 720 486" role="img" aria-labelledby="venT venD" preserveaspectratio="xMidYMid meet">
<title id="venT">Les 3 piliers du référencement naturel</title>
<desc id="venD">Un SEO performant repose sur l'équilibre de trois piliers : la technique, le contenu et la popularité (netlinking).</desc>
<circle cx="360" cy="208" r="114" fill="#1c1962" fill-opacity="0.12" stroke="#1c1962" stroke-width="2.5"/>
<circle cx="296" cy="302" r="114" fill="#f05820" fill-opacity="0.12" stroke="#f05820" stroke-width="2.5"/>
<circle cx="424" cy="302" r="114" fill="#5a50e6" fill-opacity="0.12" stroke="#5a50e6" stroke-width="2.5"/>
<text x="360" y="52" text-anchor="middle" font-size="20" font-weight="800" fill="#1c1962" font-family="Poppins,sans-serif">Technique</text>
<text x="360" y="73" text-anchor="middle" font-size="13" fill="#5b5870" font-family="Poppins,sans-serif">site rapide & sain</text>
<text x="188" y="452" text-anchor="middle" font-size="20" font-weight="800" fill="#f05820" font-family="Poppins,sans-serif">Contenu</text>
<text x="188" y="473" text-anchor="middle" font-size="13" fill="#5b5870" font-family="Poppins,sans-serif">pages utiles & optimisées</text>
<text x="532" y="452" text-anchor="middle" font-size="20" font-weight="800" fill="#5a50e6" font-family="Poppins,sans-serif">Popularité</text>
<text x="532" y="473" text-anchor="middle" font-size="13" fill="#5b5870" font-family="Poppins,sans-serif">backlinks & autorité</text>
<text x="360" y="282" text-anchor="middle" font-size="26" font-weight="900" fill="#15131f" font-family="Poppins,sans-serif">SEO</text>
</svg>
<p class="viz-cap">Un <b>référencement performant</b>, c'est l'équilibre entre trois piliers : la <b>technique</b>, le <b>contenu</b> et la <b>popularité</b> (netlinking). Un bon consultant les travaille ensemble, pas l'un sans les autres.</p>
</div>
</div>
</div>
</section>
<!-- COMPARATIF -->
<section class="sec sec-soft">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Le bon choix pour vous</span>
<h2>Consultant, agence ou SEO en interne ?</h2>
<p>Trois façons de faire du SEO. L'agence disperse le travail entre plusieurs mains. L'interne coûte cher à recruter et former. Le consultant, lui, apporte l'expertise en direct, tout de suite.</p>
</div>
<div class="cmp reveal">
<div class="cmp-scroll">
<table>
<thead><tr><th>Le critère</th><th>Agence SEO</th><th>SEO en interne</th><th class="hl">Consultant SEO</th></tr></thead>
<tbody>
<tr><td>Votre interlocuteur</td><td class="auto">Commercial, chef de projet</td><td class="auto">À recruter et former</td><td class="vh">L'expert, en direct</td></tr>
<tr><td>Qui exécute</td><td class="auto">Souvent un junior</td><td class="auto">Une personne à monter en compétence</td><td class="vh">Celui qui a la stratégie en tête</td></tr>
<tr><td>La réactivité</td><td class="auto">Selon la file d'attente</td><td class="auto">Limitée à une personne</td><td class="vh">Directe et rapide</td></tr>
<tr><td>Le coût</td><td class="auto">Structure à financer</td><td class="auto">Un salaire à plein temps</td><td class="vh">L'expertise, pas la structure</td></tr>
<tr><td>La transparence</td><td class="auto">Reporting parfois flou</td><td class="auto">Variable</td><td class="vh">Objectifs mesurables, clairs</td></tr>
</tbody>
</table>
</div>
</div>
</div>
</section>
<!-- PARCOURS CLIENT LOCAL (schéma spécifique ville) -->
<style>.loc-split.rev .loc-img{order:2}.journey-note{text-align:center;color:var(--muted);font-size:.9rem;margin:14px auto 0;max-width:620px}</style>
<section class="sec" id="parcours-local">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Le parcours local</span>
<h2>Comment vos clients vous trouvent à Épinal</h2>
<p>Un client des Vosges ne cherche pas au hasard : il tape un besoin près de chez lui, « <em>votre métier + Épinal</em> », « <em>+ Golbey</em> » ou « <em>+ Thaon-les-Vosges</em> ». Voici son parcours, et l'endroit précis où je vous rends visible à chaque étape.</p>
</div>
<div class="viz reveal">
<div class="viz-card">
<svg class="journey-h" viewbox="0 0 920 190" role="img" aria-labelledby="jT jD" preserveaspectratio="xMidYMid meet">
<title id="jT">Le parcours d'un client local jusqu'à vous</title>
<desc id="jD">Cinq étapes : recherche locale, Google (Maps, résultats, IA), votre présence optimisée, prise de contact, nouveau client à Épinal.</desc>
<g font-family="Poppins,sans-serif">
<rect x="8" y="52" width="158" height="86" rx="14" fill="#f5f5f7" stroke="#e9e7f0" stroke-width="1.5"/>
<text x="87" y="92" text-anchor="middle" font-size="14" font-weight="700" fill="#1c1962">Recherche locale</text>
<text x="87" y="114" text-anchor="middle" font-size="11.5" fill="#5b5870">« métier + ville »</text>
<rect x="198" y="52" width="158" height="86" rx="14" fill="#f5f5f7" stroke="#e9e7f0" stroke-width="1.5"/>
<text x="277" y="92" text-anchor="middle" font-size="14" font-weight="700" fill="#1c1962">Google</text>
<text x="277" y="114" text-anchor="middle" font-size="11.5" fill="#5b5870">Maps · résultats · IA</text>
<rect x="388" y="52" width="158" height="86" rx="14" fill="#f5f5f7" stroke="#e9e7f0" stroke-width="1.5"/>
<text x="467" y="92" text-anchor="middle" font-size="14" font-weight="700" fill="#1c1962">Votre présence</text>
<text x="467" y="114" text-anchor="middle" font-size="11.5" fill="#5b5870">fiche + site optimisés</text>
<rect x="578" y="52" width="158" height="86" rx="14" fill="#f5f5f7" stroke="#e9e7f0" stroke-width="1.5"/>
<text x="657" y="92" text-anchor="middle" font-size="14" font-weight="700" fill="#1c1962">Contact</text>
<text x="657" y="114" text-anchor="middle" font-size="11.5" fill="#5b5870">appel · devis · visite</text>
<rect x="768" y="52" width="146" height="86" rx="14" fill="#f05820"/>
<text x="841" y="92" text-anchor="middle" font-size="14" font-weight="800" fill="#fff">Nouveau client</text>
<text x="841" y="114" text-anchor="middle" font-size="11.5" fill="#ffe9df">à Épinal</text>
<g stroke="#c9c7d6" stroke-width="2" fill="#c9c7d6">
<line x1="170" y1="95" x2="192" y2="95"/><polygon points="198,95 189,90 189,100"/>
<line x1="360" y1="95" x2="382" y2="95"/><polygon points="388,95 379,90 379,100"/>
<line x1="550" y1="95" x2="572" y2="95"/><polygon points="578,95 569,90 569,100"/>
<line x1="740" y1="95" x2="762" y2="95"/><polygon points="768,95 759,90 759,100"/>
</g>
</g>
</svg>
<div class="journey-v" aria-hidden="true">
<div class="jv-step"><div class="jv-b"><b>Recherche locale</b><span>« métier + ville »</span></div></div>
<div class="jv-step"><div class="jv-b"><b>Google</b><span>Maps · résultats · IA</span></div></div>
<div class="jv-step"><div class="jv-b"><b>Votre présence</b><span>fiche + site optimisés</span></div></div>
<div class="jv-step"><div class="jv-b"><b>Contact</b><span>appel · devis · visite</span></div></div>
<div class="jv-step"><div class="jv-b jv-final"><b>Nouveau client</b><span>à Épinal</span></div></div>
</div>
<p class="viz-cap">De la recherche « <b>métier + Épinal</b> » au client qui vous appelle, je travaille chaque maillon : le <b>SEO local</b> (Google Maps), le référencement organique et la <b>visibilité sur les IA</b>. En direct, sans intermédiaire.</p>
</div>
</div>
<div class="loc-split rev reveal" style="margin-top:48px">
<div class="loc-img">
<img src="assets/local/consultant-seo-epinal-zone2.webp?v=1" alt="Une rue du centre ancien d'Épinal, dans les Vosges" width="1000" height="750" loading="lazy" decoding="async"/>
</div>
<div class="loc-txt">
<span class="kicker">L'avantage local</span>
<h2>Un consultant qui connaît Épinal, pas une hotline</h2>
<p>Travailler avec un consultant SEO qui connaît vraiment Épinal, c'est un interlocuteur qui comprend votre marché et vos concurrents directs, qu'on peut rencontrer sur place à Épinal ou en visio, jamais un centre d'appels anonyme.</p>
<ul class="loc-list">
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span>Je connais vos concurrents spinaliens et comment les dépasser.</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span>Réunions en présentiel à Épinal lors de mes déplacements, ou en visio.</span></li>
<li><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg><span>Une stratégie pensée pour capter la demande locale, pas un modèle générique.</span></li>
</ul>
</div>
</div>
</div>
</section>
<!-- MÉTHODE BLUEPRINT -->
<section class="sec">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Ma méthode Blueprint SEO</span>
<h2>Comment je travaille avec vous, mois après mois</h2>
<p>Ma méthode Blueprint SEO, éprouvée sur +1000 clients. On travaille les 3 piliers (technique, contenu, popularité) plus l'UX, dès le départ. Puis on avance mois par mois, vers plus de trafic et de clients.</p>
</div>
<div class="timeline">
<div class="tl-item reveal">
<div class="tl-badge">1</div>
<div class="ph">Mois 1</div>
<h3>Diagnostic & quick wins</h3>
<p>On audite les 3 piliers (technique, contenu, popularité) et l'UX/conversion, dès le départ. Puis j'analyse votre Search Console pour repérer les victoires rapides. Ce sont les optimisations qui font remonter votre site en quelques semaines.</p>
</div>
<div class="tl-item reveal">
<div class="tl-badge">2</div>
<div class="ph">Mois 1 à 2</div>
<h3>On aspire le trafic de vos concurrents</h3>
<p>Je repère les mots-clés sur lesquels vos concurrents se classent, et pas vous. Priorité à ceux à <strong>forte intention d'achat</strong>. Ceux qui amènent de vrais clients, pas juste du trafic.</p>
</div>
<div class="tl-item reveal">
<div class="tl-badge">3</div>
<div class="ph">Mois 2 à 4</div>
<h3>Des contenus qui rankent plus haut</h3>
<p>Je crée des contenus optimisés à la fois pour le SEO et pour les IA (AI Overviews, ChatGPT). Ils sont pensés pour dépasser vos concurrents sur vos requêtes stratégiques.</p>
</div>
<div class="tl-item reveal">
<div class="tl-badge">4</div>
<div class="ph">Mois 3 à 5</div>
<h3>Autorité & netlinking</h3>
<p>On renforce la popularité de votre domaine avec des backlinks de qualité et un maillage interne solide. C'est ce qui fait gagner les positions les plus concurrentielles.</p>
</div>
<div class="tl-item reveal">
<div class="tl-badge">5</div>
<div class="ph">Mois 5 à 6</div>
<h3>Conversion & croissance</h3>
<p>On transforme le trafic en clients : UX et conversion, suivi du positionnement, du trafic, du taux de conversion et du chiffre d'affaires, et ajustements en continu. Le SEO devient votre canal d'acquisition le plus rentable.</p>
</div>
</div>
</div>
</section>
<!-- POUR QUI -->
<section class="sec sec-soft">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Est-ce fait pour vous</span>
<h2>À qui s'adresse un consultant SEO à Épinal</h2>
</div>
<div class="split">
<div class="panel reveal">
<h3>C'est fait pour vous si…</h3>
<ul>
<li><svg class="ck" viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Votre entreprise génère déjà du chiffre : e-commerce, SaaS, services B2B ou B2C.</li>
<li><svg class="ck" viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Vous voulez un interlocuteur unique, l'expert en direct, pas une équipe qui se renvoie la balle.</li>
<li><svg class="ck" viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Vous cherchez un partenaire sur le long terme, pas une prestation qu'on oublie dans un tiroir.</li>
<li><svg class="ck" viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Vous voulez comprendre ce qu'on fait et pourquoi, pas subir un service opaque.</li>
</ul>
</div>
<div class="panel dark reveal d1">
<h3>Ce n'est pas pour vous si…</h3>
<ul>
<li><svg class="cx" viewbox="0 0 24 24"><path d="M18 6 6 18M6 6l12 12"/></svg>Vous cherchez un « TOP 1 garanti en 10 jours » : ça n'existe pas, et je ne le vendrai jamais.</li>
<li><svg class="cx" viewbox="0 0 24 24"><path d="M18 6 6 18M6 6l12 12"/></svg>Vous voulez le prix le plus bas plutôt que le meilleur retour sur investissement.</li>
<li><svg class="cx" viewbox="0 0 24 24"><path d="M18 6 6 18M6 6l12 12"/></svg>Vous n'êtes pas prêt à investir sérieusement et durablement dans votre visibilité.</li>
</ul>
<p style="margin-top:20px;font-size:.95rem;color:rgba(255,255,255,.7)">Je n'accompagne qu'un nombre limité de clients à la fois, pour m'investir réellement dans chaque projet.</p>
</div>
</div>
</div>
</section>
<!-- QUIZ : avez-vous besoin d'un accompagnement SEO ? -->
<section class="sec sec-soft" id="quiz">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Test en 1 minute</span>
<h2>Avez-vous besoin d'un consultant SEO dans les Vosges ?</h2>
<p>5 questions honnêtes pour savoir si faire appel à un consultant SEO à Épinal est pertinent pour vous, ou pas. Sans langue de bois : parfois, la réponse est non.</p>
</div>
<div class="quiz-card">
<div class="quiz-progress" aria-hidden="true"><div class="quiz-progress-bar" id="quizBar"></div></div>
<div class="quiz-count" id="quizCount">Question 1 sur 5</div>
<form id="quizForm">
<fieldset class="quiz-step is-active" data-step="1">
<legend class="quiz-legend">Votre entreprise génère-t-elle déjà du chiffre d'affaires ?</legend>
<div class="quiz-opts">
<label class="quiz-opt"><input type="radio" name="q1" value="2"><span>Oui, un chiffre d'affaires établi</span></label>
<label class="quiz-opt"><input type="radio" name="q1" value="1"><span>Un peu, l'activité démarre</span></label>
<label class="quiz-opt"><input type="radio" name="q1" value="0"><span>Pas encore de revenus</span></label>
</div>
</fieldset>
<fieldset class="quiz-step" data-step="2">
<legend class="quiz-legend">Avez-vous déjà d'autres canaux d'acquisition qui fonctionnent ?</legend>
<div class="quiz-opts">
<label class="quiz-opt"><input type="radio" name="q2" value="2"><span>Oui, plusieurs (pub, réseaux, bouche-à-oreille…)</span></label>
<label class="quiz-opt"><input type="radio" name="q2" value="1"><span>Un seul, et il est fragile</span></label>
<label class="quiz-opt"><input type="radio" name="q2" value="0"><span>Non, aucun pour l'instant</span></label>
</div>
</fieldset>
<fieldset class="quiz-step" data-step="3">
<legend class="quiz-legend">Êtes-vous prêt à investir sur 6 à 12 mois pour des résultats durables ?</legend>
<div class="quiz-opts">
<label class="quiz-opt"><input type="radio" name="q3" value="2"><span>Oui, je vois le SEO comme un investissement</span></label>
<label class="quiz-opt"><input type="radio" name="q3" value="1"><span>Peut-être, si je vois que ça avance</span></label>
<label class="quiz-opt"><input type="radio" name="q3" value="0"><span>Non, je veux des résultats immédiats</span></label>
</div>
</fieldset>
<fieldset class="quiz-step" data-step="4">
<legend class="quiz-legend">Quel est votre objectif principal ?</legend>
<div class="quiz-opts">
<label class="quiz-opt"><input type="radio" name="q4" value="2"><span>Faire de Google un vrai canal de clients</span></label>
<label class="quiz-opt"><input type="radio" name="q4" value="1"><span>Juste un audit ou un avis ponctuel</span></label>
<label class="quiz-opt"><input type="radio" name="q4" value="0"><span>Tester le SEO avec un tout petit budget</span></label>
</div>
</fieldset>
<fieldset class="quiz-step" data-step="5">
<legend class="quiz-legend">Où en êtes-vous en SEO aujourd'hui ?</legend>
<div class="quiz-opts">
<label class="quiz-opt"><input type="radio" name="q5" value="2"><span>Rien de structuré, ou une agence qui déçoit</span></label>
<label class="quiz-opt"><input type="radio" name="q5" value="1"><span>Je bricole seul, sans vraie stratégie</span></label>
<label class="quiz-opt"><input type="radio" name="q5" value="0"><span>C'est déjà très bien géré en interne</span></label>
</div>
</fieldset>
</form>
<div class="quiz-nav"><button type="button" class="quiz-back" id="quizBack">← Précédent</button></div>
<div class="quiz-result" id="quizResult" hidden aria-live="polite"></div>
</div>
</div>
</section>
<!-- POURQUOI LA PREMIÈRE PAGE (graphique CTR par position) -->
<section class="sec sec-soft" id="premiere-page">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">L'enjeu du classement</span>
<h2>Pourquoi viser la première page de Google à Épinal ?</h2>
<p>Parce que presque tous les clics se concentrent sur les premiers résultats. En dessous, c'est le désert. Tapez « expert-comptable Épinal », « fleuriste Épinal » ou « artisan Golbey » : au-delà du top 3, presque personne ne clique. Voici la répartition moyenne des clics selon la position.</p>
</div>
<div class="viz reveal">
<div class="viz-card">
<svg viewbox="0 0 760 400" role="img" aria-labelledby="ctrT ctrD" preserveaspectratio="xMidYMid meet">
<title id="ctrT">Taux de clic selon la position sur Google</title>
<desc id="ctrD">La première position capte environ 28% des clics, la deuxième 15%, la troisième 11%. La deuxième page de Google reçoit moins de 1% des clics.</desc>
<defs>
<lineargradient id="ctrGrad" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#f05820"/><stop offset="1" stop-color="#ff9366"/></lineargradient>
</defs>
<line x1="60" y1="240" x2="736" y2="240" stroke="#eef0f6" stroke-width="1"/>
<line x1="60" y1="150" x2="736" y2="150" stroke="#eef0f6" stroke-width="1"/>
<line x1="60" y1="60" x2="736" y2="60" stroke="#eef0f6" stroke-width="1"/>
<text x="52" y="244" text-anchor="end" font-size="12" fill="#8a8aa0" font-family="Poppins,sans-serif">10%</text>
<text x="52" y="154" text-anchor="end" font-size="12" fill="#8a8aa0" font-family="Poppins,sans-serif">20%</text>
<text x="52" y="64" text-anchor="end" font-size="12" fill="#8a8aa0" font-family="Poppins,sans-serif">30%</text>
<line x1="60" y1="330" x2="736" y2="330" stroke="#c9c7d6" stroke-width="2"/>
<!-- barres page 1 -->
<rect x="84" y="78" width="62" height="252" rx="7" fill="url(#ctrGrad)"/>
<rect x="191" y="195" width="62" height="135" rx="7" fill="url(#ctrGrad)"/>
<rect x="298" y="231" width="62" height="99" rx="7" fill="url(#ctrGrad)"/>
<rect x="405" y="258" width="62" height="72" rx="7" fill="url(#ctrGrad)"/>
<rect x="512" y="267" width="62" height="63" rx="7" fill="url(#ctrGrad)"/>
<!-- page 2 -->
<rect x="649" y="321" width="62" height="9" rx="4" fill="#c9c7d6"/>
<line x1="610" y1="60" x2="610" y2="330" stroke="#d9d9e6" stroke-width="1.5" stroke-dasharray="5 5"/>
<!-- valeurs -->
<text x="115" y="68" text-anchor="middle" font-size="15" font-weight="800" fill="#1c1962" font-family="Poppins,sans-serif">28%</text>
<text x="222" y="185" text-anchor="middle" font-size="15" font-weight="800" fill="#1c1962" font-family="Poppins,sans-serif">15%</text>
<text x="329" y="221" text-anchor="middle" font-size="15" font-weight="800" fill="#1c1962" font-family="Poppins,sans-serif">11%</text>
<text x="436" y="248" text-anchor="middle" font-size="15" font-weight="800" fill="#1c1962" font-family="Poppins,sans-serif">8%</text>
<text x="543" y="257" text-anchor="middle" font-size="15" font-weight="800" fill="#1c1962" font-family="Poppins,sans-serif">7%</text>
<text x="680" y="311" text-anchor="middle" font-size="14" font-weight="800" fill="#8a8aa0" font-family="Poppins,sans-serif"><1%</text>
<!-- positions -->
<text x="115" y="352" text-anchor="middle" font-size="14" fill="#5b5870" font-family="Poppins,sans-serif">1re</text>
<text x="222" y="352" text-anchor="middle" font-size="14" fill="#5b5870" font-family="Poppins,sans-serif">2e</text>
<text x="329" y="352" text-anchor="middle" font-size="14" fill="#5b5870" font-family="Poppins,sans-serif">3e</text>
<text x="436" y="352" text-anchor="middle" font-size="14" fill="#5b5870" font-family="Poppins,sans-serif">4e</text>
<text x="543" y="352" text-anchor="middle" font-size="14" fill="#5b5870" font-family="Poppins,sans-serif">5e</text>
<text x="680" y="352" text-anchor="middle" font-size="14" fill="#5b5870" font-family="Poppins,sans-serif">Page 2</text>
<text x="398" y="384" text-anchor="middle" font-size="13" fill="#8a8aa0" font-family="Poppins,sans-serif">Position dans les résultats Google</text>
</svg>
<p class="viz-cap">Répartition moyenne des clics selon la position (études CTR Backlinko / Advanced Web Ranking). Être en <b>première page</b>, idéalement dans le <b>top 3</b>, change tout : c'est là que se joue votre trafic.</p>
</div>
</div>
</div>
</section>
<!-- RÉSULTATS -->
<section class="sec">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Des résultats concrets</span>
<h2>Ce que le référencement naturel change pour une entreprise spinalienne</h2>
<p>Depuis 2016, j'accompagne des entreprises d'Épinal et des SaaS nationaux à faire du référencement naturel leur moteur de croissance. Pour un commerce de la rue Léopold-Bourg comme pour une PME installée près de la basilique Saint-Maurice, la logique est identique : bien positionné sur vos mots-clés, vous captez une demande qui, sinon, partirait chez un concurrent.</p>
</div>
<div class="stats">
<div class="stat reveal">
<div class="n" data-prefix="+" data-target="1000">+1000</div><div class="l">clients & SaaS accompagnés</div>
</div>
<div class="stat reveal d1">
<div class="n" data-prefix="×" data-target="27">×27</div><div class="l">de trafic (record client)</div>
</div>
<div class="stat reveal d2">
<div class="n" data-prefix="+" data-target="300" data-suffix="k">+300k</div><div class="l">visiteurs/mois générés</div>
</div>
<div class="stat reveal d3">
<div class="n" data-target="17" data-suffix="k+">17k+</div><div class="l">abonnés sur LinkedIn</div>
</div>
</div>
<div class="case reveal">
<div class="ct">
<div class="cq">« Vincent a fait passer notre SEO de <b>300 à 8 200 visiteurs par jour en 19 mois</b>. Aujourd'hui, le référencement naturel est notre premier canal d'acquisition. »</div>
<div class="cm">
<img src="/assets/logos/waalaxy.webp" alt="Waalaxy" loading="lazy"/>
<div>
<div class="cn">Waalaxy</div>
<div class="cr">SaaS | ×27 de trafic organique</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- BANDE CTA DE RAPPEL (mi-page ~60%) -->
<section class="cta-band">
<div class="wrap">
<div class="cta-band-inner reveal">
<img class="cta-face" src="/assets/brand/vincent-sourire.webp" alt="Vincent Hégo, consultant SEO" loading="lazy" width="92" height="92"/>
<p class="cta-band-title">Envie de parler à un consultant SEO à Épinal ?</p>
<p>On en discute ? Je regarde votre site avec vous, en direct, pendant un diagnostic offert de 30 min en visio. Vous repartez avec un plan d'action clair, qu'on travaille ensemble ou non.</p>
<a class="btn btn-primary btn-lg" href="#diagnostic" data-rfd-cta>Réserver mon diagnostic offert
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
</a>
</div>
</div>
</section>
<!-- CONSULTANT VS AGENCE -->
<section class="sec sec-soft">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Un consultant, pas une agence</span>
<h2>Votre consultant SEO à Épinal, en direct avec vous</h2>
<p>Face à une agence SEO classique, pas de chef de projet intermédiaire ni de junior qui exécute. Vous bénéficiez directement de <a href="https://www.vincenthego.com/mon-histoire/">mon expertise en SEO</a>. Un seul interlocuteur, celui qui a la stratégie en tête.</p>
</div>
<div class="bio reveal">
<img class="bio-photo" src="/assets/brand/vincent-portrait.jpg" alt="Vincent Hégo, consultant SEO à Épinal" loading="lazy" width="717" height="900"/>
<div class="bio-txt">
<div class="bio-name">Vincent Hégo</div>
<p>Consultant SEO (search engine optimization), référenceur et expert en référencement, fondateur de VH DIGITAL CORP. Depuis 2016, j'aide les entreprises à devenir visibles sur Google. Je développe leur chiffre d'affaires grâce au référencement naturel et au marketing numérique, au-delà des réseaux sociaux. Tous secteurs et tous projets confondus, de la startup au grand compte : Waalaxy, Bosch, Decathlon.</p>
<p>Mon approche est personnalisée et sans intermédiaire. Elle s'appuie sur une méthode éprouvée et sur les <a href="https://developers.google.com/search/docs/fundamentals/seo-starter-guide?hl=fr" target="_blank" rel="noopener">critères et recommandations officiels de Google</a>. Au besoin, je forme aussi votre équipe. Retrouvez-moi sur <a href="https://www.linkedin.com/in/vincent-hego/" target="_blank" rel="noopener">LinkedIn</a>.</p>
</div>
</div>
<div class="why-me">
<div class="card reveal">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg></div>
<h3>Un interlocuteur unique</h3>
<p>Vous parlez à celui qui pense et exécute votre stratégie, pas à une équipe qui se renvoie la balle. Des conseils directs, des décisions rapides, une vraie relation de confiance.</p>
</div>
<div class="card reveal d1">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M12 2 2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg></div>
<h3>Une méthode éprouvée</h3>
<p>La Blueprint SEO, affinée par mon expérience sur +1000 clients depuis 2016. Une approche qui réunit toutes les expertises du référencement pour relier technique, contenu et autorité à vos résultats.</p>
</div>
<div class="card reveal d2">
<div class="ic"><svg viewbox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><path d="M22 4 12 14.01l-3-3"/></svg></div>
<h3>Zéro bullshit</h3>
<p>Pas de reporting fumeux ni de fausses promesses. Des objectifs mesurables, de la transparence, et un travail que vous comprenez.</p>
</div>
</div>
</div>
</section>
<!-- SIMULATEUR ROI SEO -->
<style id="vh-roi">
#roi-sim{max-width:1060px;margin:0 auto}
.roi-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px 30px;box-shadow:0 20px 48px -28px rgba(28,25,98,.32)}
.roi-prog{height:6px;background:var(--bg-soft);border-radius:999px;overflow:hidden;margin-bottom:12px}
.roi-prog-bar{height:100%;width:16.6%;background:linear-gradient(90deg,var(--orange),var(--orange-soft));border-radius:999px;transition:width .35s ease}
.roi-count{font-size:.78rem;font-weight:800;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}
.roi-step{display:none}
.roi-step.is-active{display:block}
html.js .roi-step.is-active{animation:roiIn .3s ease}
@keyframes roiIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.roi-q{font-size:1.32rem;font-weight:800;color:var(--marine);letter-spacing:-.4px;line-height:1.25;margin:0 0 6px}
.roi-help{color:var(--muted);font-size:.94rem;margin:0 0 22px;line-height:1.55}
.roi-opts{display:grid;grid-template-columns:1fr;gap:10px}
.roi-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--bg-soft);border:1.5px solid var(--line);border-radius:14px;padding:17px 20px;font-size:1rem;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .15s;font-family:inherit;width:100%}
.roi-opt::after{content:"\203A";font-size:1.55rem;line-height:1;color:#c9c7d6;transition:color .18s}
.roi-opt:hover{border-color:var(--orange);background:#fff;transform:translateX(3px)}
.roi-opt:hover::after{color:var(--orange)}
.roi-opt.sel{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(240,88,32,.13)}
.roi-opt.sel::after{color:var(--orange)}
.roi-slider{padding:10px 4px 2px}
.roi-val{font-size:2.15rem;font-weight:900;color:var(--orange);letter-spacing:-1px;text-align:center;margin-bottom:14px}
.roi-val small{font-size:1rem;font-weight:700;color:var(--muted)}
.roi-range{width:100%;-webkit-appearance:none;appearance:none;height:8px;border-radius:999px;background:var(--line);outline:none;margin:2px 0}
.roi-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--orange);cursor:pointer;box-shadow:0 3px 9px rgba(240,88,32,.45);border:3px solid #fff}
.roi-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--orange);cursor:pointer;border:3px solid #fff}
.roi-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-top:9px}
.roi-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:12px}
.roi-back{background:none;border:none;color:var(--muted);font-weight:600;cursor:pointer;font-size:.94rem;padding:8px 4px;font-family:inherit}
.roi-back[disabled]{opacity:0;pointer-events:none}
.roi-next{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(120deg,var(--orange),var(--orange-soft));color:#fff;border:none;border-radius:999px;padding:13px 26px;font-weight:700;font-size:.98rem;cursor:pointer;font-family:inherit;box-shadow:0 10px 24px -10px rgba(240,88,32,.6)}
.roi-next svg{width:18px;height:18px}
.roi-result{display:none}
.roi-result.show{display:block}
.roi-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:26px}
.roi-chips span{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.84rem;font-weight:600;color:var(--marine)}
.roi-scen{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.roi-sc{border:1px solid var(--line);border-radius:22px;padding:26px 20px 22px;background:#fff;text-align:center;position:relative}
.roi-sc.mid{background:var(--marine-deep);border-color:var(--marine-deep);color:#fff;box-shadow:0 22px 46px -22px rgba(28,25,98,.6)}
.roi-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(120deg,var(--orange),var(--orange-soft));color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 13px;border-radius:999px;white-space:nowrap}
.roi-sc-h{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.roi-sc.mid .roi-sc-h{color:rgba(255,255,255,.72)}
.roi-sc-big{font-size:2.3rem;font-weight:900;letter-spacing:-1.5px;color:var(--marine);margin:8px 0 2px}
.roi-sc.mid .roi-sc-big{color:#fff}
.roi-sc-unit{font-size:.82rem;color:var(--muted);margin-bottom:16px}
.roi-sc.mid .roi-sc-unit{color:rgba(255,255,255,.6)}
.roi-rows{list-style:none;padding:0;margin:0 0 14px;text-align:left;border-top:1px solid var(--line);padding-top:14px}
.roi-sc.mid .roi-rows{border-color:rgba(255,255,255,.15)}
.roi-rows li{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;padding:5px 0;color:var(--muted)}
.roi-sc.mid .roi-rows li{color:rgba(255,255,255,.75)}
.roi-rows b{color:var(--ink);font-weight:700}
.roi-sc.mid .roi-rows b{color:#fff}
.roi-roi-l{font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.roi-sc.mid .roi-roi-l{color:rgba(255,255,255,.72)}
.roi-roi-v{font-size:2rem;font-weight:900;letter-spacing:-1px;color:var(--orange)}
.roi-sc.mid .roi-roi-v{color:var(--orange-soft)}
.roi-disc{color:var(--muted);font-size:.84rem;line-height:1.55;text-align:center;max-width:640px;margin:26px auto 0}
.roi-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin-top:22px}
.roi-restart{background:none;border:1.5px solid var(--line);color:var(--marine);border-radius:999px;padding:12px 22px;font-weight:600;cursor:pointer;font-family:inherit;font-size:.94rem}
@media(max-width:820px){.roi-scen{grid-template-columns:1fr}.roi-card{padding:26px 18px}}@media(min-width:821px){#simulateur{padding-top:30px}}
</style>
<section class="sec sec-soft" id="simulateur">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Simulateur ROI</span>
<h2>Combien le SEO peut vous rapporter ?</h2>
<p>6 questions rapides pour projeter ce que le référencement naturel peut vous rapporter, et repérer l'accompagnement le plus adapté. Une projection indicative, jamais une promesse chiffrée.</p>
</div>
<div id="roi-sim">
<div class="roi-card">
<div class="roi-form">
<div class="roi-prog" aria-hidden="true"><div class="roi-prog-bar"></div></div>
<div class="roi-count">Étape 1 sur 6</div>
<div class="roi-step is-active">
<p class="roi-q">Dans quel univers évoluez-vous ?</p>
<p class="roi-help">Chaque marché ne transforme pas un visiteur en client au même rythme.</p>
<div class="roi-opts">
<button type="button" class="roi-opt" data-k="sector" data-v="saas">SaaS / Tech</button>
<button type="button" class="roi-opt" data-k="sector" data-v="ecom">E-commerce</button>
<button type="button" class="roi-opt" data-k="sector" data-v="b2b">B2B / Service</button>
<button type="button" class="roi-opt" data-k="sector" data-v="artisan">Artisan / Local</button>
<button type="button" class="roi-opt" data-k="sector" data-v="entrepreneur">Entrepreneur</button>
</div>
</div>
<div class="roi-step">
<p class="roi-q">Que vous rapporte un nouveau client, en moyenne ?</p>
<p class="roi-help">Le panier moyen d'une vente ou la valeur d'un contrat signé.</p>
<div class="roi-slider">
<div class="roi-val" id="roiClientOut">500 <small>€</small></div>
<input class="roi-range" type="range" id="roiClient" min="0" max="1000" step="1" value="86" aria-label="Valeur d'un client en euros"/>
<div class="roi-scale"><span>50 €</span><span>100 000 €+</span></div>
</div>
</div>
<div class="roi-step">
<p class="roi-q">Combien de visites Google vous envoie-t-il par mois ?</p>
<p class="roi-help">Votre trafic organique actuel, visible dans votre Search Console.</p>
<div class="roi-slider">
<div class="roi-val" id="roiTrafficOut">500 <small>visites/mois</small></div>
<input class="roi-range" type="range" id="roiTraffic" min="0" max="1000" step="1" value="70" aria-label="Trafic organique mensuel"/>
<div class="roi-scale"><span>0</span><span>500 000+</span></div>
</div>
</div>
<div class="roi-step">
<p class="roi-q">Quelle est la taille de votre site aujourd'hui ?</p>
<p class="roi-help">Chaque page est une porte d'entrée possible depuis Google.</p>
<div class="roi-opts">
<button type="button" class="roi-opt" data-k="size" data-v="s1">Un site vitrine (quelques pages)</button>
<button type="button" class="roi-opt" data-k="size" data-v="s2">Un petit site (une trentaine de pages)</button>
<button type="button" class="roi-opt" data-k="size" data-v="s3">Un site déjà étoffé (une centaine de pages)</button>
<button type="button" class="roi-opt" data-k="size" data-v="s4">Un grand site ou e-commerce (des centaines de pages)</button>
<button type="button" class="roi-opt" data-k="size" data-v="s5">Un très grand site (des milliers de pages)</button>
</div>
</div>
<div class="roi-step">
<p class="roi-q">Comment gérez-vous le SEO en ce moment ?</p>
<p class="roi-help">Votre situation réelle aujourd'hui, pas l'objectif que vous visez.</p>
<div class="roi-opts">
<button type="button" class="roi-opt" data-k="level" data-v="zero">Personne ne s'en occupe</button>
<button type="button" class="roi-opt" data-k="level" data-v="bases">Je m'en occupe quand je peux</button>
<button type="button" class="roi-opt" data-k="level" data-v="mkt">Une équipe marketing polyvalente</button>
<button type="button" class="roi-opt" data-k="level" data-v="seo">Un profil SEO dédié</button>
</div>
</div>
<div class="roi-step">
<p class="roi-q">Quel budget mensuel envisagez-vous pour votre SEO ?</p>
<p class="roi-help">Pour situer votre retour sur investissement sur douze mois.</p>
<div class="roi-opts">
<button type="button" class="roi-opt" data-k="budget" data-v="b1000">1 000 à 1 500 €/mois</button>
<button type="button" class="roi-opt" data-k="budget" data-v="b1500">1 500 à 2 000 €/mois</button>
<button type="button" class="roi-opt" data-k="budget" data-v="b2000">2 000 à 3 000 €/mois</button>
<button type="button" class="roi-opt" data-k="budget" data-v="b3000">3 000 à 5 000 €/mois</button>
<button type="button" class="roi-opt" data-k="budget" data-v="b5000">Plus de 5 000 €/mois</button>
<button type="button" class="roi-opt" data-k="budget" data-v="unsure">Je ne sais pas encore</button>
</div>
</div>
<div class="roi-nav">
<button type="button" class="roi-back" disabled>← Précédent</button>
<button type="button" class="roi-next" style="display:none">Continuer
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
</button>
</div>
</div>
<div class="roi-result" aria-live="polite"></div>
</div>
</div>
</div>
</section>
<script>
(function(){
var root=document.getElementById('roi-sim'); if(!root) return;
var steps=[].slice.call(root.querySelectorAll('.roi-step'));
var bar=root.querySelector('.roi-prog-bar'), count=root.querySelector('.roi-count');
var back=root.querySelector('.roi-back'), next=root.querySelector('.roi-next');
var form=root.querySelector('.roi-form'), out=root.querySelector('.roi-result');
var st={sector:null,clientValue:500,traffic:500,size:null,level:null,budget:null};
var i=0, slider=[1,2];
function show(n){
i=n;
steps.forEach(function(s,k){s.classList.toggle('is-active',k===n);});
bar.style.width=((n+1)/steps.length*100)+'%';
count.textContent='Étape '+(n+1)+' sur '+steps.length;
back.disabled=(n===0);
next.style.display=(slider.indexOf(n)>=0)?'':'none';
}
root.querySelectorAll('.roi-opt').forEach(function(b){
b.addEventListener('click',function(){
var step=b.closest('.roi-step');
step.querySelectorAll('.roi-opt').forEach(function(x){x.classList.remove('sel');});
b.classList.add('sel');
st[b.getAttribute('data-k')]=b.getAttribute('data-v');
setTimeout(function(){ if(i>=steps.length-1){done();} else {show(i+1);} },170);
});
});
var vR=root.querySelector('#roiClient'), vO=root.querySelector('#roiClientOut');
var tR=root.querySelector('#roiTraffic'), tO=root.querySelector('#roiTrafficOut');
function fr(n){return n.toLocaleString('fr-FR');}
function mapClient(p){p=p/1000;return Math.round((50+99950*Math.pow(p,2.2))/10)*10;}
function mapTraffic(p){p=p/1000;return Math.round(500000*Math.pow(p,2.6)/10)*10;}
vR.addEventListener('input',function(){var v=mapClient(+vR.value);st.clientValue=v;vO.innerHTML=fr(v)+(v>=100000?'+':'')+' <small>€</small>';});
tR.addEventListener('input',function(){var v=mapTraffic(+tR.value);st.traffic=v;tO.innerHTML=fr(v)+(v>=500000?'+':'')+' <small>visites/mois</small>';});
st.clientValue=mapClient(+vR.value);vO.innerHTML=fr(st.clientValue)+' <small>€</small>';st.traffic=mapTraffic(+tR.value);tO.innerHTML=fr(st.traffic)+' <small>visites/mois</small>';
next.addEventListener('click',function(){ if(i<steps.length-1) show(i+1); });
back.addEventListener('click',function(){ if(i>0){ if(out.classList.contains('show')){out.classList.remove('show');form.style.display='';} show(i-1);} });
function kf(n){ n=Math.round(n); return n>=1000?(Math.round(n/100)/10).toLocaleString('fr-FR')+'k':fr(n); }
function eur(n){ return Math.round(n).toLocaleString('fr-FR')+' €'; }
function lead(n){ if(n<1) return 'environ 1/mois'; var lo=Math.floor(n),hi=Math.ceil(n); return (lo===hi?lo:lo+' à '+hi)+'/mois'; }
function pay(p){ return p>24?'+24 mois':(p<1?'1 mois':p+' mois'); }
function roiv(r){ return '×'+(Math.round(r*100)/100).toLocaleString('fr-FR'); }
function compute(){
var conv={saas:0.005,ecom:0.008,b2b:0.008,artisan:0.022,entrepreneur:0.01}[st.sector]||0.008;
var size={s1:0.85,s2:1.1,s3:1.3,s4:1.5,s5:1.7}[st.size]||1.0;
var exec={zero:0.85,bases:1.0,mkt:1.2,seo:1.4}[st.level]||1.0;
var bud={b1000:{c:15000,f:1.0},b1500:{c:21000,f:1.25},b2000:{c:30000,f:1.6},b3000:{c:48000,f:2.3},b5000:{c:72000,f:3.2},unsure:{c:24000,f:1.35}}[st.budget]||{c:24000,f:1.35};
var gain=(180+st.traffic*0.55)*bud.f*exec*size;
var PERSIST=1.8; // le SEO est un actif durable : la valeur perdure au-dela de la 1re annee
var sc=[['Pessimiste',0.7],['Réaliste',1.35],['Optimiste',2.3]].map(function(x){
var g=gain*x[1];
var clientsMo=g*conv;
var mature=clientsMo*st.clientValue;
var ca12=clientsMo*6*st.clientValue;
var payback= mature>0?Math.round(bud.c/(mature*0.6)):99;
return {name:x[0], t12:st.traffic+g, leads:clientsMo, ca12:ca12, payback:payback, roi:(ca12/bud.c)*PERSIST};
});
sc[0].roi=Math.min(8,Math.max(0.95,sc[0].roi));
sc[1].roi=Math.min(12,Math.max(sc[0].roi*1.4,sc[1].roi));
sc[2].roi=Math.min(18,Math.max(sc[1].roi*1.5,sc[2].roi));
return sc;
}
function done(){
var sL={saas:'SaaS / Tech',ecom:'E-commerce',b2b:'B2B / Service',artisan:'Artisan / Local',entrepreneur:'Entrepreneur'}[st.sector];
var zL={s1:'Site vitrine',s2:'Petit site',s3:'Site étoffé',s4:'Grand site',s5:'Très grand site'}[st.size];
var nL={zero:'Aucun SEO en interne',bases:'SEO en autodidacte',mkt:'Équipe marketing',seo:'Profil SEO dédié'}[st.level];
var bL={b1000:'1 000-1 500 €/mois',b1500:'1 500-2 000 €/mois',b2000:'2 000-3 000 €/mois',b3000:'3 000-5 000 €/mois',b5000:'+5 000 €/mois',unsure:'Budget à définir'}[st.budget];
var chips=[sL, fr(st.clientValue)+' €/client', kf(st.traffic)+'/mois', zL, nL, bL];
var sc=compute();
var cards=sc.map(function(c,k){
var mid=k===1;
return '<div class="roi-sc'+(mid?' mid':'')+'">'+(mid?'<span class="roi-tag">Le plus probable</span>':'')+
'<div class="roi-sc-h">'+c.name+'</div>'+
'<div class="roi-sc-big">'+kf(c.t12)+'</div><div class="roi-sc-unit">visites/mois à 12 mois</div>'+
'<ul class="roi-rows">'+
'<li>Nouveaux clients <b>'+lead(c.leads)+'</b></li>'+
'<li>CA sur 12 mois <b>'+eur(c.ca12)+'</b></li>'+
'<li>Rentabilisé en <b>'+pay(c.payback)+'</b></li>'+
'</ul>'+
'<div class="roi-roi-l">ROI sur la durée</div><div class="roi-roi-v">'+roiv(c.roi)+'</div>'+
'</div>';
}).join('');
out.innerHTML='<div class="roi-chips">'+chips.map(function(c){return '<span>'+c+'</span>';}).join('')+'</div>'+
'<div class="roi-scen">'+cards+'</div>'+
'<p class="roi-durable" style="max-width:760px;margin:18px auto 0;padding:15px 20px;border:1px solid var(--line);border-radius:16px;background:#fbfaff;color:var(--marine);font-size:.94rem;line-height:1.6;text-align:center"><b>Le SEO est un actif durable.</b> Une fois vos positions acquises, elles continuent d’attirer des visiteurs et des clients, sans budget supplémentaire. Passé le point de rentabilité, le reste, c’est du bénéfice.</p>'+
'<p class="roi-disc">Estimation indicative sur 12 mois, fondée sur des taux de conversion et de croissance moyens par secteur. Vos résultats réels dépendent de votre marché, de votre concurrence et de l\'exécution. Le plus fiable : en parler de vive voix.</p>'+
'<div class="roi-cta">'+
'<a class="btn btn-primary" href="#diagnostic" data-rfd-cta>Obtenir une estimation précise<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>'+
'<button type="button" class="roi-restart">Recommencer</button>'+
'</div>';
form.style.display='none';
out.classList.add('show');
bar.style.width='100%';
out.querySelector('.roi-restart').addEventListener('click',function(){
out.classList.remove('show'); out.innerHTML=''; form.style.display='';
root.querySelectorAll('.roi-opt').forEach(function(x){x.classList.remove('sel');});
show(0);
});
}
show(0);
})();
</script>
<!-- PRIX / BUDGET (People Also Ask + AI Overview) -->
<section class="sec" id="prix">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Budget & tarifs</span>
<h2>Combien coûte un consultant SEO à Épinal ?</h2>
<p>Une réponse claire, avec les vrais ordres de grandeur du marché français.</p>
</div>
<div class="price-cards">
<div class="price-card reveal">
<div class="pl">Au taux horaire</div>
<div class="pv">50 à 150 €/h</div>
<div class="pd">Selon l'expérience du consultant. Pratique pour du conseil ponctuel ou un accompagnement d'équipe.</div>
</div>
<div class="price-card reveal d1">
<div class="pl">Au forfait mensuel</div>
<div class="pv">1 000 à 5 000 €/mois</div>
<div class="pd">Fourchette du marché pour une PME, avec un volume de travail défini chaque mois.</div>
</div>
<div class="price-card feat reveal d2">
<div class="pl">Avec Vincent Hégo</div>
<div class="pv">Sur-mesure</div>
<div class="pd">Défini selon votre secteur, la concurrence et vos objectifs. Périmètre et budget fixés pendant le diagnostic offert.</div>
</div>
</div>
<div class="lead reveal" style="text-align:center;margin-top:30px">
<p>Avec un consultant, vous payez l'expertise, pas la structure d'une agence. À prix égal, une plus grande part de votre budget passe dans le travail réel sur votre SEO.</p>
<p>Et contrairement à Google Ads, le trafic SEO ne s'arrête pas quand vous coupez le budget : c'est un <strong>actif qui compose</strong> dans le temps.</p>
</div>
</div>
</section>
<!-- DIAGNOSTIC / CTA (widget) -->
<section class="diag" id="diagnostic-sec">
<div class="wrap">
<div class="sec-head reveal">
<img class="diag-face" src="/assets/brand/vincent-rond.webp" alt="Vincent Hégo, consultant SEO"/>
<span class="kicker">Première étape offerte</span>
<h2>Parlons de votre projet SEO à Épinal</h2>
<p>Entrez l'adresse de votre site : je lance l'analyse en direct, puis on en parle lors d'un appel de 30 min en visio. Vous repartez avec un plan d'action priorisé, que l'on travaille ensemble ou non.</p>
<div class="human-note reveal">
<img src="/assets/brand/vincent-rond.webp" alt="Vincent Hégo" loading="lazy" width="44" height="44"/>
<p>En face de vous, ce sera moi. Pas un commercial, pas un chatbot : le consultant qui analysera vraiment votre site.</p>
</div>
</div>
<div class="diag-reassure reveal">
<span class="chip"><svg viewbox="0 0 24 24"><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></svg>Analyse en direct</span>
<span class="chip"><svg viewbox="0 0 24 24"><rect x="2" y="4" width="20" height="16" rx="2"/><path d="m2 7 10 6 10-6"/></svg>30 min en visio</span>
<span class="chip"><svg viewbox="0 0 24 24"><path d="M20 6 9 17l-5-5"/></svg>Offert & sans engagement</span>
</div>
<div id="diagnostic"></div>
<!-- ===== Widget diagnostic SEO (autonome, scopé #rfd-root) ===== -->
<div id="rfd-root">
<div class="rfd-card" id="rfd-step-form">
<p class="rfd-title">Recevez votre diagnostic SEO offert</p>
<p class="rfd-sub">Entrez l'adresse de votre site : je lance l'analyse en direct, puis on en parle ensemble en visio.</p>
<form id="rfd-form" novalidate>
<div class="rfd-fields">
<input id="rfd-url" type="text" inputmode="url" placeholder="Entrez l'adresse de votre site" autocomplete="url" autocapitalize="off" spellcheck="false" required>
</div>
<button type="submit" class="rfd-btn" id="rfd-submit"><span class="rfd-btn-txt">Analyser mon site →</span><span class="rfd-btn-spin" aria-hidden="true"></span></button>
<div class="rfd-err" id="rfd-err"></div>
<div class="rfd-trust">🔒 100% gratuit et sans engagement</div>
</form>
</div>
<div class="rfd-card rfd-hidden" id="rfd-step-scan">
<div class="rfd-eyebrow">Analyse en cours</div>
<p class="rfd-title">On analyse votre site en direct…</p>
<div class="rfd-scanhost" id="rfd-scanhost"></div>
<div class="rfd-shot" id="rfd-shot" hidden>
<div class="rfd-shot-bar"><i></i><i></i><i></i><span class="rfd-shot-url" id="rfd-shot-url"></span></div>
<div class="rfd-shot-view"><img id="rfd-shot-img" alt="" width="640" height="420" decoding="async"></div>
</div>
<div class="rfd-progresshead"><span class="rfd-progress-label" id="rfd-progress-label">Initialisation…</span><span class="rfd-progress-pct" id="rfd-progress-pct">0%</span></div>
<div class="rfd-progresswrap"><div class="rfd-progress" id="rfd-progress"></div></div>
<ul class="rfd-checklist" id="rfd-checklist"></ul>
</div>
<div class="rfd-card rfd-hidden" id="rfd-step-email">
<div class="rfd-done-badge">✓</div>
<p class="rfd-title">Dernière étape</p>
<p class="rfd-sub">Sur quelle adresse vous envoyer la <strong>confirmation et le lien visio</strong> de votre rendez-vous ?</p>
<form id="rfd-email-form" novalidate>
<div class="rfd-fields">
<input id="rfd-email-input" type="email" inputmode="email" autocomplete="email" placeholder="Votre adresse email" required>
</div>
<button type="submit" class="rfd-btn" id="rfd-email-submit"><span class="rfd-btn-txt">Voir mes créneaux →</span></button>
<div class="rfd-err" id="rfd-email-err"></div>
<div class="rfd-trust">🔒 Zéro spam. Votre adresse sert uniquement à votre rendez-vous.</div>
</form>
</div>
<div class="rfd-card rfd-hidden" id="rfd-step-findings">
<p class="rfd-fx-eye">Votre bilan SEO</p>
<div class="rfd-fx-site no-thumb" id="rfd-fx-site">
<span class="rfd-fx-thumb"><img id="rfd-fx-img" alt="" width="46" height="32" decoding="async"></span>
<span class="rfd-fx-domain" id="rfd-fx-domain"></span>
</div>
<div class="rfd-gauge" id="rfd-gauge">
<svg viewbox="0 0 176 176">
<defs>
<lineargradient id="rfd-grad-crit" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#f0653f"/><stop offset="1" stop-color="#d33f2a"/></lineargradient>
<lineargradient id="rfd-grad-warn" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#ff8a4d"/><stop offset="1" stop-color="#f05820"/></lineargradient>
<lineargradient id="rfd-grad-ok" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#43c286"/><stop offset="1" stop-color="#1b9560"/></lineargradient>
</defs>
<circle class="rfd-gauge-bg" cx="88" cy="88" r="64"></circle>
<circle class="rfd-gauge-fg" id="rfd-gauge-arc" cx="88" cy="88" r="64"></circle>
</svg>
<div class="rfd-gauge-txt"><b id="rfd-scorenum">–</b><span>SUR 100</span></div>
</div>
<p class="rfd-verdict" id="rfd-verdict">Analyse terminée</p>
<p class="rfd-fx-sub" id="rfd-fx-sub">Aperçu on-page de votre page d'accueil</p>
<div class="rfd-cats" id="rfd-cats"></div>
<div class="rfd-fx-note" id="rfd-fx-note">
<span class="rfd-fx-note-eye">En clair</span>
<span class="rfd-fx-note-txt" id="rfd-fx-note-txt"></span>
</div>
<button type="button" class="rfd-btn" id="rfd-findings-go"><span class="rfd-btn-txt">Recevoir mon plan d'action →</span></button>
<div class="rfd-fx-reassure" id="rfd-fx-reassure">Diagnostic offert · 30 min en visio · le plan pour corriger, étape par étape</div>
</div>
<div class="rfd-card rfd-hidden" id="rfd-step-quiz">
<div class="rfd-qhead">
<button type="button" class="rfd-qback" id="rfd-qback" aria-label="Question précédente" disabled><svg viewbox="0 0 24 24" fill="none" aria-hidden="true"><path d="M15 6l-6 6 6 6" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
<div class="rfd-qbar"><span class="rfd-qbarfill" id="rfd-qbarfill"></span></div>
<span class="rfd-qcount" id="rfd-qcount">1/5</span>
</div>
<div class="rfd-qview" id="rfd-qview"></div>
<div class="rfd-trust">🔒 Vos informations restent confidentielles. Zéro spam.</div>
</div>
<div class="rfd-card rfd-hidden" id="rfd-step-done">
<div class="rfd-done-badge">✓</div>
<p class="rfd-title">Choisissez votre créneau</p>
<p class="rfd-sub">Tout est déjà pré-rempli. Il reste <strong>2 étapes</strong> : choisissez votre créneau, puis cliquez sur <strong>« Confirmer l'événement »</strong>. Sans ce dernier clic, rien n'est réservé.</p>
<div class="rfd-calhint rfd-calhint-top" id="rfd-calhint-top" hidden>
<span class="rfd-calhint-ar" aria-hidden="true">↓</span>
<span>Cliquez sur <strong>« Confirmer l'événement »</strong></span>
</div>
<div id="rfd-cal"></div>
<div class="rfd-calhint" id="rfd-calhint" hidden>
<span class="rfd-calhint-ar" aria-hidden="true">↑</span>
<span>Cliquez sur <strong>« Confirmer l'événement »</strong></span>
</div>
</div>
</div>
</div>
</section><style id="vh-cform-css">
.vh-cform .contact-form{position:relative;background:linear-gradient(180deg,#fff,#fbfaff);border:2px solid var(--orange,#f05820);border-radius:22px;box-shadow:0 4px 14px rgba(240,88,32,.10),0 24px 60px rgba(20,16,60,.09);padding:30px 30px 26px;text-align:left}
.vh-cform .cf-row{margin:0 0 16px}
.vh-cform .cf-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vh-cform .cf-field{display:block}
.vh-cform .cf-label{display:block;font-size:.86rem;font-weight:700;color:var(--marine,#1c1962);margin:0 0 7px;letter-spacing:-.01em}
.vh-cform .cf-field input,.vh-cform .cf-field select,.vh-cform .cf-field textarea{width:100%;padding:13px 15px;border:1.5px solid #dcdce8;border-radius:13px;font-family:inherit;font-size:1rem;color:var(--ink,#26233a);background:#fff;-webkit-appearance:none;appearance:none;transition:border-color .18s,box-shadow .18s}
.vh-cform .cf-field textarea{resize:vertical;min-height:130px;line-height:1.55}
.vh-cform .cf-field input::placeholder,.vh-cform .cf-field textarea::placeholder{color:#a7a7bd;opacity:1}
.vh-cform .cf-field input:focus,.vh-cform .cf-field select:focus,.vh-cform .cf-field textarea:focus{outline:none;border-color:var(--orange,#f05820);box-shadow:0 0 0 4px rgba(240,88,32,.14)}
.vh-cform .cf-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1962' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}
.vh-cform .cf-submit{width:100%;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:1.05rem;padding:15px 22px}
.vh-cform .cf-submit svg{width:19px;height:19px;flex:none}
.vh-cform .cf-note{font-size:.85rem;color:var(--muted,#5b5870);margin:13px 0 0;line-height:1.5;text-align:center}
.vh-cform .cf-status{margin-top:14px;font-size:.96rem;font-weight:600;text-align:center;border-radius:12px;line-height:1.5}
.vh-cform .cf-status.ok{color:#136c34;background:#e9f9ef;border:1.5px solid #a7dcb8;padding:16px 18px;font-size:1.02rem;font-weight:700}
.vh-cform .cf-status.err{color:#c62828;background:#fdecea;padding:13px 15px}
.vh-cform .cf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.vh-cform .cform-wrap{max-width:720px;margin-left:auto;margin-right:auto}
@media(max-width:560px){.vh-cform .contact-form{padding:24px 18px 22px}.vh-cform .cf-2{grid-template-columns:1fr}}
</style>
<section class="sec vh-cform" id="vh-cform">
<div class="wrap cform-wrap">
<div class="sec-head reveal">
<span class="kicker">Ou par message</span>
<h2>Une question ? Écrivez-moi directement</h2>
<p>Pas envie de lancer l'analyse tout de suite ? Décrivez-moi votre projet, votre site ou votre question : je lis chaque message et je vous réponds personnellement sous 24h ouvrées.</p>
</div>
<form id="contact-form" class="contact-form" novalidate>
<div class="cf-hp" aria-hidden="true"><label>Ne pas remplir<input type="text" name="_gotcha" tabindex="-1" autocomplete="off"></label></div>
<div class="cf-row">
<label class="cf-field" for="cf-sujet"><span class="cf-label">Je souhaite parler de</span>
<select id="cf-sujet" name="sujet" required>
<option value="" disabled selected>Choisissez un sujet…</option>
<option>Accompagnement SEO</option>
<option>Formation SEO</option>
<option>Audit / Diagnostic SEO</option>
<option>Refonte de site</option>
<option>Netlinking</option>
<option>Autre / Question générale</option>
</select>
</label>
</div>
<div class="cf-row cf-2">
<label class="cf-field" for="cf-nom"><span class="cf-label">Nom complet *</span><input id="cf-nom" name="nom" type="text" autocomplete="name" required placeholder="Prénom et nom"></label>
<label class="cf-field" for="cf-email"><span class="cf-label">Email *</span><input id="cf-email" name="email" type="email" inputmode="email" autocomplete="email" required placeholder="vous@exemple.fr"></label>
</div>
<div class="cf-row cf-2">
<label class="cf-field" for="cf-site"><span class="cf-label">Votre site web</span><input id="cf-site" name="site" type="text" inputmode="url" autocomplete="url" placeholder="votre-site.fr (optionnel)"></label>
<label class="cf-field" for="cf-tel"><span class="cf-label">Téléphone</span><input id="cf-tel" name="tel" type="tel" autocomplete="tel" placeholder="Optionnel"></label>
</div>
<div class="cf-row">
<label class="cf-field" for="cf-msg"><span class="cf-label">Votre message *</span><textarea id="cf-msg" name="message" rows="5" required placeholder="Décrivez votre projet, votre site, votre objectif ou votre question…"></textarea></label>
</div>
<button type="submit" class="btn btn-primary cf-submit" id="cf-submit">Envoyer mon message <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></button>
<p class="cf-note">🔒 Vos informations restent confidentielles. En envoyant ce formulaire, vous acceptez d'être recontacté au sujet de votre demande.</p>
<div class="cf-status" id="cf-status" role="alert" aria-live="polite"></div>
</form>
</div>
</section>
<script id="vh-cform-js">
(function(){
var f=document.getElementById('contact-form'); if(!f) return;
var st=document.getElementById('cf-status'), btn=document.getElementById('cf-submit'), btnHTML=btn.innerHTML, busy=false;
function msg(t,ok){ st.textContent=t; st.className='cf-status '+(t?(ok?'ok':'err'):''); }
f.addEventListener('submit', function(e){
e.preventDefault();
if(busy) return;
msg('',true);
var nom=(f.nom.value||'').trim(), email=(f.email.value||'').trim(), message=(f.message.value||'').trim();
if(!nom){ msg('Merci d\'indiquer votre nom.',false); f.nom.focus(); return; }
if(!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)){ msg('Entrez un email valide pour que je puisse vous répondre.',false); f.email.focus(); return; }
if(!message){ msg('Écrivez-moi quelques mots dans le message.',false); f.message.focus(); return; }
if(f._gotcha && f._gotcha.value){ msg('Merci ! Votre message est bien envoyé.',true); f.reset(); return; }
busy=true; btn.disabled=true; btn.innerHTML='Envoi en cours…';
var sujet=(f.sujet.value||'Question générale');
var prenom=nom.split(' ')[0];
var srcTitle=(document.title||'').split('|')[0].trim();
var payload={ Nom:nom, Email:email, Sujet:sujet, "Site web":((f.site.value||'').trim()||'—'), "Téléphone":((f.tel.value||'').trim()||'—'), Message:message,
"Page source": (srcTitle?srcTitle+' — ':'')+location.href,
_subject:'Nouveau contact | '+nom+' | '+sujet+' | via '+(srcTitle||location.pathname), _template:'table', _captcha:'false',
_autoresponse:'Bonjour '+prenom+",\n\nMerci pour votre message, je l'ai bien reçu ! Je le lis personnellement et je vous réponds sous 24h ouvrées.\n\nEn attendant, si c'est urgent, vous pouvez m'écrire sur WhatsApp ou réserver directement un appel offert sur https://www.vincenthego.com/appel/\n\nÀ très vite,\nVincent Hégo\nConsultant SEO | VH DIGITAL CORP\nhttps://www.vincenthego.com" };
fetch('https://formsubmit.co/ajax/bonjour@vincenthego.com',{method:'POST',headers:{'Content-Type':'application/json','Accept':'application/json'},body:JSON.stringify(payload)})
.then(function(r){ return r.json().catch(function(){ return {}; }); })
.then(function(d){
if(d && (d.success===true || d.success==='true')){ f.reset(); msg('✅ Message bien envoyé. Merci ! Je vous réponds personnellement sous 24h ouvrées.',true); try{ if(typeof gtag==='function'){ gtag('event','contact_submit',{event_category:'Contact'}); } }catch(_e){} }
else { msg("L'envoi a échoué. Réessayez, ou écrivez-moi directement à bonjour@vincenthego.com.",false); }
})
.catch(function(){ msg("L'envoi a échoué. Réessayez, ou écrivez-moi directement à bonjour@vincenthego.com.",false); })
.then(function(){ busy=false; btn.disabled=false; btn.innerHTML=btnHTML; });
});
})();
</script>
<!-- FAQ -->
<section class="sec sec-soft">
<div class="wrap">
<div class="sec-head reveal">
<span class="kicker">Vos questions</span>
<h2>Questions fréquentes sur le consultant SEO à Épinal</h2>
</div>
<div class="faq-wrap reveal">
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Pourquoi faire appel à un consultant SEO à Épinal ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Un consultant SEO qui connaît vraiment Épinal maîtrise le marché local, la concurrence des Vosges et les recherches de vos clients de proximité. Vous travaillez en direct avec l'expert, sans intermédiaire d'agence : plus réactif, plus personnel et plus stratégique.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Intervenez-vous dans tout le département des Vosges et le massif vosgien ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Oui. J'accompagne les entreprises de Communauté d'agglomération d'Épinal (Golbey, Chantraine, Thaon-les-Vosges, Dogneville…) et de tout le département des Vosges : Saint-Dié-des-Vosges, Remiremont, Neufchâteau, Gérardmer, jusqu'à Nancy et Strasbourg. Et partout en France à distance.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Travaillez-vous en présentiel ou à distance ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Les deux. À Épinal et alentours, on peut se rencontrer ; ailleurs, tout se fait en visioconférence, aussi efficacement. Vous choisissez le format qui vous convient.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Combien coûte un consultant SEO à Épinal ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Un audit va de 800 à 5 000 € selon la taille du site. Un accompagnement mensuel se situe en général entre 1 000 et 5 000 €/mois. De mon côté, le tarif est sur-mesure et se définit pendant le diagnostic offert.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Consultant SEO ou agence à Épinal : que choisir ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Avec une agence, vous passez souvent par un chef de projet qui délègue à des juniors. Avec un consultant, vous travaillez en direct avec l'expert : plus personnel, plus réactif, et votre budget va au travail SEO réel, pas à la structure.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Quels types d'entreprises spinaliennes accompagnez-vous ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>PME, commerces, artisans, professions libérales, e-commerces et startups : bois et papier, textile technique, imagerie et impression, agroalimentaire, tourisme vert, santé. Tout site qui veut plus de clients depuis Google, à Épinal comme au national.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">En combien de temps voit-on des résultats ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Les premiers gains (corrections techniques, pages qui remontent) arrivent souvent en 1 à 3 mois. Le SEO est un canal de fond : c'est sur 6 à 12 mois qu'on construit une croissance durable du trafic et des clients.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Faites-vous du SEO local (Google Maps) à Épinal ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Oui. Fiche Google Business, avis, pack local et Google Maps : j'optimise votre <a href="https://www.vincenthego.com/seo-local/">référencement local</a> pour capter les clients de votre zone à Épinal et dans les Vosges.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Optimisez-vous aussi pour les IA (ChatGPT, Perplexity) ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Oui. En plus de Google, j'optimise votre visibilité dans les moteurs de réponse IA (AI Overviews, ChatGPT, Perplexity), ce qu'on appelle le <a href="https://www.vincenthego.com/agence-geo/">GEO</a>. Vos contenus sont structurés pour être cités par ces nouvelles interfaces.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Comment se passe le premier échange ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>On commence par un diagnostic offert : j'analyse votre site en direct, on identifie vos leviers prioritaires, et vous repartez avec un plan d'action clair, qu'on travaille ensemble ou non.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Être à distance de Nancy, c'est un handicap ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Commercialement, beaucoup d'entreprises le croient : Nancy est à une heure de route d'Épinal. Google, lui, ne raisonne pas en kilomètres. Une page bien positionnée vous met devant un prospect parisien exactement comme devant un voisin de la rue Léopold-Bourg. C'est pour ça que le référencement naturel est, à mon sens, le canal le plus rentable pour une entreprise spinalienne.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Travaillez-vous aussi partout en France ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Oui. Basé à Montpellier, j'accompagne des clients partout en France à distance, dont Épinal, et j'ai déjà généré plus de 300 000 visiteurs/mois pour des sites nationaux comme Waalaxy.</p></div>
</div>
<div class="faq-item">
<h3 class="faq-h"><button class="faq-q" aria-expanded="false">Qu'est-ce qu'un consultant SEO ?<span class="chev"><svg viewbox="0 0 24 24"><path d="M6 9l6 6 6-6"/></svg></span></button></h3>
<div class="faq-a"><p>Un consultant SEO est un expert indépendant qui optimise votre référencement naturel (technique, contenu, autorité) pour vous faire gagner des positions sur Google et attirer plus de clients, en direct et sans agence. C'est exactement mon métier de <strong>consultant SEO à Épinal</strong>.</p></div>
</div>
</div>
</div>
</section>
<style id="vh-related">
.related{padding:46px 0 8px}
.related .rel-head{text-align:center;margin-bottom:24px}
.related .rel-kick{display:inline-block;font-size:.76rem;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:var(--orange-ink);margin-bottom:8px}
.related .rel-head h2{font-size:clamp(1.4rem,2.4vw,1.85rem);color:var(--marine);letter-spacing:-.5px;line-height:1.15}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;margin:0 auto}
.rel-card{display:flex;flex-direction:column;background:var(--white,#fff);border:1px solid var(--line);border-radius:18px;padding:22px 22px 20px;text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease,ease),box-shadow .25s,border-color .25s}
.rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--orange)}
.rel-card .rc-t{font-weight:800;color:var(--marine);font-size:1.02rem;margin-bottom:6px;letter-spacing:-.2px}
.rel-card .rc-d{color:var(--muted);font-size:.9rem;line-height:1.5;flex:1}
.rel-card .rc-more{margin-top:13px;color:var(--orange-ink);font-weight:700;font-size:.85rem}
@media(max-width:780px){.rel-grid{grid-template-columns:1fr;max-width:440px}}
</style>
<style id="vh-cities">
@media(min-width:561px){.sec.cities{padding-top:44px}}
.cities-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3.5%,#000 96.5%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3.5%,#000 96.5%,transparent)}
.cm-track{display:flex;width:max-content;will-change:transform;animation:cm-slide 55s linear infinite}
.cities-marquee:hover .cm-track{animation-play-state:paused}
.cities .rel-head{text-align:center;max-width:760px;margin:0 auto 30px;padding:0 20px}
.cities .rel-head h2,.cities .sec-head h2{text-wrap:balance}
.cities .rel-head p,.cities .sec-head p{text-wrap:pretty}
.city-card{position:relative;flex:0 0 auto;width:262px;height:344px;margin-right:18px;border-radius:22px;overflow:hidden;text-decoration:none;box-shadow:0 22px 46px -26px rgba(28,25,98,.5)}
.city-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}
.city-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(19,16,74,.92) 4%,rgba(19,16,74,.45) 42%,rgba(19,16,74,.12) 100%)}
.city-card:hover img{transform:scale(1.06)}
.cc-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px 20px 22px;color:#fff}
.cc-kick{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#ff9d78;margin-bottom:7px}
.cc-name{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.cc-sub{margin-top:9px;font-size:.85rem;font-weight:600;opacity:.95;display:flex;align-items:center;gap:7px}
.cc-sub svg{width:15px;height:15px;transition:transform .3s ease}
@keyframes cm-slide{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.cm-track{animation:none}.cities-marquee{overflow-x:auto;scrollbar-width:none}.cities-marquee::-webkit-scrollbar{display:none}}
@media(max-width:560px){.city-card{width:230px;height:310px;margin-right:14px}.sec.cities{margin-top:-66px;padding-top:46px}.cities .rel-head,.cities .sec-head{margin:0 auto;padding:0 18px;max-width:100%;display:flow-root}.cities .cities-marquee{margin-top:16px}.cities .rel-head h2,.cities .sec-head h2{font-size:1.5rem;line-height:1.22}.cities .rel-head p,.cities .sec-head p{font-size:.9rem;line-height:1.5;margin-top:8px}.cities .rel-kick,.cities .kicker{font-size:.68rem}}
</style>
<section class="sec sec-soft cities" id="villes" style="padding-bottom:56px">
<div class="wrap"><div class="sec-head reveal"><span class="kicker">Partout en France</span><h2>Un consultant SEO à vos côtés, partout en France</h2><p>En direct dans les grandes villes de France, et partout en visio.</p></div></div>
<div class="cities-marquee"><div class="cm-track"><a class="city-card" href="https://www.vincenthego.com/consultant-seo-agen/"><img src="https://www.vincenthego.com/consultant-seo-agen/assets/local/consultant-seo-agen-card.webp?v=1" alt="Consultant SEO à Agen" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Lot-et-Garonne</span><div class="cc-name">Agen</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aix-en-provence/"><img src="https://www.vincenthego.com/consultant-seo-aix-en-provence/assets/local/aix-card.webp?v=1" alt="Consultant SEO à Aix-en-Provence" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Aix-en-Provence</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aix-les-bains/"><img src="https://www.vincenthego.com/consultant-seo-aix-les-bains/assets/local/consultant-seo-aix-les-bains-card.webp?v=1" alt="Consultant SEO à Aix-les-Bains" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Savoie</span><div class="cc-name">Aix-les-Bains</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-ajaccio/"><img src="https://www.vincenthego.com/consultant-seo-ajaccio/assets/local/consultant-seo-ajaccio-card.webp?v=1" alt="Consultant SEO à Ajaccio" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Corse-du-Sud</span><div class="cc-name">Ajaccio</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-albi/"><img src="https://www.vincenthego.com/consultant-seo-albi/assets/local/consultant-seo-albi-card.webp?v=1" alt="Consultant SEO à Albi" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Tarn</span><div class="cc-name">Albi</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-alencon/"><img src="https://www.vincenthego.com/consultant-seo-alencon/assets/local/consultant-seo-alencon-card.webp?v=1" alt="Consultant SEO à Alençon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Orne</span><div class="cc-name">Alençon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-ales/"><img src="https://www.vincenthego.com/consultant-seo-ales/assets/local/consultant-seo-ales-card.webp?v=1" alt="Consultant SEO à Alès" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gard</span><div class="cc-name">Alès</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-amiens/"><img src="https://www.vincenthego.com/consultant-seo-amiens/assets/local/consultant-seo-amiens-card.webp?v=1" alt="Consultant SEO à Amiens" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Somme</span><div class="cc-name">Amiens</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-angers/"><img src="https://www.vincenthego.com/consultant-seo-angers/assets/local/angers-card.webp" alt="Consultant SEO à Angers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Maine-et-Loire</span><div class="cc-name">Angers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-angouleme/"><img src="https://www.vincenthego.com/consultant-seo-angouleme/assets/local/consultant-seo-angouleme-card.webp?v=1" alt="Consultant SEO à Angoulême" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Charente</span><div class="cc-name">Angoulême</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-annecy/"><img src="https://www.vincenthego.com/consultant-seo-annecy/assets/local/annecy-card.webp?v=1" alt="Consultant SEO à Annecy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Savoie</span><div class="cc-name">Annecy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-annemasse/"><img src="https://www.vincenthego.com/consultant-seo-annemasse/assets/local/consultant-seo-annemasse-card.webp?v=1" alt="Consultant SEO à Annemasse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Savoie</span><div class="cc-name">Annemasse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-antibes/"><img src="https://www.vincenthego.com/consultant-seo-antibes/assets/local/consultant-seo-antibes-card.webp?v=1" alt="Consultant SEO à Antibes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Antibes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-argenteuil/"><img src="https://www.vincenthego.com/consultant-seo-argenteuil/assets/local/consultant-seo-argenteuil-card.webp?v=1" alt="Consultant SEO à Argenteuil" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Val-d'Oise</span><div class="cc-name">Argenteuil</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-arles/"><img src="https://www.vincenthego.com/consultant-seo-arles/assets/local/consultant-seo-arles-card.webp?v=1" alt="Consultant SEO à Arles" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Arles</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-arras/"><img src="https://www.vincenthego.com/consultant-seo-arras/assets/local/consultant-seo-arras-card.webp?v=1" alt="Consultant SEO à Arras" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Arras</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aubagne/"><img src="https://www.vincenthego.com/consultant-seo-aubagne/assets/local/consultant-seo-aubagne-card.webp?v=1" alt="Consultant SEO à Aubagne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Aubagne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aurillac/"><img src="https://www.vincenthego.com/consultant-seo-aurillac/assets/local/consultant-seo-aurillac-card.webp?v=1" alt="Consultant SEO à Aurillac" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Cantal</span><div class="cc-name">Aurillac</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-auxerre/"><img src="https://www.vincenthego.com/consultant-seo-auxerre/assets/local/consultant-seo-auxerre-card.webp?v=1" alt="Consultant SEO à Auxerre" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Yonne</span><div class="cc-name">Auxerre</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-avignon/"><img src="https://www.vincenthego.com/consultant-seo-avignon/assets/local/consultant-seo-avignon-card.webp?v=1" alt="Consultant SEO à Avignon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vaucluse</span><div class="cc-name">Avignon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bastia/"><img src="https://www.vincenthego.com/consultant-seo-bastia/assets/local/consultant-seo-bastia-card.webp?v=1" alt="Consultant SEO à Bastia" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Corse</span><div class="cc-name">Bastia</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bayonne/"><img src="https://www.vincenthego.com/consultant-seo-bayonne/assets/local/consultant-seo-bayonne-card.webp?v=1" alt="Consultant SEO à Bayonne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Atlantiques</span><div class="cc-name">Bayonne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-beauvais/"><img src="https://www.vincenthego.com/consultant-seo-beauvais/assets/local/consultant-seo-beauvais-card.webp?v=1" alt="Consultant SEO à Beauvais" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Oise</span><div class="cc-name">Beauvais</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-belfort/"><img src="https://www.vincenthego.com/consultant-seo-belfort/assets/local/consultant-seo-belfort-card.webp?v=1" alt="Consultant SEO à Belfort" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Territoire de Belfort</span><div class="cc-name">Belfort</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-besancon/"><img src="https://www.vincenthego.com/consultant-seo-besancon/assets/local/consultant-seo-besancon-card.webp?v=1" alt="Consultant SEO à Besançon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Doubs</span><div class="cc-name">Besançon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-beziers/"><img src="https://www.vincenthego.com/consultant-seo-beziers/assets/local/consultant-seo-beziers-card.webp?v=1" alt="Consultant SEO à Béziers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hérault</span><div class="cc-name">Béziers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-biarritz/"><img src="https://www.vincenthego.com/consultant-seo-biarritz/assets/local/consultant-seo-biarritz-card.webp?v=1" alt="Consultant SEO à Biarritz" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Atlantiques</span><div class="cc-name">Biarritz</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-blois/"><img src="https://www.vincenthego.com/consultant-seo-blois/assets/local/consultant-seo-blois-card.webp?v=1" alt="Consultant SEO à Blois" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loir-et-Cher</span><div class="cc-name">Blois</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bordeaux/"><img src="https://www.vincenthego.com/consultant-seo-bordeaux/assets/local/bordeaux-card.webp" alt="Consultant SEO à Bordeaux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gironde</span><div class="cc-name">Bordeaux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-boulogne-billancourt/"><img src="https://www.vincenthego.com/consultant-seo-boulogne-billancourt/assets/local/consultant-seo-boulogne-billancourt-card.webp?v=1" alt="Consultant SEO à Boulogne-Billancourt" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hauts-de-Seine</span><div class="cc-name">Boulogne-Billancourt</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-boulogne-sur-mer/"><img src="https://www.vincenthego.com/consultant-seo-boulogne-sur-mer/assets/local/consultant-seo-boulogne-sur-mer-card.webp?v=1" alt="Consultant SEO à Boulogne-sur-Mer" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Boulogne-sur-Mer</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bourg-en-bresse/"><img src="https://www.vincenthego.com/consultant-seo-bourg-en-bresse/assets/local/consultant-seo-bourg-en-bresse-card.webp?v=1" alt="Consultant SEO à Bourg-en-Bresse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ain</span><div class="cc-name">Bourg-en-Bresse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bourges/"><img src="https://www.vincenthego.com/consultant-seo-bourges/assets/local/consultant-seo-bourges-card.webp?v=1" alt="Consultant SEO à Bourges" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Cher</span><div class="cc-name">Bourges</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bourgoin-jallieu/"><img src="https://www.vincenthego.com/consultant-seo-bourgoin-jallieu/assets/local/consultant-seo-bourgoin-jallieu-card.webp?v=1" alt="Consultant SEO à Bourgoin-Jallieu" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Isère</span><div class="cc-name">Bourgoin-Jallieu</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-brest/"><img src="https://www.vincenthego.com/consultant-seo-brest/assets/local/brest-card.webp?v=2" alt="Consultant SEO à Brest" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Finistère</span><div class="cc-name">Brest</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-brive-la-gaillarde/"><img src="https://www.vincenthego.com/consultant-seo-brive-la-gaillarde/assets/local/consultant-seo-brive-la-gaillarde-card.webp?v=1" alt="Consultant SEO à Brive-la-Gaillarde" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Corrèze</span><div class="cc-name">Brive-la-Gaillarde</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-caen/"><img src="https://www.vincenthego.com/consultant-seo-caen/assets/local/caen-card.webp?v=1" alt="Consultant SEO à Caen" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Calvados</span><div class="cc-name">Caen</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-calais/"><img src="https://www.vincenthego.com/consultant-seo-calais/assets/local/consultant-seo-calais-card.webp?v=1" alt="Consultant SEO à Calais" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Calais</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cambrai/"><img src="https://www.vincenthego.com/consultant-seo-cambrai/assets/local/consultant-seo-cambrai-card.webp?v=1" alt="Consultant SEO à Cambrai" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Cambrai</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cannes/"><img src="https://www.vincenthego.com/consultant-seo-cannes/assets/local/consultant-seo-cannes-card.webp?v=1" alt="Consultant SEO à Cannes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Cannes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-carcassonne/"><img src="https://www.vincenthego.com/consultant-seo-carcassonne/assets/local/consultant-seo-carcassonne-card.webp?v=1" alt="Consultant SEO à Carcassonne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aude</span><div class="cc-name">Carcassonne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-castres/"><img src="https://www.vincenthego.com/consultant-seo-castres/assets/local/consultant-seo-castres-card.webp?v=1" alt="Consultant SEO à Castres" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Tarn</span><div class="cc-name">Castres</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cergy/"><img src="https://www.vincenthego.com/consultant-seo-cergy/assets/local/consultant-seo-cergy-card.webp?v=1" alt="Consultant SEO à Cergy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Val-d'Oise</span><div class="cc-name">Cergy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chalon-sur-saone/"><img src="https://www.vincenthego.com/consultant-seo-chalon-sur-saone/assets/local/consultant-seo-chalon-sur-saone-card.webp?v=1" alt="Consultant SEO à Chalon-sur-Saône" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Saône-et-Loire</span><div class="cc-name">Chalon-sur-Saône</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chalons-en-champagne/"><img src="https://www.vincenthego.com/consultant-seo-chalons-en-champagne/assets/local/consultant-seo-chalons-en-champagne-card.webp?v=1" alt="Consultant SEO à Châlons-en-Champagne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Marne</span><div class="cc-name">Châlons-en-Champagne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chambery/"><img src="https://www.vincenthego.com/consultant-seo-chambery/assets/local/consultant-seo-chambery-card.webp?v=1" alt="Consultant SEO à Chambéry" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Savoie</span><div class="cc-name">Chambéry</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-charleville-mezieres/"><img src="https://www.vincenthego.com/consultant-seo-charleville-mezieres/assets/local/consultant-seo-charleville-mezieres-card.webp?v=1" alt="Consultant SEO à Charleville-Mézières" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ardennes</span><div class="cc-name">Charleville-Mézières</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chartres/"><img src="https://www.vincenthego.com/consultant-seo-chartres/assets/local/consultant-seo-chartres-card.webp?v=1" alt="Consultant SEO à Chartres" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Eure-et-Loir</span><div class="cc-name">Chartres</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chateauroux/"><img src="https://www.vincenthego.com/consultant-seo-chateauroux/assets/local/consultant-seo-chateauroux-card.webp?v=1" alt="Consultant SEO à Châteauroux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Indre</span><div class="cc-name">Châteauroux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cherbourg/"><img src="https://www.vincenthego.com/consultant-seo-cherbourg/assets/local/consultant-seo-cherbourg-card.webp?v=1" alt="Consultant SEO à Cherbourg" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Manche</span><div class="cc-name">Cherbourg</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cholet/"><img src="https://www.vincenthego.com/consultant-seo-cholet/assets/local/consultant-seo-cholet-card.webp?v=1" alt="Consultant SEO à Cholet" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Maine-et-Loire</span><div class="cc-name">Cholet</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-clermont-ferrand/"><img src="https://www.vincenthego.com/consultant-seo-clermont-ferrand/assets/local/clermont-ferrand-card.webp" alt="Consultant SEO à Clermont-Ferrand" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Puy-de-Dôme</span><div class="cc-name">Clermont-Ferrand</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-colmar/"><img src="https://www.vincenthego.com/consultant-seo-colmar/assets/local/consultant-seo-colmar-card.webp?v=1" alt="Consultant SEO à Colmar" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haut-Rhin</span><div class="cc-name">Colmar</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-compiegne/"><img src="https://www.vincenthego.com/consultant-seo-compiegne/assets/local/consultant-seo-compiegne-card.webp?v=1" alt="Consultant SEO à Compiègne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Oise</span><div class="cc-name">Compiègne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-courbevoie/"><img src="https://www.vincenthego.com/consultant-seo-courbevoie/assets/local/consultant-seo-courbevoie-card.webp?v=1" alt="Consultant SEO à Courbevoie" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hauts-de-Seine</span><div class="cc-name">Courbevoie</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-creteil/"><img src="https://www.vincenthego.com/consultant-seo-creteil/assets/local/consultant-seo-creteil-card.webp?v=1" alt="Consultant SEO à Créteil" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Val-de-Marne</span><div class="cc-name">Créteil</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dieppe/"><img src="https://www.vincenthego.com/consultant-seo-dieppe/assets/local/consultant-seo-dieppe-card.webp?v=1" alt="Consultant SEO à Dieppe" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Maritime</span><div class="cc-name">Dieppe</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dijon/"><img src="https://www.vincenthego.com/consultant-seo-dijon/assets/local/dijon-card.webp" alt="Consultant SEO à Dijon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côte-d'Or</span><div class="cc-name">Dijon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dinan/"><img src="https://www.vincenthego.com/consultant-seo-dinan/assets/local/consultant-seo-dinan-card.webp?v=1" alt="Consultant SEO à Dinan" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côtes-d'Armor</span><div class="cc-name">Dinan</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-douai/"><img src="https://www.vincenthego.com/consultant-seo-douai/assets/local/consultant-seo-douai-card.webp?v=1" alt="Consultant SEO à Douai" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Douai</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-draguignan/"><img src="https://www.vincenthego.com/consultant-seo-draguignan/assets/local/consultant-seo-draguignan-card.webp?v=1" alt="Consultant SEO à Draguignan" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Draguignan</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dunkerque/"><img src="https://www.vincenthego.com/consultant-seo-dunkerque/assets/local/consultant-seo-dunkerque-card.webp?v=1" alt="Consultant SEO à Dunkerque" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Dunkerque</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-evreux/"><img src="https://www.vincenthego.com/consultant-seo-evreux/assets/local/consultant-seo-evreux-card.webp?v=1" alt="Consultant SEO à Évreux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Eure</span><div class="cc-name">Évreux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-frejus/"><img src="https://www.vincenthego.com/consultant-seo-frejus/assets/local/consultant-seo-frejus-card.webp?v=1" alt="Consultant SEO à Fréjus" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Fréjus</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-gap/"><img src="https://www.vincenthego.com/consultant-seo-gap/assets/local/consultant-seo-gap-card.webp?v=1" alt="Consultant SEO à Gap" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hautes-Alpes</span><div class="cc-name">Gap</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-grasse/"><img src="https://www.vincenthego.com/consultant-seo-grasse/assets/local/consultant-seo-grasse-card.webp?v=1" alt="Consultant SEO à Grasse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Grasse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-grenoble/"><img src="https://www.vincenthego.com/consultant-seo-grenoble/assets/local/grenoble-card.webp?v=1" alt="Consultant SEO à Grenoble" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Isère</span><div class="cc-name">Grenoble</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-guingamp/"><img src="https://www.vincenthego.com/consultant-seo-guingamp/assets/local/consultant-seo-guingamp-card.webp?v=1" alt="Consultant SEO à Guingamp" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côtes-d'Armor</span><div class="cc-name">Guingamp</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-haguenau/"><img src="https://www.vincenthego.com/consultant-seo-haguenau/assets/local/consultant-seo-haguenau-card.webp?v=1" alt="Consultant SEO à Haguenau" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bas-Rhin</span><div class="cc-name">Haguenau</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-hyeres/"><img src="https://www.vincenthego.com/consultant-seo-hyeres/assets/local/consultant-seo-hyeres-card.webp?v=1" alt="Consultant SEO à Hyères" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Hyères</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-istres/"><img src="https://www.vincenthego.com/consultant-seo-istres/assets/local/consultant-seo-istres-card.webp?v=1" alt="Consultant SEO à Istres" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Istres</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-la-roche-sur-yon/"><img src="https://www.vincenthego.com/consultant-seo-la-roche-sur-yon/assets/local/consultant-seo-la-roche-sur-yon-card.webp?v=1" alt="Consultant SEO à La Roche-sur-Yon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vendée</span><div class="cc-name">La Roche-sur-Yon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-la-rochelle/"><img src="https://www.vincenthego.com/consultant-seo-la-rochelle/assets/local/consultant-seo-la-rochelle-card.webp?v=1" alt="Consultant SEO à La Rochelle" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Charente-Maritime</span><div class="cc-name">La Rochelle</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-la-seyne-sur-mer/"><img src="https://www.vincenthego.com/consultant-seo-la-seyne-sur-mer/assets/local/consultant-seo-la-seyne-sur-mer-card.webp?v=1" alt="Consultant SEO à La Seyne-sur-Mer" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">La Seyne-sur-Mer</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-laval/"><img src="https://www.vincenthego.com/consultant-seo-laval/assets/local/consultant-seo-laval-card.webp?v=1" alt="Consultant SEO à Laval" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Mayenne</span><div class="cc-name">Laval</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-le-havre/"><img src="https://www.vincenthego.com/consultant-seo-le-havre/assets/local/le-havre-card.webp" alt="Consultant SEO au Havre" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Maritime</span><div class="cc-name">Le Havre</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-le-mans/"><img src="https://www.vincenthego.com/consultant-seo-le-mans/assets/local/le-mans-card.webp" alt="Consultant SEO au Mans" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Sarthe</span><div class="cc-name">Le Mans</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-le-puy-en-velay/"><img src="https://www.vincenthego.com/consultant-seo-le-puy-en-velay/assets/local/consultant-seo-le-puy-en-velay-card.webp?v=1" alt="Consultant SEO au Puy-en-Velay" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Loire</span><div class="cc-name">Le Puy-en-Velay</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lens/"><img src="https://www.vincenthego.com/consultant-seo-lens/assets/local/consultant-seo-lens-card.webp?v=1" alt="Consultant SEO à Lens" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Lens</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lille/"><img src="https://www.vincenthego.com/consultant-seo-lille/assets/local/lille-card.webp" alt="Consultant SEO à Lille" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Lille</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-limoges/"><img src="https://www.vincenthego.com/consultant-seo-limoges/assets/local/consultant-seo-limoges-card.webp?v=1" alt="Consultant SEO à Limoges" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Vienne</span><div class="cc-name">Limoges</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lisieux/"><img src="https://www.vincenthego.com/consultant-seo-lisieux/assets/local/consultant-seo-lisieux-card.webp?v=1" alt="Consultant SEO à Lisieux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Calvados</span><div class="cc-name">Lisieux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lorient/"><img src="https://www.vincenthego.com/consultant-seo-lorient/assets/local/consultant-seo-lorient-card.webp?v=1" alt="Consultant SEO à Lorient" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Morbihan</span><div class="cc-name">Lorient</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lyon/"><img src="https://www.vincenthego.com/consultant-seo-lyon/assets/local/lyon-card.webp" alt="Consultant SEO à Lyon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Lyon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-macon/"><img src="https://www.vincenthego.com/consultant-seo-macon/assets/local/consultant-seo-macon-card.webp?v=1" alt="Consultant SEO à Mâcon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Saône-et-Loire</span><div class="cc-name">Mâcon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-marseille/"><img src="https://www.vincenthego.com/consultant-seo-marseille/assets/local/marseille-card.webp" alt="Consultant SEO à Marseille" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Marseille</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-martigues/"><img src="https://www.vincenthego.com/consultant-seo-martigues/assets/local/consultant-seo-martigues-card.webp?v=1" alt="Consultant SEO à Martigues" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Martigues</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-meaux/"><img src="https://www.vincenthego.com/consultant-seo-meaux/assets/local/consultant-seo-meaux-card.webp?v=1" alt="Consultant SEO à Meaux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-et-Marne</span><div class="cc-name">Meaux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-melun/"><img src="https://www.vincenthego.com/consultant-seo-melun/assets/local/consultant-seo-melun-card.webp?v=1" alt="Consultant SEO à Melun" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-et-Marne</span><div class="cc-name">Melun</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-menton/"><img src="https://www.vincenthego.com/consultant-seo-menton/assets/local/consultant-seo-menton-card.webp?v=1" alt="Consultant SEO à Menton" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Menton</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-merignac/"><img src="https://www.vincenthego.com/consultant-seo-merignac/assets/local/consultant-seo-merignac-card.webp?v=1" alt="Consultant SEO à Mérignac" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gironde</span><div class="cc-name">Mérignac</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-metz/"><img src="https://www.vincenthego.com/consultant-seo-metz/assets/local/metz-card.webp?v=2" alt="Consultant SEO à Metz" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Moselle</span><div class="cc-name">Metz</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montauban/"><img src="https://www.vincenthego.com/consultant-seo-montauban/assets/local/consultant-seo-montauban-card.webp?v=1" alt="Consultant SEO à Montauban" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Tarn-et-Garonne</span><div class="cc-name">Montauban</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montbeliard/"><img src="https://www.vincenthego.com/consultant-seo-montbeliard/assets/local/consultant-seo-montbeliard-card.webp?v=1" alt="Consultant SEO à Montbéliard" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Doubs</span><div class="cc-name">Montbéliard</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montelimar/"><img src="https://www.vincenthego.com/consultant-seo-montelimar/assets/local/consultant-seo-montelimar-card.webp?v=1" alt="Consultant SEO à Montélimar" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Drôme</span><div class="cc-name">Montélimar</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montlucon/"><img src="https://www.vincenthego.com/consultant-seo-montlucon/assets/local/consultant-seo-montlucon-card.webp?v=1" alt="Consultant SEO à Montluçon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Allier</span><div class="cc-name">Montluçon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montpellier/"><img src="https://www.vincenthego.com/consultant-seo-montpellier/assets/local/montpellier-card.webp" alt="Consultant SEO à Montpellier" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hérault</span><div class="cc-name">Montpellier</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-morlaix/"><img src="https://www.vincenthego.com/consultant-seo-morlaix/assets/local/consultant-seo-morlaix-card.webp?v=1" alt="Consultant SEO à Morlaix" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Finistère</span><div class="cc-name">Morlaix</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-mulhouse/"><img src="https://www.vincenthego.com/consultant-seo-mulhouse/assets/local/consultant-seo-mulhouse-card.webp?v=1" alt="Consultant SEO à Mulhouse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haut-Rhin</span><div class="cc-name">Mulhouse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nancy/"><img src="https://www.vincenthego.com/consultant-seo-nancy/assets/local/nancy-card.webp?v=1" alt="Consultant SEO à Nancy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Meurthe-et-Moselle</span><div class="cc-name">Nancy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nanterre/"><img src="https://www.vincenthego.com/consultant-seo-nanterre/assets/local/consultant-seo-nanterre-card.webp?v=1" alt="Consultant SEO à Nanterre" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hauts-de-Seine</span><div class="cc-name">Nanterre</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nantes/"><img src="https://www.vincenthego.com/consultant-seo-nantes/assets/local/nantes-card.webp" alt="Consultant SEO à Nantes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire-Atlantique</span><div class="cc-name">Nantes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-narbonne/"><img src="https://www.vincenthego.com/consultant-seo-narbonne/assets/local/consultant-seo-narbonne-card.webp?v=1" alt="Consultant SEO à Narbonne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aude</span><div class="cc-name">Narbonne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nevers/"><img src="https://www.vincenthego.com/consultant-seo-nevers/assets/local/consultant-seo-nevers-card.webp?v=1" alt="Consultant SEO à Nevers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nièvre</span><div class="cc-name">Nevers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nice/"><img src="https://www.vincenthego.com/consultant-seo-nice/assets/local/nice-card.webp" alt="Consultant SEO à Nice" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Nice</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nimes/"><img src="https://www.vincenthego.com/consultant-seo-nimes/assets/local/consultant-seo-nimes-card.webp?v=1" alt="Consultant SEO à Nîmes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gard</span><div class="cc-name">Nîmes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-niort/"><img src="https://www.vincenthego.com/consultant-seo-niort/assets/local/consultant-seo-niort-card.webp?v=1" alt="Consultant SEO à Niort" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Deux-Sèvres</span><div class="cc-name">Niort</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-orange/"><img src="https://www.vincenthego.com/consultant-seo-orange/assets/local/consultant-seo-orange-card.webp?v=1" alt="Consultant SEO à Orange" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vaucluse</span><div class="cc-name">Orange</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-orleans/"><img src="https://www.vincenthego.com/consultant-seo-orleans/assets/local/consultant-seo-orleans-card.webp?v=1" alt="Consultant SEO à Orléans" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loiret</span><div class="cc-name">Orléans</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-paris/"><img src="https://www.vincenthego.com/consultant-seo-paris/assets/local/paris-card.webp" alt="Consultant SEO à Paris" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Île-de-France</span><div class="cc-name">Paris</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-pau/"><img src="https://www.vincenthego.com/consultant-seo-pau/assets/local/consultant-seo-pau-card.webp?v=1" alt="Consultant SEO à Pau" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Atlantiques</span><div class="cc-name">Pau</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-perigueux/"><img src="https://www.vincenthego.com/consultant-seo-perigueux/assets/local/consultant-seo-perigueux-card.webp?v=1" alt="Consultant SEO à Périgueux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Dordogne</span><div class="cc-name">Périgueux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-perpignan/"><img src="https://www.vincenthego.com/consultant-seo-perpignan/assets/local/consultant-seo-perpignan-card.webp?v=1" alt="Consultant SEO à Perpignan" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Orientales</span><div class="cc-name">Perpignan</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-pessac/"><img src="https://www.vincenthego.com/consultant-seo-pessac/assets/local/consultant-seo-pessac-card.webp?v=1" alt="Consultant SEO à Pessac" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gironde</span><div class="cc-name">Pessac</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-poitiers/"><img src="https://www.vincenthego.com/consultant-seo-poitiers/assets/local/consultant-seo-poitiers-card.webp?v=1" alt="Consultant SEO à Poitiers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vienne</span><div class="cc-name">Poitiers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-quimper/"><img src="https://www.vincenthego.com/consultant-seo-quimper/assets/local/consultant-seo-quimper-card.webp?v=1" alt="Consultant SEO à Quimper" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Finistère</span><div class="cc-name">Quimper</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-reims/"><img src="https://www.vincenthego.com/consultant-seo-reims/assets/local/reims-card.webp" alt="Consultant SEO à Reims" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Marne</span><div class="cc-name">Reims</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-rennes/"><img src="https://www.vincenthego.com/consultant-seo-rennes/assets/local/rennes-card.webp" alt="Consultant SEO à Rennes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ille-et-Vilaine</span><div class="cc-name">Rennes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-roanne/"><img src="https://www.vincenthego.com/consultant-seo-roanne/assets/local/consultant-seo-roanne-card.webp?v=1" alt="Consultant SEO à Roanne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire</span><div class="cc-name">Roanne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-rodez/"><img src="https://www.vincenthego.com/consultant-seo-rodez/assets/local/consultant-seo-rodez-card.webp?v=1" alt="Consultant SEO à Rodez" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aveyron</span><div class="cc-name">Rodez</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-romans-sur-isere/"><img src="https://www.vincenthego.com/consultant-seo-romans-sur-isere/assets/local/consultant-seo-romans-sur-isere-card.webp?v=1" alt="Consultant SEO à Romans-sur-Isère" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Drôme</span><div class="cc-name">Romans-sur-Isère</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-roubaix/"><img src="https://www.vincenthego.com/consultant-seo-roubaix/assets/local/consultant-seo-roubaix-card.webp?v=1" alt="Consultant SEO à Roubaix" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Roubaix</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-rouen/"><img src="https://www.vincenthego.com/consultant-seo-rouen/assets/local/rouen-card.webp?v=1" alt="Consultant SEO à Rouen" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Maritime</span><div class="cc-name">Rouen</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-brieuc/"><img src="https://www.vincenthego.com/consultant-seo-saint-brieuc/assets/local/consultant-seo-saint-brieuc-card.webp?v=1" alt="Consultant SEO à Saint-Brieuc" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côtes-d'Armor</span><div class="cc-name">Saint-Brieuc</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-denis/"><img src="https://www.vincenthego.com/consultant-seo-saint-denis/assets/local/consultant-seo-saint-denis-card.webp?v=1" alt="Consultant SEO à Saint-Denis" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Saint-Denis</span><div class="cc-name">Saint-Denis</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-etienne/"><img src="https://www.vincenthego.com/consultant-seo-saint-etienne/assets/local/saint-etienne-card.webp" alt="Consultant SEO à Saint-Étienne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire</span><div class="cc-name">Saint-Étienne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-malo/"><img src="https://www.vincenthego.com/consultant-seo-saint-malo/assets/local/consultant-seo-saint-malo-card.webp?v=1" alt="Consultant SEO à Saint-Malo" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ille-et-Vilaine</span><div class="cc-name">Saint-Malo</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-nazaire/"><img src="https://www.vincenthego.com/consultant-seo-saint-nazaire/assets/local/consultant-seo-saint-nazaire-card.webp?v=1" alt="Consultant SEO à Saint-Nazaire" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire-Atlantique</span><div class="cc-name">Saint-Nazaire</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-quentin/"><img src="https://www.vincenthego.com/consultant-seo-saint-quentin/assets/local/consultant-seo-saint-quentin-card.webp?v=1" alt="Consultant SEO à Saint-Quentin" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aisne</span><div class="cc-name">Saint-Quentin</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-salon-de-provence/"><img src="https://www.vincenthego.com/consultant-seo-salon-de-provence/assets/local/consultant-seo-salon-de-provence-card.webp?v=1" alt="Consultant SEO à Salon-de-Provence" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Salon-de-Provence</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-sete/"><img src="https://www.vincenthego.com/consultant-seo-sete/assets/local/consultant-seo-sete-card.webp?v=1" alt="Consultant SEO à Sète" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hérault</span><div class="cc-name">Sète</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-strasbourg/"><img src="https://www.vincenthego.com/consultant-seo-strasbourg/assets/local/strasbourg-card.webp?v=1" alt="Consultant SEO à Strasbourg" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bas-Rhin</span><div class="cc-name">Strasbourg</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-tarbes/"><img src="https://www.vincenthego.com/consultant-seo-tarbes/assets/local/consultant-seo-tarbes-card.webp?v=1" alt="Consultant SEO à Tarbes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hautes-Pyrénées</span><div class="cc-name">Tarbes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-thionville/"><img src="https://www.vincenthego.com/consultant-seo-thionville/assets/local/consultant-seo-thionville-card.webp?v=1" alt="Consultant SEO à Thionville" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Moselle</span><div class="cc-name">Thionville</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-thonon-les-bains/"><img src="https://www.vincenthego.com/consultant-seo-thonon-les-bains/assets/local/consultant-seo-thonon-les-bains-card.webp?v=1" alt="Consultant SEO à Thonon-les-Bains" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Savoie</span><div class="cc-name">Thonon-les-Bains</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-toulon/"><img src="https://www.vincenthego.com/consultant-seo-toulon/assets/local/toulon-card.webp?v=1" alt="Consultant SEO à Toulon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Toulon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-toulouse/"><img src="https://www.vincenthego.com/consultant-seo-toulouse/assets/local/toulouse-card.webp" alt="Consultant SEO à Toulouse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Garonne</span><div class="cc-name">Toulouse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-tourcoing/"><img src="https://www.vincenthego.com/consultant-seo-tourcoing/assets/local/consultant-seo-tourcoing-card.webp?v=1" alt="Consultant SEO à Tourcoing" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Tourcoing</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-tours/"><img src="https://www.vincenthego.com/consultant-seo-tours/assets/local/tours-card.webp?v=1" alt="Consultant SEO à Tours" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Indre-et-Loire</span><div class="cc-name">Tours</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-troyes/"><img src="https://www.vincenthego.com/consultant-seo-troyes/assets/local/consultant-seo-troyes-card.webp?v=1" alt="Consultant SEO à Troyes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aube</span><div class="cc-name">Troyes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-valence/"><img src="https://www.vincenthego.com/consultant-seo-valence/assets/local/consultant-seo-valence-card.webp?v=1" alt="Consultant SEO à Valence" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Drôme</span><div class="cc-name">Valence</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-valenciennes/"><img src="https://www.vincenthego.com/consultant-seo-valenciennes/assets/local/consultant-seo-valenciennes-card.webp?v=1" alt="Consultant SEO à Valenciennes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Valenciennes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-vannes/"><img src="https://www.vincenthego.com/consultant-seo-vannes/assets/local/consultant-seo-vannes-card.webp?v=1" alt="Consultant SEO à Vannes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Morbihan</span><div class="cc-name">Vannes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-venissieux/"><img src="https://www.vincenthego.com/consultant-seo-venissieux/assets/local/consultant-seo-venissieux-card.webp?v=1" alt="Consultant SEO à Vénissieux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Vénissieux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-versailles/"><img src="https://www.vincenthego.com/consultant-seo-versailles/assets/local/consultant-seo-versailles-card.webp?v=1" alt="Consultant SEO à Versailles" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Yvelines</span><div class="cc-name">Versailles</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-vichy/"><img src="https://www.vincenthego.com/consultant-seo-vichy/assets/local/consultant-seo-vichy-card.webp?v=1" alt="Consultant SEO à Vichy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Allier</span><div class="cc-name">Vichy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-vienne/"><img src="https://www.vincenthego.com/consultant-seo-vienne/assets/local/consultant-seo-vienne-card.webp?v=1" alt="Consultant SEO à Vienne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Isère</span><div class="cc-name">Vienne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-villefranche-sur-saone/"><img src="https://www.vincenthego.com/consultant-seo-villefranche-sur-saone/assets/local/consultant-seo-villefranche-sur-saone-card.webp?v=1" alt="Consultant SEO à Villefranche-sur-Saône" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Villefranche-sur-Saône</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-villeurbanne/"><img src="https://www.vincenthego.com/consultant-seo-villeurbanne/assets/local/consultant-seo-villeurbanne-card.webp" alt="Consultant SEO à Villeurbanne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Villeurbanne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-agen/"><img src="https://www.vincenthego.com/consultant-seo-agen/assets/local/consultant-seo-agen-card.webp?v=1" alt="Consultant SEO à Agen" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Lot-et-Garonne</span><div class="cc-name">Agen</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aix-en-provence/"><img src="https://www.vincenthego.com/consultant-seo-aix-en-provence/assets/local/aix-card.webp?v=1" alt="Consultant SEO à Aix-en-Provence" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Aix-en-Provence</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aix-les-bains/"><img src="https://www.vincenthego.com/consultant-seo-aix-les-bains/assets/local/consultant-seo-aix-les-bains-card.webp?v=1" alt="Consultant SEO à Aix-les-Bains" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Savoie</span><div class="cc-name">Aix-les-Bains</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-ajaccio/"><img src="https://www.vincenthego.com/consultant-seo-ajaccio/assets/local/consultant-seo-ajaccio-card.webp?v=1" alt="Consultant SEO à Ajaccio" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Corse-du-Sud</span><div class="cc-name">Ajaccio</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-albi/"><img src="https://www.vincenthego.com/consultant-seo-albi/assets/local/consultant-seo-albi-card.webp?v=1" alt="Consultant SEO à Albi" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Tarn</span><div class="cc-name">Albi</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-alencon/"><img src="https://www.vincenthego.com/consultant-seo-alencon/assets/local/consultant-seo-alencon-card.webp?v=1" alt="Consultant SEO à Alençon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Orne</span><div class="cc-name">Alençon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-ales/"><img src="https://www.vincenthego.com/consultant-seo-ales/assets/local/consultant-seo-ales-card.webp?v=1" alt="Consultant SEO à Alès" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gard</span><div class="cc-name">Alès</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-amiens/"><img src="https://www.vincenthego.com/consultant-seo-amiens/assets/local/consultant-seo-amiens-card.webp?v=1" alt="Consultant SEO à Amiens" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Somme</span><div class="cc-name">Amiens</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-angers/"><img src="https://www.vincenthego.com/consultant-seo-angers/assets/local/angers-card.webp" alt="Consultant SEO à Angers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Maine-et-Loire</span><div class="cc-name">Angers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-angouleme/"><img src="https://www.vincenthego.com/consultant-seo-angouleme/assets/local/consultant-seo-angouleme-card.webp?v=1" alt="Consultant SEO à Angoulême" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Charente</span><div class="cc-name">Angoulême</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-annecy/"><img src="https://www.vincenthego.com/consultant-seo-annecy/assets/local/annecy-card.webp?v=1" alt="Consultant SEO à Annecy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Savoie</span><div class="cc-name">Annecy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-annemasse/"><img src="https://www.vincenthego.com/consultant-seo-annemasse/assets/local/consultant-seo-annemasse-card.webp?v=1" alt="Consultant SEO à Annemasse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Savoie</span><div class="cc-name">Annemasse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-antibes/"><img src="https://www.vincenthego.com/consultant-seo-antibes/assets/local/consultant-seo-antibes-card.webp?v=1" alt="Consultant SEO à Antibes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Antibes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-argenteuil/"><img src="https://www.vincenthego.com/consultant-seo-argenteuil/assets/local/consultant-seo-argenteuil-card.webp?v=1" alt="Consultant SEO à Argenteuil" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Val-d'Oise</span><div class="cc-name">Argenteuil</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-arles/"><img src="https://www.vincenthego.com/consultant-seo-arles/assets/local/consultant-seo-arles-card.webp?v=1" alt="Consultant SEO à Arles" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Arles</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-arras/"><img src="https://www.vincenthego.com/consultant-seo-arras/assets/local/consultant-seo-arras-card.webp?v=1" alt="Consultant SEO à Arras" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Arras</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aubagne/"><img src="https://www.vincenthego.com/consultant-seo-aubagne/assets/local/consultant-seo-aubagne-card.webp?v=1" alt="Consultant SEO à Aubagne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Aubagne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-aurillac/"><img src="https://www.vincenthego.com/consultant-seo-aurillac/assets/local/consultant-seo-aurillac-card.webp?v=1" alt="Consultant SEO à Aurillac" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Cantal</span><div class="cc-name">Aurillac</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-auxerre/"><img src="https://www.vincenthego.com/consultant-seo-auxerre/assets/local/consultant-seo-auxerre-card.webp?v=1" alt="Consultant SEO à Auxerre" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Yonne</span><div class="cc-name">Auxerre</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-avignon/"><img src="https://www.vincenthego.com/consultant-seo-avignon/assets/local/consultant-seo-avignon-card.webp?v=1" alt="Consultant SEO à Avignon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vaucluse</span><div class="cc-name">Avignon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bastia/"><img src="https://www.vincenthego.com/consultant-seo-bastia/assets/local/consultant-seo-bastia-card.webp?v=1" alt="Consultant SEO à Bastia" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Corse</span><div class="cc-name">Bastia</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bayonne/"><img src="https://www.vincenthego.com/consultant-seo-bayonne/assets/local/consultant-seo-bayonne-card.webp?v=1" alt="Consultant SEO à Bayonne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Atlantiques</span><div class="cc-name">Bayonne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-beauvais/"><img src="https://www.vincenthego.com/consultant-seo-beauvais/assets/local/consultant-seo-beauvais-card.webp?v=1" alt="Consultant SEO à Beauvais" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Oise</span><div class="cc-name">Beauvais</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-belfort/"><img src="https://www.vincenthego.com/consultant-seo-belfort/assets/local/consultant-seo-belfort-card.webp?v=1" alt="Consultant SEO à Belfort" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Territoire de Belfort</span><div class="cc-name">Belfort</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-besancon/"><img src="https://www.vincenthego.com/consultant-seo-besancon/assets/local/consultant-seo-besancon-card.webp?v=1" alt="Consultant SEO à Besançon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Doubs</span><div class="cc-name">Besançon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-beziers/"><img src="https://www.vincenthego.com/consultant-seo-beziers/assets/local/consultant-seo-beziers-card.webp?v=1" alt="Consultant SEO à Béziers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hérault</span><div class="cc-name">Béziers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-biarritz/"><img src="https://www.vincenthego.com/consultant-seo-biarritz/assets/local/consultant-seo-biarritz-card.webp?v=1" alt="Consultant SEO à Biarritz" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Atlantiques</span><div class="cc-name">Biarritz</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-blois/"><img src="https://www.vincenthego.com/consultant-seo-blois/assets/local/consultant-seo-blois-card.webp?v=1" alt="Consultant SEO à Blois" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loir-et-Cher</span><div class="cc-name">Blois</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bordeaux/"><img src="https://www.vincenthego.com/consultant-seo-bordeaux/assets/local/bordeaux-card.webp" alt="Consultant SEO à Bordeaux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gironde</span><div class="cc-name">Bordeaux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-boulogne-billancourt/"><img src="https://www.vincenthego.com/consultant-seo-boulogne-billancourt/assets/local/consultant-seo-boulogne-billancourt-card.webp?v=1" alt="Consultant SEO à Boulogne-Billancourt" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hauts-de-Seine</span><div class="cc-name">Boulogne-Billancourt</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-boulogne-sur-mer/"><img src="https://www.vincenthego.com/consultant-seo-boulogne-sur-mer/assets/local/consultant-seo-boulogne-sur-mer-card.webp?v=1" alt="Consultant SEO à Boulogne-sur-Mer" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Boulogne-sur-Mer</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bourg-en-bresse/"><img src="https://www.vincenthego.com/consultant-seo-bourg-en-bresse/assets/local/consultant-seo-bourg-en-bresse-card.webp?v=1" alt="Consultant SEO à Bourg-en-Bresse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ain</span><div class="cc-name">Bourg-en-Bresse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bourges/"><img src="https://www.vincenthego.com/consultant-seo-bourges/assets/local/consultant-seo-bourges-card.webp?v=1" alt="Consultant SEO à Bourges" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Cher</span><div class="cc-name">Bourges</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-bourgoin-jallieu/"><img src="https://www.vincenthego.com/consultant-seo-bourgoin-jallieu/assets/local/consultant-seo-bourgoin-jallieu-card.webp?v=1" alt="Consultant SEO à Bourgoin-Jallieu" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Isère</span><div class="cc-name">Bourgoin-Jallieu</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-brest/"><img src="https://www.vincenthego.com/consultant-seo-brest/assets/local/brest-card.webp?v=2" alt="Consultant SEO à Brest" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Finistère</span><div class="cc-name">Brest</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-brive-la-gaillarde/"><img src="https://www.vincenthego.com/consultant-seo-brive-la-gaillarde/assets/local/consultant-seo-brive-la-gaillarde-card.webp?v=1" alt="Consultant SEO à Brive-la-Gaillarde" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Corrèze</span><div class="cc-name">Brive-la-Gaillarde</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-caen/"><img src="https://www.vincenthego.com/consultant-seo-caen/assets/local/caen-card.webp?v=1" alt="Consultant SEO à Caen" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Calvados</span><div class="cc-name">Caen</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-calais/"><img src="https://www.vincenthego.com/consultant-seo-calais/assets/local/consultant-seo-calais-card.webp?v=1" alt="Consultant SEO à Calais" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Calais</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cambrai/"><img src="https://www.vincenthego.com/consultant-seo-cambrai/assets/local/consultant-seo-cambrai-card.webp?v=1" alt="Consultant SEO à Cambrai" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Cambrai</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cannes/"><img src="https://www.vincenthego.com/consultant-seo-cannes/assets/local/consultant-seo-cannes-card.webp?v=1" alt="Consultant SEO à Cannes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Cannes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-carcassonne/"><img src="https://www.vincenthego.com/consultant-seo-carcassonne/assets/local/consultant-seo-carcassonne-card.webp?v=1" alt="Consultant SEO à Carcassonne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aude</span><div class="cc-name">Carcassonne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-castres/"><img src="https://www.vincenthego.com/consultant-seo-castres/assets/local/consultant-seo-castres-card.webp?v=1" alt="Consultant SEO à Castres" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Tarn</span><div class="cc-name">Castres</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cergy/"><img src="https://www.vincenthego.com/consultant-seo-cergy/assets/local/consultant-seo-cergy-card.webp?v=1" alt="Consultant SEO à Cergy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Val-d'Oise</span><div class="cc-name">Cergy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chalon-sur-saone/"><img src="https://www.vincenthego.com/consultant-seo-chalon-sur-saone/assets/local/consultant-seo-chalon-sur-saone-card.webp?v=1" alt="Consultant SEO à Chalon-sur-Saône" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Saône-et-Loire</span><div class="cc-name">Chalon-sur-Saône</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chalons-en-champagne/"><img src="https://www.vincenthego.com/consultant-seo-chalons-en-champagne/assets/local/consultant-seo-chalons-en-champagne-card.webp?v=1" alt="Consultant SEO à Châlons-en-Champagne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Marne</span><div class="cc-name">Châlons-en-Champagne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chambery/"><img src="https://www.vincenthego.com/consultant-seo-chambery/assets/local/consultant-seo-chambery-card.webp?v=1" alt="Consultant SEO à Chambéry" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Savoie</span><div class="cc-name">Chambéry</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-charleville-mezieres/"><img src="https://www.vincenthego.com/consultant-seo-charleville-mezieres/assets/local/consultant-seo-charleville-mezieres-card.webp?v=1" alt="Consultant SEO à Charleville-Mézières" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ardennes</span><div class="cc-name">Charleville-Mézières</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chartres/"><img src="https://www.vincenthego.com/consultant-seo-chartres/assets/local/consultant-seo-chartres-card.webp?v=1" alt="Consultant SEO à Chartres" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Eure-et-Loir</span><div class="cc-name">Chartres</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-chateauroux/"><img src="https://www.vincenthego.com/consultant-seo-chateauroux/assets/local/consultant-seo-chateauroux-card.webp?v=1" alt="Consultant SEO à Châteauroux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Indre</span><div class="cc-name">Châteauroux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cherbourg/"><img src="https://www.vincenthego.com/consultant-seo-cherbourg/assets/local/consultant-seo-cherbourg-card.webp?v=1" alt="Consultant SEO à Cherbourg" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Manche</span><div class="cc-name">Cherbourg</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-cholet/"><img src="https://www.vincenthego.com/consultant-seo-cholet/assets/local/consultant-seo-cholet-card.webp?v=1" alt="Consultant SEO à Cholet" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Maine-et-Loire</span><div class="cc-name">Cholet</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-clermont-ferrand/"><img src="https://www.vincenthego.com/consultant-seo-clermont-ferrand/assets/local/clermont-ferrand-card.webp" alt="Consultant SEO à Clermont-Ferrand" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Puy-de-Dôme</span><div class="cc-name">Clermont-Ferrand</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-colmar/"><img src="https://www.vincenthego.com/consultant-seo-colmar/assets/local/consultant-seo-colmar-card.webp?v=1" alt="Consultant SEO à Colmar" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haut-Rhin</span><div class="cc-name">Colmar</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-compiegne/"><img src="https://www.vincenthego.com/consultant-seo-compiegne/assets/local/consultant-seo-compiegne-card.webp?v=1" alt="Consultant SEO à Compiègne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Oise</span><div class="cc-name">Compiègne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-courbevoie/"><img src="https://www.vincenthego.com/consultant-seo-courbevoie/assets/local/consultant-seo-courbevoie-card.webp?v=1" alt="Consultant SEO à Courbevoie" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hauts-de-Seine</span><div class="cc-name">Courbevoie</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-creteil/"><img src="https://www.vincenthego.com/consultant-seo-creteil/assets/local/consultant-seo-creteil-card.webp?v=1" alt="Consultant SEO à Créteil" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Val-de-Marne</span><div class="cc-name">Créteil</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dieppe/"><img src="https://www.vincenthego.com/consultant-seo-dieppe/assets/local/consultant-seo-dieppe-card.webp?v=1" alt="Consultant SEO à Dieppe" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Maritime</span><div class="cc-name">Dieppe</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dijon/"><img src="https://www.vincenthego.com/consultant-seo-dijon/assets/local/dijon-card.webp" alt="Consultant SEO à Dijon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côte-d'Or</span><div class="cc-name">Dijon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dinan/"><img src="https://www.vincenthego.com/consultant-seo-dinan/assets/local/consultant-seo-dinan-card.webp?v=1" alt="Consultant SEO à Dinan" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côtes-d'Armor</span><div class="cc-name">Dinan</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-douai/"><img src="https://www.vincenthego.com/consultant-seo-douai/assets/local/consultant-seo-douai-card.webp?v=1" alt="Consultant SEO à Douai" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Douai</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-draguignan/"><img src="https://www.vincenthego.com/consultant-seo-draguignan/assets/local/consultant-seo-draguignan-card.webp?v=1" alt="Consultant SEO à Draguignan" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Draguignan</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-dunkerque/"><img src="https://www.vincenthego.com/consultant-seo-dunkerque/assets/local/consultant-seo-dunkerque-card.webp?v=1" alt="Consultant SEO à Dunkerque" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Dunkerque</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-evreux/"><img src="https://www.vincenthego.com/consultant-seo-evreux/assets/local/consultant-seo-evreux-card.webp?v=1" alt="Consultant SEO à Évreux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Eure</span><div class="cc-name">Évreux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-frejus/"><img src="https://www.vincenthego.com/consultant-seo-frejus/assets/local/consultant-seo-frejus-card.webp?v=1" alt="Consultant SEO à Fréjus" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Fréjus</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-gap/"><img src="https://www.vincenthego.com/consultant-seo-gap/assets/local/consultant-seo-gap-card.webp?v=1" alt="Consultant SEO à Gap" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hautes-Alpes</span><div class="cc-name">Gap</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-grasse/"><img src="https://www.vincenthego.com/consultant-seo-grasse/assets/local/consultant-seo-grasse-card.webp?v=1" alt="Consultant SEO à Grasse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Grasse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-grenoble/"><img src="https://www.vincenthego.com/consultant-seo-grenoble/assets/local/grenoble-card.webp?v=1" alt="Consultant SEO à Grenoble" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Isère</span><div class="cc-name">Grenoble</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-guingamp/"><img src="https://www.vincenthego.com/consultant-seo-guingamp/assets/local/consultant-seo-guingamp-card.webp?v=1" alt="Consultant SEO à Guingamp" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côtes-d'Armor</span><div class="cc-name">Guingamp</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-haguenau/"><img src="https://www.vincenthego.com/consultant-seo-haguenau/assets/local/consultant-seo-haguenau-card.webp?v=1" alt="Consultant SEO à Haguenau" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bas-Rhin</span><div class="cc-name">Haguenau</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-hyeres/"><img src="https://www.vincenthego.com/consultant-seo-hyeres/assets/local/consultant-seo-hyeres-card.webp?v=1" alt="Consultant SEO à Hyères" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Hyères</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-istres/"><img src="https://www.vincenthego.com/consultant-seo-istres/assets/local/consultant-seo-istres-card.webp?v=1" alt="Consultant SEO à Istres" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Istres</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-la-roche-sur-yon/"><img src="https://www.vincenthego.com/consultant-seo-la-roche-sur-yon/assets/local/consultant-seo-la-roche-sur-yon-card.webp?v=1" alt="Consultant SEO à La Roche-sur-Yon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vendée</span><div class="cc-name">La Roche-sur-Yon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-la-rochelle/"><img src="https://www.vincenthego.com/consultant-seo-la-rochelle/assets/local/consultant-seo-la-rochelle-card.webp?v=1" alt="Consultant SEO à La Rochelle" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Charente-Maritime</span><div class="cc-name">La Rochelle</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-la-seyne-sur-mer/"><img src="https://www.vincenthego.com/consultant-seo-la-seyne-sur-mer/assets/local/consultant-seo-la-seyne-sur-mer-card.webp?v=1" alt="Consultant SEO à La Seyne-sur-Mer" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">La Seyne-sur-Mer</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-laval/"><img src="https://www.vincenthego.com/consultant-seo-laval/assets/local/consultant-seo-laval-card.webp?v=1" alt="Consultant SEO à Laval" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Mayenne</span><div class="cc-name">Laval</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-le-havre/"><img src="https://www.vincenthego.com/consultant-seo-le-havre/assets/local/le-havre-card.webp" alt="Consultant SEO au Havre" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Maritime</span><div class="cc-name">Le Havre</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-le-mans/"><img src="https://www.vincenthego.com/consultant-seo-le-mans/assets/local/le-mans-card.webp" alt="Consultant SEO au Mans" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Sarthe</span><div class="cc-name">Le Mans</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-le-puy-en-velay/"><img src="https://www.vincenthego.com/consultant-seo-le-puy-en-velay/assets/local/consultant-seo-le-puy-en-velay-card.webp?v=1" alt="Consultant SEO au Puy-en-Velay" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Loire</span><div class="cc-name">Le Puy-en-Velay</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lens/"><img src="https://www.vincenthego.com/consultant-seo-lens/assets/local/consultant-seo-lens-card.webp?v=1" alt="Consultant SEO à Lens" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pas-de-Calais</span><div class="cc-name">Lens</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lille/"><img src="https://www.vincenthego.com/consultant-seo-lille/assets/local/lille-card.webp" alt="Consultant SEO à Lille" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Lille</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-limoges/"><img src="https://www.vincenthego.com/consultant-seo-limoges/assets/local/consultant-seo-limoges-card.webp?v=1" alt="Consultant SEO à Limoges" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Vienne</span><div class="cc-name">Limoges</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lisieux/"><img src="https://www.vincenthego.com/consultant-seo-lisieux/assets/local/consultant-seo-lisieux-card.webp?v=1" alt="Consultant SEO à Lisieux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Calvados</span><div class="cc-name">Lisieux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lorient/"><img src="https://www.vincenthego.com/consultant-seo-lorient/assets/local/consultant-seo-lorient-card.webp?v=1" alt="Consultant SEO à Lorient" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Morbihan</span><div class="cc-name">Lorient</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-lyon/"><img src="https://www.vincenthego.com/consultant-seo-lyon/assets/local/lyon-card.webp" alt="Consultant SEO à Lyon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Lyon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-macon/"><img src="https://www.vincenthego.com/consultant-seo-macon/assets/local/consultant-seo-macon-card.webp?v=1" alt="Consultant SEO à Mâcon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Saône-et-Loire</span><div class="cc-name">Mâcon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-marseille/"><img src="https://www.vincenthego.com/consultant-seo-marseille/assets/local/marseille-card.webp" alt="Consultant SEO à Marseille" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Marseille</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-martigues/"><img src="https://www.vincenthego.com/consultant-seo-martigues/assets/local/consultant-seo-martigues-card.webp?v=1" alt="Consultant SEO à Martigues" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Martigues</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-meaux/"><img src="https://www.vincenthego.com/consultant-seo-meaux/assets/local/consultant-seo-meaux-card.webp?v=1" alt="Consultant SEO à Meaux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-et-Marne</span><div class="cc-name">Meaux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-melun/"><img src="https://www.vincenthego.com/consultant-seo-melun/assets/local/consultant-seo-melun-card.webp?v=1" alt="Consultant SEO à Melun" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-et-Marne</span><div class="cc-name">Melun</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-menton/"><img src="https://www.vincenthego.com/consultant-seo-menton/assets/local/consultant-seo-menton-card.webp?v=1" alt="Consultant SEO à Menton" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Menton</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-merignac/"><img src="https://www.vincenthego.com/consultant-seo-merignac/assets/local/consultant-seo-merignac-card.webp?v=1" alt="Consultant SEO à Mérignac" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gironde</span><div class="cc-name">Mérignac</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-metz/"><img src="https://www.vincenthego.com/consultant-seo-metz/assets/local/metz-card.webp?v=2" alt="Consultant SEO à Metz" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Moselle</span><div class="cc-name">Metz</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montauban/"><img src="https://www.vincenthego.com/consultant-seo-montauban/assets/local/consultant-seo-montauban-card.webp?v=1" alt="Consultant SEO à Montauban" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Tarn-et-Garonne</span><div class="cc-name">Montauban</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montbeliard/"><img src="https://www.vincenthego.com/consultant-seo-montbeliard/assets/local/consultant-seo-montbeliard-card.webp?v=1" alt="Consultant SEO à Montbéliard" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Doubs</span><div class="cc-name">Montbéliard</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montelimar/"><img src="https://www.vincenthego.com/consultant-seo-montelimar/assets/local/consultant-seo-montelimar-card.webp?v=1" alt="Consultant SEO à Montélimar" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Drôme</span><div class="cc-name">Montélimar</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montlucon/"><img src="https://www.vincenthego.com/consultant-seo-montlucon/assets/local/consultant-seo-montlucon-card.webp?v=1" alt="Consultant SEO à Montluçon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Allier</span><div class="cc-name">Montluçon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-montpellier/"><img src="https://www.vincenthego.com/consultant-seo-montpellier/assets/local/montpellier-card.webp" alt="Consultant SEO à Montpellier" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hérault</span><div class="cc-name">Montpellier</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-morlaix/"><img src="https://www.vincenthego.com/consultant-seo-morlaix/assets/local/consultant-seo-morlaix-card.webp?v=1" alt="Consultant SEO à Morlaix" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Finistère</span><div class="cc-name">Morlaix</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-mulhouse/"><img src="https://www.vincenthego.com/consultant-seo-mulhouse/assets/local/consultant-seo-mulhouse-card.webp?v=1" alt="Consultant SEO à Mulhouse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haut-Rhin</span><div class="cc-name">Mulhouse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nancy/"><img src="https://www.vincenthego.com/consultant-seo-nancy/assets/local/nancy-card.webp?v=1" alt="Consultant SEO à Nancy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Meurthe-et-Moselle</span><div class="cc-name">Nancy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nanterre/"><img src="https://www.vincenthego.com/consultant-seo-nanterre/assets/local/consultant-seo-nanterre-card.webp?v=1" alt="Consultant SEO à Nanterre" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hauts-de-Seine</span><div class="cc-name">Nanterre</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nantes/"><img src="https://www.vincenthego.com/consultant-seo-nantes/assets/local/nantes-card.webp" alt="Consultant SEO à Nantes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire-Atlantique</span><div class="cc-name">Nantes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-narbonne/"><img src="https://www.vincenthego.com/consultant-seo-narbonne/assets/local/consultant-seo-narbonne-card.webp?v=1" alt="Consultant SEO à Narbonne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aude</span><div class="cc-name">Narbonne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nevers/"><img src="https://www.vincenthego.com/consultant-seo-nevers/assets/local/consultant-seo-nevers-card.webp?v=1" alt="Consultant SEO à Nevers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nièvre</span><div class="cc-name">Nevers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nice/"><img src="https://www.vincenthego.com/consultant-seo-nice/assets/local/nice-card.webp" alt="Consultant SEO à Nice" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Alpes-Maritimes</span><div class="cc-name">Nice</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-nimes/"><img src="https://www.vincenthego.com/consultant-seo-nimes/assets/local/consultant-seo-nimes-card.webp?v=1" alt="Consultant SEO à Nîmes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gard</span><div class="cc-name">Nîmes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-niort/"><img src="https://www.vincenthego.com/consultant-seo-niort/assets/local/consultant-seo-niort-card.webp?v=1" alt="Consultant SEO à Niort" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Deux-Sèvres</span><div class="cc-name">Niort</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-orange/"><img src="https://www.vincenthego.com/consultant-seo-orange/assets/local/consultant-seo-orange-card.webp?v=1" alt="Consultant SEO à Orange" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vaucluse</span><div class="cc-name">Orange</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-orleans/"><img src="https://www.vincenthego.com/consultant-seo-orleans/assets/local/consultant-seo-orleans-card.webp?v=1" alt="Consultant SEO à Orléans" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loiret</span><div class="cc-name">Orléans</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-paris/"><img src="https://www.vincenthego.com/consultant-seo-paris/assets/local/paris-card.webp" alt="Consultant SEO à Paris" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Île-de-France</span><div class="cc-name">Paris</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-pau/"><img src="https://www.vincenthego.com/consultant-seo-pau/assets/local/consultant-seo-pau-card.webp?v=1" alt="Consultant SEO à Pau" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Atlantiques</span><div class="cc-name">Pau</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-perigueux/"><img src="https://www.vincenthego.com/consultant-seo-perigueux/assets/local/consultant-seo-perigueux-card.webp?v=1" alt="Consultant SEO à Périgueux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Dordogne</span><div class="cc-name">Périgueux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-perpignan/"><img src="https://www.vincenthego.com/consultant-seo-perpignan/assets/local/consultant-seo-perpignan-card.webp?v=1" alt="Consultant SEO à Perpignan" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Pyrénées-Orientales</span><div class="cc-name">Perpignan</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-pessac/"><img src="https://www.vincenthego.com/consultant-seo-pessac/assets/local/consultant-seo-pessac-card.webp?v=1" alt="Consultant SEO à Pessac" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Gironde</span><div class="cc-name">Pessac</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-poitiers/"><img src="https://www.vincenthego.com/consultant-seo-poitiers/assets/local/consultant-seo-poitiers-card.webp?v=1" alt="Consultant SEO à Poitiers" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Vienne</span><div class="cc-name">Poitiers</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-quimper/"><img src="https://www.vincenthego.com/consultant-seo-quimper/assets/local/consultant-seo-quimper-card.webp?v=1" alt="Consultant SEO à Quimper" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Finistère</span><div class="cc-name">Quimper</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-reims/"><img src="https://www.vincenthego.com/consultant-seo-reims/assets/local/reims-card.webp" alt="Consultant SEO à Reims" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Marne</span><div class="cc-name">Reims</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-rennes/"><img src="https://www.vincenthego.com/consultant-seo-rennes/assets/local/rennes-card.webp" alt="Consultant SEO à Rennes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ille-et-Vilaine</span><div class="cc-name">Rennes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-roanne/"><img src="https://www.vincenthego.com/consultant-seo-roanne/assets/local/consultant-seo-roanne-card.webp?v=1" alt="Consultant SEO à Roanne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire</span><div class="cc-name">Roanne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-rodez/"><img src="https://www.vincenthego.com/consultant-seo-rodez/assets/local/consultant-seo-rodez-card.webp?v=1" alt="Consultant SEO à Rodez" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aveyron</span><div class="cc-name">Rodez</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-romans-sur-isere/"><img src="https://www.vincenthego.com/consultant-seo-romans-sur-isere/assets/local/consultant-seo-romans-sur-isere-card.webp?v=1" alt="Consultant SEO à Romans-sur-Isère" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Drôme</span><div class="cc-name">Romans-sur-Isère</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-roubaix/"><img src="https://www.vincenthego.com/consultant-seo-roubaix/assets/local/consultant-seo-roubaix-card.webp?v=1" alt="Consultant SEO à Roubaix" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Roubaix</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-rouen/"><img src="https://www.vincenthego.com/consultant-seo-rouen/assets/local/rouen-card.webp?v=1" alt="Consultant SEO à Rouen" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Maritime</span><div class="cc-name">Rouen</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-brieuc/"><img src="https://www.vincenthego.com/consultant-seo-saint-brieuc/assets/local/consultant-seo-saint-brieuc-card.webp?v=1" alt="Consultant SEO à Saint-Brieuc" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Côtes-d'Armor</span><div class="cc-name">Saint-Brieuc</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-denis/"><img src="https://www.vincenthego.com/consultant-seo-saint-denis/assets/local/consultant-seo-saint-denis-card.webp?v=1" alt="Consultant SEO à Saint-Denis" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Seine-Saint-Denis</span><div class="cc-name">Saint-Denis</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-etienne/"><img src="https://www.vincenthego.com/consultant-seo-saint-etienne/assets/local/saint-etienne-card.webp" alt="Consultant SEO à Saint-Étienne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire</span><div class="cc-name">Saint-Étienne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-malo/"><img src="https://www.vincenthego.com/consultant-seo-saint-malo/assets/local/consultant-seo-saint-malo-card.webp?v=1" alt="Consultant SEO à Saint-Malo" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Ille-et-Vilaine</span><div class="cc-name">Saint-Malo</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-nazaire/"><img src="https://www.vincenthego.com/consultant-seo-saint-nazaire/assets/local/consultant-seo-saint-nazaire-card.webp?v=1" alt="Consultant SEO à Saint-Nazaire" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Loire-Atlantique</span><div class="cc-name">Saint-Nazaire</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-saint-quentin/"><img src="https://www.vincenthego.com/consultant-seo-saint-quentin/assets/local/consultant-seo-saint-quentin-card.webp?v=1" alt="Consultant SEO à Saint-Quentin" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aisne</span><div class="cc-name">Saint-Quentin</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-salon-de-provence/"><img src="https://www.vincenthego.com/consultant-seo-salon-de-provence/assets/local/consultant-seo-salon-de-provence-card.webp?v=1" alt="Consultant SEO à Salon-de-Provence" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bouches-du-Rhône</span><div class="cc-name">Salon-de-Provence</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-sete/"><img src="https://www.vincenthego.com/consultant-seo-sete/assets/local/consultant-seo-sete-card.webp?v=1" alt="Consultant SEO à Sète" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hérault</span><div class="cc-name">Sète</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-strasbourg/"><img src="https://www.vincenthego.com/consultant-seo-strasbourg/assets/local/strasbourg-card.webp?v=1" alt="Consultant SEO à Strasbourg" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Bas-Rhin</span><div class="cc-name">Strasbourg</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-tarbes/"><img src="https://www.vincenthego.com/consultant-seo-tarbes/assets/local/consultant-seo-tarbes-card.webp?v=1" alt="Consultant SEO à Tarbes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Hautes-Pyrénées</span><div class="cc-name">Tarbes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-thionville/"><img src="https://www.vincenthego.com/consultant-seo-thionville/assets/local/consultant-seo-thionville-card.webp?v=1" alt="Consultant SEO à Thionville" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Moselle</span><div class="cc-name">Thionville</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-thonon-les-bains/"><img src="https://www.vincenthego.com/consultant-seo-thonon-les-bains/assets/local/consultant-seo-thonon-les-bains-card.webp?v=1" alt="Consultant SEO à Thonon-les-Bains" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Savoie</span><div class="cc-name">Thonon-les-Bains</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-toulon/"><img src="https://www.vincenthego.com/consultant-seo-toulon/assets/local/toulon-card.webp?v=1" alt="Consultant SEO à Toulon" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Var</span><div class="cc-name">Toulon</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-toulouse/"><img src="https://www.vincenthego.com/consultant-seo-toulouse/assets/local/toulouse-card.webp" alt="Consultant SEO à Toulouse" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Haute-Garonne</span><div class="cc-name">Toulouse</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-tourcoing/"><img src="https://www.vincenthego.com/consultant-seo-tourcoing/assets/local/consultant-seo-tourcoing-card.webp?v=1" alt="Consultant SEO à Tourcoing" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Tourcoing</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-tours/"><img src="https://www.vincenthego.com/consultant-seo-tours/assets/local/tours-card.webp?v=1" alt="Consultant SEO à Tours" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Indre-et-Loire</span><div class="cc-name">Tours</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-troyes/"><img src="https://www.vincenthego.com/consultant-seo-troyes/assets/local/consultant-seo-troyes-card.webp?v=1" alt="Consultant SEO à Troyes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Aube</span><div class="cc-name">Troyes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-valence/"><img src="https://www.vincenthego.com/consultant-seo-valence/assets/local/consultant-seo-valence-card.webp?v=1" alt="Consultant SEO à Valence" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Drôme</span><div class="cc-name">Valence</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-valenciennes/"><img src="https://www.vincenthego.com/consultant-seo-valenciennes/assets/local/consultant-seo-valenciennes-card.webp?v=1" alt="Consultant SEO à Valenciennes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Nord</span><div class="cc-name">Valenciennes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-vannes/"><img src="https://www.vincenthego.com/consultant-seo-vannes/assets/local/consultant-seo-vannes-card.webp?v=1" alt="Consultant SEO à Vannes" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Morbihan</span><div class="cc-name">Vannes</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-venissieux/"><img src="https://www.vincenthego.com/consultant-seo-venissieux/assets/local/consultant-seo-venissieux-card.webp?v=1" alt="Consultant SEO à Vénissieux" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Vénissieux</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-versailles/"><img src="https://www.vincenthego.com/consultant-seo-versailles/assets/local/consultant-seo-versailles-card.webp?v=1" alt="Consultant SEO à Versailles" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Yvelines</span><div class="cc-name">Versailles</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-vichy/"><img src="https://www.vincenthego.com/consultant-seo-vichy/assets/local/consultant-seo-vichy-card.webp?v=1" alt="Consultant SEO à Vichy" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Allier</span><div class="cc-name">Vichy</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-vienne/"><img src="https://www.vincenthego.com/consultant-seo-vienne/assets/local/consultant-seo-vienne-card.webp?v=1" alt="Consultant SEO à Vienne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Isère</span><div class="cc-name">Vienne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-villefranche-sur-saone/"><img src="https://www.vincenthego.com/consultant-seo-villefranche-sur-saone/assets/local/consultant-seo-villefranche-sur-saone-card.webp?v=1" alt="Consultant SEO à Villefranche-sur-Saône" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Villefranche-sur-Saône</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a><a class="city-card" href="https://www.vincenthego.com/consultant-seo-villeurbanne/"><img src="https://www.vincenthego.com/consultant-seo-villeurbanne/assets/local/consultant-seo-villeurbanne-card.webp" alt="Consultant SEO à Villeurbanne" loading="lazy" decoding="async" width="262" height="344"><div class="cc-body"><span class="cc-kick">Rhône</span><div class="cc-name">Villeurbanne</div><div class="cc-sub">Consultant SEO <svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg></div></div></a></div></div>
</section>
<script>(function(){if(!('IntersectionObserver' in window))return;var io=new IntersectionObserver(function(es){es.forEach(function(e){var t=e.target.querySelector('.cm-track');if(t){t.style.animationPlayState=e.isIntersecting?'':'paused';}});},{threshold:0});document.querySelectorAll('.cities-marquee').forEach(function(m){io.observe(m);});})();</script>
<!-- SOURCES & RÉFÉRENCES (E-E-A-T) -->
<section class="sec-sources">
<div class="wrap">
<p class="sources-title">Sources & références</p>
<ul>
<li><a href="https://developers.google.com/search/docs/fundamentals/seo-starter-guide?hl=fr" target="_blank" rel="noopener"><img class="src-fav" src="/assets/favicons/google.png" alt="Logo Google" width="32" height="32" loading="lazy" decoding="async">Google Search Central | Guide de démarrage SEO</a></li>
<li><a href="https://backlinko.com/google-ctr-stats" target="_blank" rel="noopener"><img class="src-fav" src="/assets/favicons/backlinko.png" alt="Logo Backlinko" width="32" height="32" loading="lazy" decoding="async">Backlinko | Taux de clic par position sur Google</a></li>
<li><a href="https://search.google.com/search-console/about?hl=fr" target="_blank" rel="noopener"><img class="src-fav" src="/assets/favicons/google-search.png" alt="Logo Google Search Console" width="32" height="32" loading="lazy" decoding="async">Google Search Console | Suivi des performances</a></li>
<li><a href="https://fr.wikipedia.org/wiki/Optimisation_pour_les_moteurs_de_recherche" target="_blank" rel="noopener"><img class="src-fav" src="/assets/favicons/wikipedia.png" alt="Logo Wikipédia" width="32" height="32" loading="lazy" decoding="async">Wikipédia | Optimisation pour les moteurs de recherche (SEO)</a></li>
</ul><p style="text-align:center;color:var(--muted);font-size:.8rem;line-height:1.6;max-width:820px;margin:22px auto 0">Crédits photos : <a href="https://commons.wikimedia.org/wiki/File:Epinal_Centre_Nuit.jpg" rel="nofollow noopener" target="_blank" style="color:var(--muted);text-decoration:underline">ArKaNuM</a> (CC BY-SA 3.0) · <a href="https://commons.wikimedia.org/wiki/File:4-rose-poirier.jpg" rel="nofollow noopener" target="_blank" style="color:var(--muted);text-decoration:underline">Vosges matin</a> (CC BY-SA 4.0) · <a href="https://commons.wikimedia.org/wiki/File:Centre_ville.jpg" rel="nofollow noopener" target="_blank" style="color:var(--muted);text-decoration:underline">ArKaNuM</a> (CC BY-SA 3.0)</p>
<div class="src-author"><div class="foot-author">
<img class="foot-photo" src="/assets/brand/vincent-rond.webp" alt="Vincent Hégo, consultant SEO" loading="lazy"/>
<div>
<div class="foot-name">Vincent Hégo</div>
<div class="foot-role">Consultant SEO | Expert SEO depuis 2016 | CEO VH DIGITAL CORP</div>
<p class="foot-bio">Consultant SEO indépendant depuis 2016, j'accompagne en direct des entreprises et des SaaS comme Waalaxy, MarkCopy, Bricks ou Bosch. Objectif : faire de Google leur canal de clients le plus rentable. Plus de 1000 clients accompagnés, +300 000 visiteurs/mois générés.</p>
</div>
</div></div>
</div>
</section>
<style id="vh-foot-social">
.foot-social{margin-top:18px;display:flex;flex-direction:column;gap:8px;max-width:250px}
.foot-social a{color:#fff;display:flex;align-items:center;gap:10px;font-weight:700;font-size:.92rem;padding:11px 15px;border-radius:11px;transition:transform .2s var(--ease),filter .2s var(--ease)}
.foot-social a svg:first-child{width:20px;height:20px;fill:#fff;flex:0 0 auto}
.foot-social a .arr{margin-left:auto;width:15px;height:15px;stroke:#fff;fill:none;flex:0 0 auto;transition:transform .2s var(--ease)}
.fs-wa{background:#075e54}
.fs-li{background:#0a66c2}
.fs-yt{background:#cc0000}
.foot-social a:hover{transform:translateY(-2px);filter:brightness(1.05)}
.fs-wa:hover .arr{transform:translateX(3px)}
</style>
</main>
<!-- WIDGET ETRE RAPPELE (VH DIGITAL CORP) -->
<link rel="stylesheet" href="/assets/vh-rappel.css?v=2">
<style id="vhcb-style">
.vhcb-sec{padding:44px 0;font-family:'Gilroy','Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
/* Harmonise l'espace au-dessus de l'encart quand il suit le bloc bio "Sources & Références"
(qui a 62px de padding-bas) : on remonte l'encart pour equilibrer avec l'espace du dessous. */
body:has(.sec-sources) .vhcb-sec{margin-top:-54px}
@media(max-width:720px){body:has(.sec-sources) .vhcb-sec{margin-top:-58px}}
.vhcb-wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 24px;box-sizing:border-box}
.vhcb-card{position:relative;max-width:900px;margin:0 auto;background:radial-gradient(120% 140% at 0% 0%,#fff 0%,#fbfaff 60%,#f7f6fd 100%);border:1px solid #ece9f6;border-radius:24px;box-shadow:0 1px 2px rgba(20,16,60,.04),0 26px 60px -26px rgba(20,16,60,.30);padding:30px 34px;display:flex;align-items:center;gap:36px;flex-wrap:wrap;box-sizing:border-box}
.vhcb-card *{box-sizing:border-box}
.vhcb-card::before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(130deg,rgba(240,88,32,.35),rgba(240,88,32,0) 42%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.vhcb-left{position:relative;display:flex;align-items:flex-start;gap:18px;flex:1 1 330px;min-width:0}
.vhcb-ic{flex:0 0 auto;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#f05820,#ff7c4d);box-shadow:0 12px 26px -8px rgba(240,88,32,.55),inset 0 1px 0 rgba(255,255,255,.35)}
.vhcb-ic svg{width:27px;height:27px;stroke:#fff;fill:none}
.vhcb-txt{min-width:0}
.vhcb-txt h3{font-size:1.28rem;color:#1c1962;font-weight:800;letter-spacing:-.4px;line-height:1.18;margin:2px 0 0;text-wrap:balance}
.vhcb-txt p{color:#565372;font-size:.96rem;margin:7px 0 0;line-height:1.5;max-width:42ch}
.vhcb-meta{margin:14px 0 0;font-size:.82rem;color:#78768c;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vhcb-meta .vhcb-sep{width:4px;height:4px;border-radius:50%;background:#cfccdd}
.vhcb-meta a{color:#c2410c;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(194,65,12,.28)}
.vhcb-meta a:hover{border-bottom-color:#c2410c}
.vhcb-form{position:relative;flex:1 1 300px;margin:0;min-width:0}
.vhcb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vhcb-input{width:100%;padding:15px 17px;border:1.5px solid #e2e0ee;border-radius:14px;font-family:inherit;font-size:1rem;color:#15131f;background:#fff;transition:border-color .2s,box-shadow .2s}
.vhcb-input::placeholder{color:#8a879c}
.vhcb-input:focus{outline:none;border-color:#f05820;box-shadow:0 0 0 4px rgba(240,88,32,.13)}
.vhcb-btn{width:100%;margin-top:11px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 22px;border:none;border-radius:14px;cursor:pointer;font-family:inherit;font-weight:800;font-size:1.02rem;color:#fff;background:linear-gradient(135deg,#f05820,#ff7c4d);box-shadow:0 14px 30px -10px rgba(240,88,32,.6);transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .25s,filter .2s;position:relative;overflow:hidden}
.vhcb-btn::after{content:"";position:absolute;top:-40%;left:-70%;width:40%;height:200%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .6s cubic-bezier(.22,1,.36,1)}
.vhcb-btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px -10px rgba(240,88,32,.7)}
.vhcb-btn:hover::after{left:130%}
.vhcb-btn:active{transform:translateY(0)}
.vhcb-btn:disabled{opacity:.85;cursor:default;transform:none}
.vhcb-btn svg{width:18px;height:18px;transition:transform .25s}
.vhcb-btn:hover svg{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.vhcb-btn::after{display:none}.vhcb-btn,.vhcb-btn svg,.vhcb-input{transition:none}}
@media(max-width:720px){.vhcb-card{gap:22px;padding:26px 24px}.vhcb-left,.vhcb-form{flex:1 1 100%}.vhcb-txt p{max-width:none}}
@media(max-width:440px){.vhcb-card{padding:24px 20px;gap:18px}.vhcb-left{gap:14px}.vhcb-ic{width:48px;height:48px;border-radius:14px}.vhcb-ic svg{width:23px;height:23px}.vhcb-txt h3{font-size:1.14rem}}
/* Portrait + pastille téléphone à la place du pictogramme : on met un
visage, pas une icône de plus. Ces règles closent le bloc pour passer
devant `.vhcb-ic` et sa media query. */
.vhcb-ic{position:relative;width:56px;height:56px;border-radius:50%;background:none;box-shadow:none;display:block;overflow:visible}
.vhcb-face{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:2px solid #fff;box-shadow:0 10px 22px -8px rgba(28,25,98,.5)}
.vhcb-tel{position:absolute;right:-4px;bottom:-4px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f05820,#ff7c4d);border:2px solid #fff;box-shadow:0 5px 12px -4px rgba(240,88,32,.75)}
.vhcb-ic .vhcb-tel svg{width:12px;height:12px;stroke:#fff;fill:none}
@media (max-width:440px){.vhcb-ic{width:52px;height:52px;border-radius:50%}
.vhcb-tel{width:23px;height:23px}.vhcb-ic .vhcb-tel svg{width:11px;height:11px}}
</style>
<section class="vhcb-sec" id="rappel">
<div class="vhcb-wrap">
<div class="vhcb-card">
<div class="vhcb-left">
<div class="vhcb-ic"><img class="vhcb-face" src="/assets/brand/vincent-rond.webp" alt="Vincent Hégo, consultant SEO" width="56" height="56" loading="lazy" decoding="async"><span class="vhcb-tel" aria-hidden="true"><svg viewbox="0 0 24 24" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.7a2 2 0 0 1-.5 2.1L8 9.6a16 16 0 0 0 6 6l1.1-1.1a2 2 0 0 1 2.1-.5c.9.3 1.8.5 2.7.6a2 2 0 0 1 1.7 2z"/></svg></span></div>
<div class="vhcb-txt">
<h3>Vous préférez qu'on vous rappelle ?</h3>
<p>Laissez votre numéro : je vous rappelle personnellement pour en discuter de vive voix.</p>
<div class="vhcb-meta"><span>🔒 Zéro spam</span><span class="vhcb-sep" aria-hidden="true"></span><span>Vous préférez écrire ? <a href="https://www.vincenthego.com/contact/">Le formulaire de contact →</a></span></div>
</div>
</div>
<form class="vhcb-form" id="vhcb-form" data-vhr novalidate>
<div class="vhcb-hp" aria-hidden="true"><label>Ne pas remplir<input type="text" name="_gotcha" tabindex="-1" autocomplete="off"></label></div>
<div data-vhr-fields>
<input class="vhcb-input" id="vhcb-tel" data-vhr-phone name="tel" type="tel" inputmode="tel" autocomplete="tel" placeholder="Votre numéro de téléphone" aria-label="Votre numéro de téléphone">
<div class="vhr-name" data-vhr-name><input type="text" name="prenom" autocomplete="given-name" placeholder="Votre prénom" aria-label="Votre prénom"></div>
<button type="submit" class="vhcb-btn" id="vhcb-submit">Être rappelé
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
</button>
</div>
<div class="vhcb-status" data-vhr-status role="alert" aria-live="polite"></div>
</form>
</div>
</div>
</section>
<script src="/assets/vh-rappel.js?v=3" defer></script>
<!-- /WIDGET ETRE RAPPELE -->
<footer>
<div class="wrap foot-grid">
<nav class="foot-col" aria-label="Prestations SEO">
<h3>Prestations</h3>
<a href="https://www.vincenthego.com/accompagnement-seo/">Accompagnement SEO</a>
<a href="https://www.vincenthego.com/consultant-seo-france/" class="foot-line">Consultant SEO France</a> <div class="foot-cities"><a href="https://www.vincenthego.com/consultant-seo-montpellier/">Montpellier</a>
<a href="https://www.vincenthego.com/consultant-seo-lyon/">Lyon</a>
<a href="https://www.vincenthego.com/consultant-seo-paris/">Paris</a>
<a href="https://www.vincenthego.com/consultant-seo-toulouse/">Toulouse</a>
<a href="https://www.vincenthego.com/consultant-seo-nantes/">Nantes</a>
<a href="https://www.vincenthego.com/consultant-seo-bordeaux/">Bordeaux</a>
<a href="https://www.vincenthego.com/consultant-seo-marseille/">Marseille</a>
<a href="https://www.vincenthego.com/consultant-seo-lille/">Lille</a>
<a href="https://www.vincenthego.com/consultant-seo-rennes/">Rennes</a>
<a href="https://www.vincenthego.com/consultant-seo-nice/">Nice</a><a href="https://www.vincenthego.com/consultant-seo-rouen/">Rouen</a><a href="https://www.vincenthego.com/consultant-seo-strasbourg/">Strasbourg</a><a href="https://www.vincenthego.com/consultant-seo-angers/">Angers</a><a href="https://www.vincenthego.com/consultant-seo-caen/">Caen</a><a href="https://www.vincenthego.com/consultant-seo-tours/">Tours</a><a href="https://www.vincenthego.com/consultant-seo-grenoble/">Grenoble</a><a href="https://www.vincenthego.com/consultant-seo-annecy/">Annecy</a><a href="https://www.vincenthego.com/consultant-seo-toulon/">Toulon</a><a href="https://www.vincenthego.com/consultant-seo-nancy/">Nancy</a><a href="https://www.vincenthego.com/consultant-seo-aix-en-provence/">Aix-en-Provence</a></div>
</nav>
<nav class="foot-col" aria-label="Services SEO">
<h3>Services</h3>
<a href="https://www.vincenthego.com/consultant-seo/">Consultant SEO</a>
<a href="https://www.vincenthego.com/agence-seo/">Agence SEO</a>
<a href="https://www.vincenthego.com/audit-seo/">Audit SEO</a>
<a href="https://www.vincenthego.com/agence-netlinking/">Agence netlinking</a>
<a href="https://www.vincenthego.com/seo-local/">SEO local</a>
<a href="https://www.vincenthego.com/agence-geo/">Agence GEO</a>
<a href="https://www.vincenthego.com/creation-site-internet/">Création de site internet</a>
<a href="https://www.vincenthego.com/refonte-site-internet/">Refonte de site internet</a>
<a href="https://www.vincenthego.com/freelance-wordpress/">Freelance WordPress</a>
<a href="https://www.vincenthego.com/coaching-seo/">Coaching SEO</a>
</nav>
<nav class="foot-col" aria-label="Découvrir">
<h3>Découvrir</h3>
<a href="https://www.vincenthego.com/blog/">Blog SEO</a>
<a href="https://www.vincenthego.com/mon-histoire/">Mon histoire</a>
<a href="https://www.vincenthego.com/avis/">Avis clients</a>
<a href="https://formation.vincenthego.com/rankflow-seo" target="_blank" rel="noopener">RankFlow SEO (extension)</a>
<a href="https://www.vincenthego.com/blueprint-seo-saas/">Ma méthode Blueprint SEO</a>
<a href="https://www.vincenthego.com/outils-seo/">Outils SEO gratuits</a>
<a href="https://formation.vincenthego.com/" target="_blank" rel="noopener">La formation SEO</a>
<a href="https://www.vincenthego.com/les-mentions-legales/">Mentions légales</a>
<a href="https://www.vincenthego.com/plan-du-site/">Plan du site</a>
<a href="https://www.vincenthego.com/politique-de-confidentialite/">Politique de confidentialité</a>
</nav>
<div class="foot-col">
<h3>Me contacter</h3>
<a href="https://www.vincenthego.com/contact/">Formulaire de contact</a>
<a href="mailto:bonjour@vincenthego.com">bonjour@vincenthego.com</a>
<a href="https://www.vincenthego.com/appel/">Lancer mon diagnostic SEO</a>
<div class="foot-social">
<a class="fs-wa" href="https://wa.me/33756856634" target="_blank" rel="noopener" aria-label="WhatsApp"><svg viewbox="0 0 24 24" aria-hidden="true"><path d="M17.5 14.4c-.3-.15-1.7-.85-2-.95-.25-.1-.45-.15-.6.15-.2.3-.7.95-.85 1.1-.15.2-.3.2-.6.05-.3-.15-1.25-.45-2.4-1.5-.9-.8-1.5-1.75-1.65-2.05-.15-.3 0-.45.15-.6.15-.15.3-.35.45-.55.15-.2.2-.3.3-.5.1-.2.05-.4-.05-.55-.1-.15-.6-1.45-.85-2-.2-.5-.4-.45-.6-.45h-.5c-.2 0-.5.05-.75.35-.25.3-1 .95-1 2.35s1.05 2.7 1.2 2.9c.15.2 2.05 3.15 5 4.4.7.3 1.25.5 1.65.65.7.2 1.35.2 1.85.1.55-.05 1.7-.7 1.95-1.35.25-.65.25-1.2.15-1.35-.1-.1-.3-.15-.6-.3zM12 2a10 10 0 0 0-8.5 15.3L2 22l4.8-1.5A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.15l-.3-.18-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2z"/></svg>WhatsApp<svg class="arr" viewbox="0 0 24 24" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></a>
<a class="fs-li" href="https://www.linkedin.com/in/vincent-hego/" target="_blank" rel="noopener" aria-label="LinkedIn"><svg viewbox="0 0 24 24" aria-hidden="true"><path d="M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.5 8h4V24h-4V8zm7.5 0h3.8v2.2h.05c.53-1 1.83-2.2 3.77-2.2 4.03 0 4.78 2.65 4.78 6.1V24h-4v-7.1c0-1.7-.03-3.9-2.37-3.9-2.38 0-2.74 1.85-2.74 3.77V24h-4V8z"/></svg>LinkedIn</a>
<a class="fs-yt" href="https://www.youtube.com/@vincenthego" target="_blank" rel="noopener" aria-label="YouTube"><svg viewbox="0 0 24 24" aria-hidden="true"><path d="M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.4.6A3 3 0 0 0 .5 6.2 31 31 0 0 0 0 12a31 31 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.6 9.4.6 9.4.6s7.5 0 9.4-.6a3 3 0 0 0 2.1-2.1A31 31 0 0 0 24 12a31 31 0 0 0-.5-5.8zM9.6 15.6V8.4l6.2 3.6-6.2 3.6z"/></svg>YouTube</a>
</div>
</div>
</div>
<div class="wrap foot-bottom">
<img class="foot-logo" src="/assets/brand/logo-vh-couleur.webp" alt="Vincent Hégo" loading="lazy"/>
© <span id="yr"></span> VH DIGITAL CORP | Vincent Hégo, consultant SEO à Épinal, en direct partout en France. <span style="opacity:.85">Page mise à jour le <time datetime="2026-07-27">27 juillet 2026</time>.</span>
</div>
</footer>
<div class="sticky-cta"><a class="btn btn-primary" href="#diagnostic" data-rfd-cta>Parler à votre consultant SEO</a></div>
<!-- Widget diagnostic : styles scopés #rfd-root -->
<style>
#rfd-root{--o:#f05820;--o2:#ff7a4a;--m:#1c1962;--line:#e9e7f0;--muted:#5b5870;font-family:'Gilroy','Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--m);max-width:760px;margin:0 auto;width:100%;line-height:1.5;box-sizing:border-box;text-align:center;background:transparent!important}
#rfd-root *{box-sizing:border-box!important;font-family:inherit;text-indent:0}
#rfd-step-form,#rfd-step-scan,#rfd-step-quiz,#rfd-step-done,#rfd-step-findings,#rfd-step-email{scroll-margin-top:96px}
@media(max-width:720px){#rfd-step-form,#rfd-step-scan,#rfd-step-quiz,#rfd-step-done,#rfd-step-findings,#rfd-step-email{scroll-margin-top:76px}}
#rfd-root .rfd-title,#rfd-root .rfd-sub,#rfd-root .rfd-trust,#rfd-root .rfd-scanhost,#rfd-root .rfd-progress-label,#rfd-root .rfd-checklist li,#rfd-root .rfd-done-badge,#rfd-root .rfd-btn{text-transform:none!important;letter-spacing:normal}
#rfd-root .rfd-card{background:#fff!important;border:1px solid #e2e0ee!important;border-radius:22px!important;padding:38px 34px!important;box-shadow:0 4px 14px rgba(20,16,60,.06),0 24px 60px rgba(20,16,60,.10)!important;text-align:center!important;width:100%!important;margin:0!important;overflow:hidden!important}
#rfd-root .rfd-hidden{display:none!important}
#rfd-root .rfd-eyebrow{display:inline-block;background:rgba(240,88,32,.1);color:var(--o);font-weight:700;font-size:.76rem;letter-spacing:2px!important;text-transform:uppercase!important;padding:7px 15px;border-radius:999px;margin:0 0 16px}
#rfd-root .rfd-title{font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.15;margin:0 0 10px;color:var(--m)!important;font-weight:800;letter-spacing:-.4px!important}
#rfd-root .rfd-sub{font-size:1.02rem;color:var(--muted)!important;margin:0 auto 24px;max-width:480px;line-height:1.55}
#rfd-root .rfd-fields{display:flex!important;flex-direction:column;gap:12px;margin:0 0 14px;padding:0}
#rfd-root .rfd-fields input{width:100%!important;padding:16px 17px!important;border:1.5px solid #d9d9e6!important;border-radius:14px!important;font-size:1rem!important;font-family:inherit!important;color:var(--m)!important;background:#fff!important;-webkit-appearance:none;appearance:none;box-shadow:none;transition:border-color .18s,box-shadow .18s;animation:rfd-fieldpulse 2.8s ease-in-out infinite}
#rfd-root .rfd-fields input::placeholder{color:#a7a7bd;opacity:1}
#rfd-root .rfd-fields input:hover{border-color:var(--o)!important}
#rfd-root .rfd-fields input:focus{outline:none!important;border-color:var(--o)!important;box-shadow:0 0 0 4px rgba(240,88,32,.16)!important;animation:none}
#rfd-root .rfd-btn{position:relative;display:block!important;width:100%!important;background:linear-gradient(135deg,var(--o),var(--o2))!important;color:#fff!important;border:none!important;border-radius:14px!important;padding:17px!important;margin:0!important;font-size:1.06rem!important;font-weight:700!important;font-family:inherit!important;line-height:1.2!important;text-shadow:none!important;-webkit-appearance:none;appearance:none;cursor:pointer;white-space:nowrap;box-shadow:0 10px 26px rgba(240,88,32,.30)!important;transition:transform .12s,filter .15s,box-shadow .3s}
#rfd-root .rfd-btn:hover{filter:brightness(.97);transform:translateY(-2px);box-shadow:0 16px 36px rgba(240,88,32,.40)!important}
#rfd-root .rfd-btn:disabled{opacity:.85;cursor:default;transform:none}
#rfd-root .rfd-btn-txt{color:#fff!important}
#rfd-root .rfd-btn-spin{display:none;width:19px;height:19px;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:rfd-rot .7s linear infinite;vertical-align:middle}
#rfd-root .rfd-btn.is-loading .rfd-btn-txt{display:none}
#rfd-root .rfd-btn.is-loading .rfd-btn-spin{display:inline-block}
#rfd-root .rfd-err{color:#c0392b;font-size:.88rem;margin:10px 0 0;min-height:16px;line-height:1.4}
#rfd-root .rfd-trust{font-size:.86rem;color:#8a8aa0;margin:15px 0 0;white-space:nowrap}
#rfd-root .rfd-scanhost{display:inline-flex!important;align-items:center;gap:8px;max-width:100%;width:auto!important;background:rgba(28,25,98,.06);color:var(--m);font-weight:600;font-size:.9rem;padding:8px 15px;border-radius:999px;margin:2px auto 22px;white-space:nowrap;overflow:hidden}
#rfd-root .rfd-scanhost .rfd-dot{width:8px;height:8px;border-radius:50%;background:var(--o);flex:0 0 8px!important;animation:rfd-ping 1.4s ease-in-out infinite}
#rfd-root .rfd-scanhost .rfd-hosttxt{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
#rfd-root .rfd-scanhost b{font-weight:800}
#rfd-root .rfd-progresshead{display:flex!important;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 9px}
#rfd-root .rfd-progress-label{font-size:.9rem;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
#rfd-root .rfd-progress-pct{font-size:1.35rem;font-weight:900;color:var(--o);letter-spacing:-.5px;flex:0 0 auto}
#rfd-root .rfd-progresswrap{position:relative;height:13px;background:#eef0f6;border-radius:999px;overflow:hidden;margin:0 0 22px;width:100%}
#rfd-root .rfd-progress{position:relative;height:100%;width:0;background:linear-gradient(90deg,var(--o),var(--o2));border-radius:999px}
#rfd-root .rfd-progress::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.5) 50%,transparent 80%);background-size:200% 100%;animation:rfd-sheen 1.3s linear infinite}
#rfd-root .rfd-checklist{list-style:none!important;margin:0!important;padding:0!important;text-align:left!important;width:100%!important}
#rfd-root .rfd-checklist li{display:flex!important;flex-direction:row!important;align-items:center!important;gap:13px!important;width:100%!important;padding:12px 4px!important;margin:0!important;border-bottom:1px solid var(--line)!important;font-size:1rem;color:#9a9ab0;list-style:none!important;float:none!important;position:static!important;transition:color .3s}
#rfd-root .rfd-checklist li::before,#rfd-root .rfd-checklist li::marker{content:""!important;display:none!important}
#rfd-root .rfd-checklist li:last-child{border-bottom:none!important}
#rfd-root .rfd-checklist li.active,#rfd-root .rfd-checklist li.done{color:var(--m)}
#rfd-root .rfd-lbl{flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal;text-align:left!important;display:block!important}
#rfd-root .rfd-ico{width:23px!important;height:23px!important;flex:0 0 23px!important;border-radius:50%;display:flex!important;align-items:center;justify-content:center;font-size:12px;font-weight:800;padding:0;margin:0}
#rfd-root .rfd-ico.wait{background:#f0f0f7;color:#c3c3d4}
#rfd-root .rfd-ico.spin{border:2.5px solid #ffe0d2;border-top-color:var(--o);animation:rfd-rot .7s linear infinite;background:transparent}
#rfd-root .rfd-ico.ok{background:#e6f7ec;color:#1a7a3d}
#rfd-root .rfd-qhead{display:flex;align-items:center;gap:12px;margin:0 0 22px}
#rfd-root .rfd-qback{width:36px;height:36px;flex:none;border:1.5px solid #e3e3ee;background:#fff;border-radius:50%;color:#1c1962;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:border-color .18s,color .18s,opacity .2s}
#rfd-root .rfd-qback svg{width:20px;height:20px}
#rfd-root .rfd-qback:hover{border-color:var(--o);color:var(--o)}
#rfd-root .rfd-qback[disabled]{opacity:0;pointer-events:none}
#rfd-root .rfd-qbar{flex:1;height:6px;border-radius:99px;background:#ececf4;overflow:hidden}
#rfd-root .rfd-qbarfill{display:block;height:100%;width:20%;border-radius:99px;background:linear-gradient(90deg,var(--o),var(--o2));transition:width .45s cubic-bezier(.4,0,.2,1)}
#rfd-root .rfd-qcount{flex:none;font-size:13px;font-weight:700;color:#9a9ab0;font-variant-numeric:tabular-nums}
#rfd-root .rfd-qview{position:relative;min-height:206px}
#rfd-root .rfd-q{opacity:1}
#rfd-root .rfd-q.rfd-q-enter{opacity:0;transform:translateY(14px)}
#rfd-root .rfd-q:not(.rfd-q-enter):not(.rfd-q-leave){transition:opacity .34s ease,transform .34s cubic-bezier(.16,1,.3,1)}
#rfd-root .rfd-q.rfd-q-leave{opacity:0;transform:translateY(-10px);transition:opacity .18s ease,transform .18s ease}
#rfd-root .rfd-qtop{margin:0 0 26px}
#rfd-root .rfd-qbadge{display:inline-flex;align-items:center;gap:6px;background:#e6f7ec;color:#1a7a3d;font-size:12.5px;font-weight:800;padding:5px 12px;border-radius:99px;margin:0 0 15px}
#rfd-root .rfd-qlabel{font-size:1.3rem;font-weight:800;color:var(--m);line-height:1.3;margin:0;letter-spacing:-.01em;text-transform:none}
#rfd-root .rfd-qhint{font-size:.96rem;color:#6b6b80;line-height:1.5;margin:9px 0 0}
#rfd-root .rfd-qview .rfd-fields{margin:0 0 14px}
#rfd-root textarea.rfd-qinput{width:100%;padding:15px 16px;border:1.5px solid #d9d9e6;border-radius:14px;font-size:1rem;font-family:inherit;color:var(--m);background:#fff;resize:vertical;min-height:96px;line-height:1.5;transition:border-color .18s,box-shadow .18s;-webkit-appearance:none;appearance:none}
#rfd-root textarea.rfd-qinput:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 4px rgba(240,88,32,.16)}
#rfd-root textarea.rfd-qinput::placeholder{color:#a7a7bd;opacity:1}
#rfd-root .rfd-prefill-note{font-size:.85rem;color:var(--o);font-weight:700;margin:-4px 0 12px}
#rfd-root .rfd-sugg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px}
#rfd-root .rfd-sugg-t{width:100%;font-size:.85rem;font-weight:700;color:var(--m);margin:0 0 3px}
#rfd-root .rfd-sugg-chip{border:1.5px solid #e4dcf1;background:#fff;color:var(--m);font-family:inherit;font-size:.88rem;font-weight:600;line-height:1.1;padding:9px 14px;border-radius:99px;cursor:pointer;min-height:38px;transition:border-color .16s,color .16s,background .16s,transform .16s;animation:rfdSuggPulse 2.4s ease-in-out infinite}
#rfd-root .rfd-sugg-chip:nth-of-type(2){animation-delay:.2s}
#rfd-root .rfd-sugg-chip:nth-of-type(3){animation-delay:.4s}
#rfd-root .rfd-sugg-chip:nth-of-type(4){animation-delay:.6s}
#rfd-root .rfd-sugg-chip:nth-of-type(5){animation-delay:.8s}
@keyframes rfdSuggPulse{0%,100%{box-shadow:0 0 0 0 rgba(240,88,32,0)}45%{box-shadow:0 0 0 5px rgba(240,88,32,.13);border-color:rgba(240,88,32,.55)}}
@media(prefers-reduced-motion:reduce){#rfd-root .rfd-sugg-chip{animation:none}}
/* Mobile : cible tactile a 44px (standard Apple/Material). A 38px, le pouce rate la pastille. */
@media(max-width:720px){#rfd-root .rfd-sugg-chip{min-height:44px;padding:11px 15px}}
#rfd-root .rfd-sugg-chip:hover{border-color:var(--o);color:var(--o);background:rgba(240,88,32,.07);animation:none;transform:translateY(-1px)}
/* Apercu du site scanne : prouve au visiteur que l'analyse porte VRAIMENT sur son site.
Chargee par SON navigateur (le quota Microlink est par IP) et seulement au lancement du
scan, donc zero impact sur le PageSpeed de la page. */
/* margin auto : sans lui, le max-width colle la carte a GAUCHE dans une carte centree. */
#rfd-root .rfd-shot{border:1.5px solid #e4dcf1;border-radius:12px;overflow:hidden;background:#fff;margin:0 auto 16px;max-width:420px}
#rfd-root .rfd-shot-bar{display:flex;align-items:center;gap:5px;padding:7px 11px;background:#f5f3fa;border-bottom:1.5px solid #e4dcf1}
#rfd-root .rfd-shot-bar i{width:8px;height:8px;border-radius:50%;background:#d8d0e6;flex:none}
#rfd-root .rfd-shot-url{margin-left:7px;font-size:.72rem;font-weight:600;color:var(--m);opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* aspect-ratio + width/height sur la balise image = zero CLS ; object-fit evite toute deformation */
#rfd-root .rfd-shot-view{position:relative;aspect-ratio:640/420;background:#f5f3fa;overflow:hidden}
#rfd-root .rfd-shot-view::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(240,88,32,.10) 50%,transparent 80%);background-size:220% 100%;animation:rfdShotShim 1.25s ease-in-out infinite}
#rfd-root .rfd-shot.ready .rfd-shot-view::after{display:none}
#rfd-root .rfd-shot-view img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;opacity:0;transition:opacity .45s ease}
#rfd-root .rfd-shot.ready .rfd-shot-view img{opacity:1}
@keyframes rfdShotShim{0%{background-position:120% 0}100%{background-position:-120% 0}}
@media(prefers-reduced-motion:reduce){#rfd-root .rfd-shot-view::after{animation:none}}
#rfd-root .rfd-qerr{margin-top:10px}
@media(prefers-reduced-motion:reduce){#rfd-root .rfd-q,#rfd-root .rfd-q.rfd-q-enter,#rfd-root .rfd-q.rfd-q-leave{transition:none!important;transform:none!important;opacity:1!important}#rfd-root .rfd-qbarfill{transition:none}}
#rfd-root .rfd-done-badge{width:66px;height:66px;border-radius:50%;background:#e6f7ec;color:#1a7a3d;font-size:34px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:rfd-pop .4s ease}
#rfd-root #rfd-cal{min-width:320px;width:100%;height:720px;margin:0}
/* Rappel « Confirmer l'événement ». Calendly est dans une iframe cross-origin : impossible d'y
injecter quoi que ce soit, le rappel vit donc DANS notre page, juste sous le calendrier, et
la flèche pointe vers le bouton qui se trouve au-dessus. Contour complet, jamais un seul bord. */
/* UNE SEULE LIGNE exigee (desktop ET mobile) : d'ou le texte court + white-space:nowrap.
Le nowrap garantit la ligne unique ; la taille est calee pour que ca tienne a 375px. */
#rfd-root .rfd-calhint{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;max-width:520px;padding:11px 14px;border:2px solid var(--o);border-radius:12px;background:rgba(240,88,32,.06);color:var(--m);font-size:.92rem;font-weight:700;line-height:1.3;white-space:nowrap}
#rfd-root .rfd-calhint-top{margin:0 auto 12px}
#rfd-root .rfd-calhint strong{color:var(--o)}
#rfd-root .rfd-calhint-ar{flex:none;font-size:1.3rem;font-weight:800;color:var(--o);animation:rfdHintUp 1.1s ease-in-out infinite}
@keyframes rfdHintUp{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){#rfd-root .rfd-calhint-ar{animation:none}}
#rfd-root #rfd-cal iframe{width:100%!important;height:100%!important;border:0!important}
@keyframes rfd-rot{to{transform:rotate(360deg)}}
@keyframes rfd-sheen{to{background-position:-200% 0}}
@keyframes rfd-fieldpulse{0%,100%{box-shadow:0 0 0 0 rgba(240,88,32,0)}50%{box-shadow:0 0 0 6px rgba(240,88,32,.11)}}
@keyframes rfd-ping{0%,100%{box-shadow:0 0 0 0 rgba(240,88,32,.5)}70%{box-shadow:0 0 0 7px rgba(240,88,32,0)}}
@keyframes rfd-pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@media(max-width:560px){
#rfd-root .rfd-card{padding:34px 20px!important}
#rfd-root .rfd-title{font-size:1.5rem;line-height:1.24;margin:0 0 18px}
#rfd-root .rfd-sub{font-size:.98rem;margin-bottom:26px;max-width:340px}
#rfd-root .rfd-err{font-size:.8rem}
#rfd-root .rfd-trust{font-size:.79rem}
#rfd-root #rfd-cal{height:1000px}
}
@media(prefers-reduced-motion:reduce){#rfd-root *{animation:none!important}}
/* ===== BILAN (findings) porté depuis /appel/ ===== */
#rfd-root #rfd-step-findings{text-align:center}
#rfd-root .rfd-fx-eye{font-size:.72rem;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;color:#b0aec2;margin:0}
/* Bandeau "site analysé" (capture + domaine) : rend le bilan clairement personnalisé */
#rfd-root .rfd-fx-site{display:inline-flex;align-items:center;gap:11px;margin:11px auto 2px;padding:6px 15px 6px 6px;background:#faf9fd;border:1px solid #eae7f3;border-radius:999px;max-width:100%;box-sizing:border-box}
#rfd-root .rfd-fx-thumb{flex:0 0 auto;width:46px;height:32px;border-radius:7px;overflow:hidden;background:#eef0f6;border:1px solid #e4dcf1;position:relative}
#rfd-root .rfd-fx-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
#rfd-root .rfd-fx-site.no-thumb .rfd-fx-thumb{display:none}
#rfd-root .rfd-fx-site.no-thumb{padding-left:16px}
#rfd-root .rfd-fx-domain{font-size:.92rem;font-weight:800;color:var(--m);letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* Jauge sobre : anneau degrade fin + halo tres leger */
#rfd-root .rfd-gauge{position:relative;width:184px;height:184px;margin:16px auto 13px}
#rfd-root .rfd-gauge svg{width:184px;height:184px;transform:rotate(-90deg);overflow:visible}
#rfd-root .rfd-gauge-bg{fill:none;stroke:#eef0f6;stroke-width:12}
#rfd-root .rfd-gauge-fg{fill:none;stroke:#f05820;stroke-width:12;stroke-linecap:round;stroke-dasharray:402;stroke-dashoffset:402;transition:stroke-dashoffset 1.4s cubic-bezier(.22,1,.36,1)}
#rfd-root .rfd-gauge.crit .rfd-gauge-fg{filter:drop-shadow(0 2px 6px rgba(214,69,48,.28))}
#rfd-root .rfd-gauge.warn .rfd-gauge-fg{filter:drop-shadow(0 2px 6px rgba(240,88,32,.26))}
#rfd-root .rfd-gauge.ok .rfd-gauge-fg{filter:drop-shadow(0 2px 6px rgba(31,162,104,.28))}
#rfd-root .rfd-gauge-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
#rfd-root .rfd-gauge-txt b{font-size:3.5rem;font-weight:900;color:var(--m);letter-spacing:-3px;font-variant-numeric:tabular-nums;line-height:.9}
#rfd-root .rfd-gauge-txt span{font-size:.6rem;font-weight:800;letter-spacing:1.7px;color:#c2c0cf;margin-top:6px}
/* Verdict : texte + point colore (sobre, pas de pastille pleine) */
#rfd-root .rfd-verdict{display:inline-flex;align-items:center;gap:9px;font-size:1rem;font-weight:800;letter-spacing:-.2px;margin:0 0 5px;color:var(--m)}
#rfd-root .rfd-verdict::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex:0 0 auto}
#rfd-root .rfd-verdict.crit{color:#c73f28} #rfd-root .rfd-verdict.warn{color:#c2410c} #rfd-root .rfd-verdict.ok{color:#137a4e}
#rfd-root .rfd-fx-sub{font-size:.84rem;color:var(--muted);margin:0 0 22px}
/* Categories : UN panneau, lignes separees par un filet (style rapport analytics, moins "template") */
#rfd-root .rfd-cats{border:1px solid #e9e6f2;border-radius:16px;overflow:hidden;background:#fff;margin:0 0 20px;text-align:left}
#rfd-root .rfd-cat{padding:15px 18px}
#rfd-root .rfd-cat + .rfd-cat{border-top:1px solid #f2f0f8}
#rfd-root .rfd-cat-top{display:flex;align-items:center;gap:11px}
#rfd-root .rfd-cat-ic{flex:0 0 auto;width:19px;height:19px;color:#adaabd}
#rfd-root .rfd-cat-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#rfd-root .rfd-cat-name{flex:1 1 auto;min-width:0;font-weight:700;color:var(--m);font-size:.96rem;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rfd-root .rfd-cat-lbl{flex:0 0 auto;font-weight:800;font-size:.64rem;letter-spacing:.7px;text-transform:uppercase}
#rfd-root .rfd-cat-num{flex:0 0 auto;font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums;min-width:30px;text-align:right}
#rfd-root .rfd-cat-bar{display:flex;align-items:center;gap:12px;margin-top:11px}
#rfd-root .rfd-cat-track{flex:1 1 auto;height:6px;background:#eef0f6;border-radius:999px;overflow:hidden}
#rfd-root .rfd-cat-fill{height:100%;border-radius:999px;width:0;transition:width 1.1s cubic-bezier(.22,1,.36,1)}
#rfd-root .rfd-cat.b-low .rfd-cat-lbl,#rfd-root .rfd-cat.b-low .rfd-cat-num{color:#c73f28} #rfd-root .rfd-cat.b-low .rfd-cat-fill{background:linear-gradient(90deg,#e46a52,#d64530)}
#rfd-root .rfd-cat.b-mid .rfd-cat-lbl,#rfd-root .rfd-cat.b-mid .rfd-cat-num{color:#c2410c} #rfd-root .rfd-cat.b-mid .rfd-cat-fill{background:linear-gradient(90deg,#f7a24d,#f0742a)}
#rfd-root .rfd-cat.b-good .rfd-cat-lbl,#rfd-root .rfd-cat.b-good .rfd-cat-num{color:#96771f} #rfd-root .rfd-cat.b-good .rfd-cat-fill{background:linear-gradient(90deg,#e0c65c,#c9ab3a)}
#rfd-root .rfd-cat.b-high .rfd-cat-lbl,#rfd-root .rfd-cat.b-high .rfd-cat-num{color:#137a4e} #rfd-root .rfd-cat.b-high .rfd-cat-fill{background:linear-gradient(90deg,#3cbd7c,#1fa268)}
/* Note "en clair" : encart sobre, contour complet, eyebrow orange (pas d'icone gadget) */
#rfd-root .rfd-fx-note{font-size:.93rem;color:#4a4762;line-height:1.6;margin:0 0 18px;padding:16px 18px;background:#faf9fd;border:1px solid #eae7f3;border-radius:14px;text-align:left}
#rfd-root .rfd-fx-note-eye{display:block;font-size:.66rem;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#f05820;margin-bottom:6px}
#rfd-root .rfd-fx-note b{color:var(--m)}
#rfd-root .rfd-fx-reassure{margin-top:13px;font-size:.82rem;color:#9a97ad;line-height:1.5}
/* Apparition en cascade (spring, fluide) */
@keyframes rfdRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rfdPop{0%{opacity:0;transform:scale(.8)}55%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes rfdFadeIn{from{opacity:0}to{opacity:1}}
#rfd-root .rfd-anim{animation:rfdRise .62s cubic-bezier(.22,1,.36,1) both}
#rfd-root .rfd-anim-pop{animation:rfdPop .8s cubic-bezier(.34,1.42,.5,1) both}
#rfd-root .rfd-anim-fade{animation:rfdFadeIn .5s ease both}
@media(prefers-reduced-motion:reduce){#rfd-root .rfd-anim,#rfd-root .rfd-anim-pop,#rfd-root .rfd-anim-fade{animation:none}}
@media(prefers-reduced-motion:reduce){#rfd-root .rfd-gauge-fg,#rfd-root .rfd-cat-fill{transition:none}}
@media(max-width:440px){#rfd-root .rfd-gauge,#rfd-root .rfd-gauge svg{width:160px;height:160px}#rfd-root .rfd-gauge-txt b{font-size:3rem;font-weight:700;letter-spacing:-2px}#rfd-root .rfd-cat{padding:14px 15px}#rfd-root .rfd-cat-name{font-size:.9rem}#rfd-root .rfd-fx-note{padding:13px 15px;font-size:.88rem;margin-bottom:16px}#rfd-root .rfd-fx-note-eye{margin-bottom:4px}}
</style>
<script>
document.getElementById("yr").textContent = new Date().getFullYear();
// reveal au scroll
var io = new IntersectionObserver(function(es){
es.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add("in"); io.unobserve(e.target); } });
}, {threshold:.14, rootMargin:"0px 0px -8% 0px"});
document.querySelectorAll(".reveal").forEach(function(el){ io.observe(el); });
// Compteurs animés (count-up) sur les stats
var prefersReduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
function countUp(el){
var target = parseFloat(el.getAttribute("data-target"));
var pre = el.getAttribute("data-prefix") || "", suf = el.getAttribute("data-suffix") || "";
if(prefersReduced){ el.textContent = pre + target + suf; return; }
var dur = 1400, t0 = null;
function step(ts){
if(!t0) t0 = ts;
var p = Math.min((ts - t0) / dur, 1);
var eased = 1 - Math.pow(1 - p, 3);
el.textContent = pre + Math.round(target * eased) + suf;
if(p < 1) requestAnimationFrame(step);
}
requestAnimationFrame(step);
}
var nIO = new IntersectionObserver(function(es){
es.forEach(function(e){ if(e.isIntersecting){ countUp(e.target); nIO.unobserve(e.target); } });
}, {threshold:.6});
document.querySelectorAll(".stat .n[data-target]").forEach(function(el){ nIO.observe(el); });
// FAQ accordéon
document.querySelectorAll(".faq-q").forEach(function(btn){
btn.addEventListener("click", function(){
var item = btn.closest(".faq-item");
var isOpen = item.classList.contains("open");
document.querySelectorAll(".faq-item.open").forEach(function(o){
o.classList.remove("open");
var oa = o.querySelector(".faq-a"); if(oa) oa.style.maxHeight = null;
var oq = o.querySelector(".faq-q"); if(oq) oq.setAttribute("aria-expanded","false");
});
if(!isOpen){
item.classList.add("open");
var a = item.querySelector(".faq-a"); a.style.maxHeight = a.scrollHeight + "px";
btn.setAttribute("aria-expanded","true");
}
});
});
// CTA : sticky bas (mobile) après le hero, masqué sur le diagnostic ; bouton header masqué sur le diagnostic.
var sticky = document.querySelector(".sticky-cta");
var navCta = document.querySelector(".nav-cta");
var diagSec = document.getElementById("diagnostic-sec");
var heroSec = document.querySelector(".hero");
var inHero = true, onDiag = false;
function syncCtas(){
if(sticky){ sticky.classList.toggle("is-hidden", inHero || onDiag); }
if(navCta){ navCta.classList.toggle("is-hidden", onDiag); }
}
if("IntersectionObserver" in window){
if(heroSec){ new IntersectionObserver(function(es){ es.forEach(function(e){ inHero = e.isIntersecting; }); syncCtas(); }, {threshold:0}).observe(heroSec); }
if(diagSec){ new IntersectionObserver(function(es){ es.forEach(function(e){ onDiag = e.isIntersecting; }); syncCtas(); }, {threshold:.14}).observe(diagSec); }
syncCtas();
}
</script>
<script>
// GA4 : conversion "RDV réservé" (émis par l'iframe Calendly du widget)
window.addEventListener("message", function(e){
if(e.data && typeof e.data === "object" && e.data.event === "calendly.event_scheduled"){
if(typeof gtag === "function"){ gtag("event","reservation_rdv",{event_category:"Calendly",event_label:"Consultant SEO"}); }
}
});
</script>
<script>
/* Widget diagnostic autonome : vérifie le site, anime l'analyse (12 critères), révèle le Calendly.
Lead (URL) enregistré dans le Business Manager (bm.vincenthego.com/api/lead), source: widget. */
(function(){
function boot(){
var root = document.getElementById('rfd-root');
if(!root || root.getAttribute('data-rfd-init')) return;
root.setAttribute('data-rfd-init','1');
var API_BASE = 'https://bm.vincenthego.com';
var LEAD_API = API_BASE + '/api/lead';
var CHECK_API = API_BASE + '/api/check-site';
var SUMMARY_API = API_BASE + '/api/site-summary';
var PEOPLE_API = API_BASE + '/api/site-people';
var CALENDLY = 'https://calendly.com/vhdigitalcorp/appel?hide_event_type_details=1&hide_gdpr_banner=1&primary_color=f05820';
var STEPS = [
'Analyse du contenu et des mots-clés',
'Balises title & meta descriptions',
'Structure des titres (Hn)',
'Vitesse & Core Web Vitals',
'Compatibilité mobile',
'Maillage interne',
'Profil de backlinks & autorité',
'Positionnement sur Google',
'SEO local',
'Données structurées (schema)',
'Visibilité sur les IA (ChatGPT, Perplexity)',
'Analyse de la concurrence'
];
var form = document.getElementById('rfd-form');
var elUrl = document.getElementById('rfd-url');
var elErr = document.getElementById('rfd-err');
var elSubmit = document.getElementById('rfd-submit');
var stepForm = document.getElementById('rfd-step-form');
var stepScan = document.getElementById('rfd-step-scan');
var stepDone = document.getElementById('rfd-step-done');
var scanHost = document.getElementById('rfd-scanhost');
var checklist = document.getElementById('rfd-checklist');
var progress = document.getElementById('rfd-progress');
var pctEl = document.getElementById('rfd-progress-pct');
var labelEl = document.getElementById('rfd-progress-label');
var stepQuiz = document.getElementById('rfd-step-quiz');
var stepFindings = document.getElementById('rfd-step-findings');
var stepEmail = document.getElementById('rfd-step-email');
var analysisData = null;
var reduceM = false; try{ reduceM = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; }catch(_e){}
// Vraie mini-analyse on-page (proxy sécurisé, même origine) -> score + problèmes RÉELS (pas inventés).
function analyzeSite(url){
try{
fetch('/outils-api/fetch.php?url=' + encodeURIComponent(url))
.then(function(r){ return r.json(); })
.then(function(d){ if(d && d.ok){ analysisData = computeFindings(d); } })
.catch(function(){});
}catch(_e){}
}
function computeFindings(d){
function cl(v){ return Math.max(9, Math.min(92, Math.round(v))); }
// Barème EXIGEANT (un vrai audit est sévère) : signaux on-page réels, seuils stricts -> notes basses = plus honnête et plus incitatif.
var tech = 96, tl = (d.title||'').length;
if(!d.title) tech -= 40; else if(tl < 25 || tl > 68) tech -= 22; else if(tl < 35 || tl > 60) tech -= 12; else tech -= 3;
var dl = d.description ? (''+d.description).length : 0;
if(!d.description) tech -= 34; else if(dl < 70) tech -= 20; else if(dl < 120 || dl > 175) tech -= 11; else tech -= 3;
var h1 = (d.h1||[]).length; if(!h1) tech -= 30; else if(h1 > 1) tech -= 17;
if(!d.canonical) tech -= 11;
// CONTENU : très exigeant (la plupart des pages d'accueil sont trop courtes / mal structurées).
var cont = 93, w = (typeof d.wordCount==='number') ? d.wordCount : 540;
if(w < 150) cont -= 72; else if(w < 300) cont -= 58; else if(w < 600) cont -= 42; else if(w < 1000) cont -= 28; else if(w < 1500) cont -= 15; else cont -= 5;
var h2 = d.h2Count||0; if(h2 === 0) cont -= 30; else if(h2 < 4) cont -= 20; else if(h2 < 6) cont -= 10;
if(d.imgNoAlt > 8) cont -= 26; else if(d.imgNoAlt > 0) cont -= 16;
var perf = 96, t = (typeof d.timeMs==='number') ? d.timeMs : 950;
if(t > 3500) perf -= 46; else if(t > 2200) perf -= 32; else if(t > 1300) perf -= 20; else if(t > 800) perf -= 10; else if(t > 500) perf -= 4;
if(!d.viewport) perf -= 48;
if(d.sizeBytes > 3200000) perf -= 20; else if(d.sizeBytes > 2000000) perf -= 11; else if(d.sizeBytes > 1200000) perf -= 5;
// VISIBILITÉ Google + IA : très exigeant (schéma/données structurées + maillage = ce qui fait citer par les IA).
var vis = 92;
if(!d.schemaTypes || !d.schemaTypes.length) vis -= 48; else if(d.schemaTypes.length < 2) vis -= 28; else if(d.schemaTypes.length < 3) vis -= 15; else vis -= 5;
if(!d.og || !d.og.length) vis -= 32;
var il = (d.links && typeof d.links.internal==='number') ? d.links.internal : 9;
if(il < 3) vis -= 38; else if(il < 8) vis -= 26; else if(il < 15) vis -= 15; else if(il < 25) vis -= 6;
var cats = [
{ name:'Optimisation technique', score:cl(tech) },
{ name:'Contenu & mots-clés', score:cl(cont) },
{ name:'Vitesse & mobile', score:cl(perf) },
{ name:'Visibilité Google et IA', score:cl(vis) }
];
var score = Math.round(cats.reduce(function(s,c){ return s+c.score; }, 0) / cats.length);
score = Math.max(24, Math.min(86, score));
return { score: score, cats: cats };
}
function fxBand(s){ return s < 48 ? 'low' : s < 66 ? 'mid' : s < 90 ? 'good' : 'high'; }
function fxBandLbl(s){ return s < 48 ? 'Faible' : s < 66 ? 'À renforcer' : s < 90 ? 'Correct' : 'Bon'; }
// Icones SVG par categorie (Lucide-style, jamais d'emoji) : technique/contenu/vitesse/visibilite.
var RFD_CAT_ICONS = [
'<polyline points="16 18 22 12 16 6"></polyline><polyline points="8 6 2 12 8 18"></polyline>',
'<path d="M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="14 3 14 9 20 9"></polyline><line x1="8" y1="13" x2="16" y2="13"></line><line x1="8" y1="17" x2="13" y2="17"></line>',
'<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon>',
'<polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline>'
];
function renderFindings(a){
var num = document.getElementById('rfd-scorenum');
var gauge = document.getElementById('rfd-gauge');
var arc = document.getElementById('rfd-gauge-arc');
var verdict = document.getElementById('rfd-verdict');
var wrap = document.getElementById('rfd-cats');
if(!num||!gauge||!wrap) return;
// Bandeau "site analysé" : domaine + capture (reprise de celle du scan, déjà mise en cache) -> bilan personnalisé.
try{
var siteBox = document.getElementById('rfd-fx-site');
var domEl = document.getElementById('rfd-fx-domain');
var fxImg = document.getElementById('rfd-fx-img');
if(domEl) domEl.textContent = hostOf(lastUrl);
if(siteBox) siteBox.classList.add('no-thumb');
var shot = document.getElementById('rfd-shot-img');
var src = shot && shot.getAttribute('src');
if(fxImg && src){
fxImg.alt = 'Aperçu du site ' + hostOf(lastUrl);
fxImg.onload = function(){ if(siteBox) siteBox.classList.remove('no-thumb'); };
fxImg.onerror = function(){ if(siteBox) siteBox.classList.add('no-thumb'); };
fxImg.src = src;
}
}catch(_e){}
// Vert UNIQUEMENT à partir de 90 (scarcity) : en dessous, tout reste orange (ou rouge sous 55).
var g = a.score < 55 ? 'crit' : a.score < 90 ? 'warn' : 'ok';
num.textContent = a.score;
gauge.className = 'rfd-gauge ' + g;
verdict.className = 'rfd-verdict ' + g;
verdict.textContent = g==='crit' ? 'Plusieurs leviers sous-exploités'
: g==='warn' ? 'De belles marges de progression'
: 'De bonnes fondations à optimiser';
// Boucle ouverte : on nomme le NOMBRE de domaines à renforcer (donnée réelle), pas les solutions.
// Puis reframe positif "tout se corrige" -> le plan se construit à l'appel (seule sortie = réserver).
var note = document.getElementById('rfd-fx-note-txt');
if(note){
var weak = a.cats.filter(function(c){ return c.score < 66; }).length;
if(weak >= 1){
note.innerHTML = '<b>' + weak + ' chose' + (weak>1?'s':'') + ' à corriger</b> en priorité. Bonne nouvelle : <b>tout se corrige</b>.';
} else {
note.innerHTML = '<b>Bonnes fondations</b>, mais de vraies marges à exploiter.';
}
}
var RM = false; try{ RM = window.matchMedia && window.matchMedia('(prefers-reduced-motion:reduce)').matches; }catch(_e){}
var C = 2 * Math.PI * 64;
arc.setAttribute('stroke', 'url(#rfd-grad-' + g + ')');
arc.style.strokeDasharray = C;
arc.style.strokeDashoffset = C;
// tracé de la jauge synchronisé avec l'apparition (après le "pop")
setTimeout(function(){ arc.style.strokeDashoffset = C * (1 - a.score/100); }, RM ? 0 : 300);
// compteur du score qui s'incrémente (0 -> score) pendant le tracé. setInterval (pas rAF : fiable, ne gèle pas).
if(RM){ num.textContent = a.score; }
else {
var tgt = a.score, steps = 32, i2 = 0;
num.textContent = '0';
setTimeout(function(){
var iv2 = setInterval(function(){
i2++;
var p = i2/steps, e = 1 - Math.pow(1-p, 3);
num.textContent = Math.round(e*tgt);
if(i2 >= steps){ clearInterval(iv2); num.textContent = tgt; }
}, 34);
}, 320);
}
wrap.innerHTML = '';
a.cats.forEach(function(c, idx){
var band = fxBand(c.score);
var row = document.createElement('div'); row.className = 'rfd-cat b-' + band;
var top = document.createElement('div'); top.className = 'rfd-cat-top';
var ic = document.createElement('span'); ic.className = 'rfd-cat-ic';
ic.innerHTML = '<svg viewBox="0 0 24 24">' + (RFD_CAT_ICONS[idx] || RFD_CAT_ICONS[0]) + '</svg>';
var nm = document.createElement('span'); nm.className = 'rfd-cat-name'; nm.textContent = c.name;
var numEl = document.createElement('span'); numEl.className = 'rfd-cat-num'; numEl.textContent = c.score;
top.appendChild(ic); top.appendChild(nm); top.appendChild(numEl);
var bar = document.createElement('div'); bar.className = 'rfd-cat-bar';
var track = document.createElement('div'); track.className = 'rfd-cat-track';
var fill = document.createElement('div'); fill.className = 'rfd-cat-fill'; track.appendChild(fill);
var lb = document.createElement('span'); lb.className = 'rfd-cat-lbl'; lb.textContent = fxBandLbl(c.score);
bar.appendChild(track); bar.appendChild(lb);
row.appendChild(top); row.appendChild(bar); wrap.appendChild(row);
(function(f, val, i){ setTimeout(function(){ f.style.width = val + '%'; }, RM ? 0 : (760 + i*150)); })(fill, c.score, idx);
});
// ===== Apparition en cascade (spring, fluide) =====
if(!RM){
var stepEl = document.getElementById('rfd-step-findings');
function anim(el, cls, delay){ if(!el) return; el.classList.remove('rfd-anim','rfd-anim-pop','rfd-anim-fade'); void el.offsetWidth; el.style.animationDelay = delay + 'ms'; el.classList.add(cls); }
anim(stepEl ? stepEl.querySelector('.rfd-fx-eye') : null, 'rfd-anim', 30);
anim(document.getElementById('rfd-fx-site'), 'rfd-anim', 80);
anim(gauge, 'rfd-anim-pop', 150);
anim(verdict, 'rfd-anim', 380);
anim(document.getElementById('rfd-fx-sub'), 'rfd-anim', 440);
anim(wrap, 'rfd-anim', 500);
anim(document.getElementById('rfd-fx-note'), 'rfd-anim', 820);
anim(document.getElementById('rfd-findings-go'), 'rfd-anim', 900);
anim(document.getElementById('rfd-fx-reassure'), 'rfd-anim', 960);
}
}
// a2 AUTO : on ne demande plus l'activité/blocage (friction) -> on le construit tout seul depuis
// l'activité (site-summary/Gemini, prefillA2) + le point le plus FAIBLE du vrai bilan (+ score),
// et on le pré-remplit dans Calendly pour la prépa d'appel.
function buildAutoA2(){
var act = (prefillA2 || '').trim();
var blocage = '';
if(analysisData && analysisData.cats && analysisData.cats.length){
var low = analysisData.cats.slice().sort(function(x,y){ return x.score - y.score; })[0];
var MAP = {
'Optimisation technique': "l'optimisation technique du site",
'Contenu & mots-clés': "le contenu et les mots-clés",
'Vitesse & mobile': "la vitesse et l'affichage mobile",
'Visibilité Google et IA': "la visibilité sur Google et les IA"
};
blocage = (MAP[low.name] || low.name) + ' (' + low.score + '/100)';
}
if(act && /\best\s*$/i.test(act)){ return blocage ? (act + ' ' + blocage + '.') : act.replace(/\s*est\s*$/i, '.'); }
if(act){ return blocage ? (act.replace(/[.\s]*$/, '') + '. Point le plus faible au diagnostic : ' + blocage + '.') : act; }
return blocage ? ('Point le plus faible détecté au diagnostic : ' + blocage + '.') : '';
}
var busy = false, finished = false, lastUrl = '', leadId = 0, lastEmail = '', prefillA2 = '';
// Noms trouves dans les mentions legales du site (pastilles sur la question du nom).
var peopleNames = [];
function markPrefillNote(inp){
try{
var qc = inp.closest && inp.closest('.rfd-q'); if(!qc || qc.querySelector('.rfd-prefill-note')) return;
var n = document.createElement('div'); n.className = 'rfd-prefill-note'; n.textContent = '✨ Pré-rempli, modifiez si besoin';
var fields = qc.querySelector('.rfd-fields'); if(fields && fields.parentNode){ fields.parentNode.insertBefore(n, fields.nextSibling); }
}catch(_e){}
}
function autoGrow(el){ try{ if(el && el.tagName === 'TEXTAREA'){ el.style.height = 'auto'; el.style.height = Math.min(el.scrollHeight + 2, 360) + 'px'; } }catch(_e){} }
function normUrl(v){ v=(v||'').trim(); if(!v) return ''; if(!/^https?:\/\//i.test(v)) v='https://'+v; return v; }
function hostOf(u){ try{ return new URL(u).hostname.replace(/^www\./,''); }catch(_e){ return (u||'').replace(/^https?:\/\//,'').replace(/^www\./,'').split('/')[0]; } }
var EXAMPLE = /^(monsite|mon-site|monsiteweb|monsite-web|exemple|example|votresite|votre-site|mondomaine|votredomaine|site-exemple)\.(fr|com|net|io|org|eu)$/i;
function setLoading(on){ elSubmit.disabled = on; elSubmit.className = 'rfd-btn' + (on ? ' is-loading' : ''); }
function checkSite(url){
var ctrl;
try{ ctrl = new AbortController(); setTimeout(function(){ try{ctrl.abort();}catch(_e){} }, 9000); }catch(_e){}
return fetch(CHECK_API + '?url=' + encodeURIComponent(url), ctrl ? {signal:ctrl.signal} : undefined)
.then(function(r){ return r.json(); })
.then(function(d){ return d && typeof d.reachable === 'boolean' ? d : { reachable:true }; })
.catch(function(){ return { reachable:true }; });
}
form.addEventListener('submit', function(e){
e.preventDefault();
if(busy) return;
elErr.textContent = '';
var url = normUrl(elUrl.value);
if(!url || !/^https?:\/\/[^\s.]+\.[a-z]{2,}/i.test(url)){
elErr.textContent = 'Entrez une adresse de site valide.';
elUrl.focus(); return;
}
if(EXAMPLE.test(hostOf(url))){
elErr.textContent = "Entrez l'adresse de VOTRE site, pas l'exemple 🙂";
elUrl.focus(); elUrl.select && elUrl.select(); return;
}
lastUrl = url;
busy = true; setLoading(true);
checkSite(url).then(function(res){
if(!res.reachable){
busy = false; setLoading(false);
elErr.textContent = "Site introuvable, vérifiez l'adresse.";
elUrl.focus(); elUrl.select && elUrl.select();
return;
}
try{ fetch(LEAD_API, { method:'POST', headers:{'content-type':'application/json'}, body: JSON.stringify({ url:url, source:'consultant-seo' }) }).then(function(r){ return r.json(); }).then(function(d){ if(d && d.id) leadId = d.id; }).catch(function(){}); }catch(_e){}
prefillA2 = '';
try{ peopleNames = []; fetch(PEOPLE_API + '?url=' + encodeURIComponent(url)).then(function(r){ return r.json(); }).then(function(d){ if(d && d.names && d.names.length){ peopleNames = d.names.slice(0,3); } }).catch(function(){}); }catch(_e){}
try{ fetch(SUMMARY_API + '?url=' + encodeURIComponent(url)).then(function(r){ return r.json(); }).then(function(d){ if(d && d.prefill){ prefillA2 = d.prefill; var el = qview && qview.querySelector('.rfd-qinput'); var cur = QS[qi]; if(el && cur && cur.key === 'a2' && !el.value){ el.value = prefillA2; markPrefillNote(el); try{ el.focus(); el.selectionStart = el.selectionEnd = el.value.length; autoGrow(el); }catch(_e2){} } } }).catch(function(){}); }catch(_e){}
try{ if(typeof gtag==='function'){ gtag('event','lead_diagnostic',{event_category:'Diagnostic',event_label:url}); } }catch(_e){}
scanHost.textContent = '';
var _dot = document.createElement('span'); _dot.className = 'rfd-dot';
var _ht = document.createElement('span'); _ht.className = 'rfd-hosttxt';
_ht.appendChild(document.createTextNode('Analyse de : '));
var _hb = document.createElement('b'); _hb.textContent = hostOf(url);
_ht.appendChild(_hb);
scanHost.appendChild(_dot); scanHost.appendChild(_ht);
loadShot(url);
analysisData = null; analyzeSite(url);
stepForm.classList.add('rfd-hidden');
stepScan.classList.remove('rfd-hidden');
// Mobile : on ferme d'abord le clavier, puis UN SEUL scroll INSTANTANÉ aligné en haut, et seulement
// si l'étape n'est pas déjà visible. (Le scroll fluide + block:center oscillait à cause de la barre d'URL mobile.)
try{ elUrl.blur(); }catch(_e){}
setTimeout(function(){
try{ var r = stepScan.getBoundingClientRect(); if(r.top < 0 || r.top > window.innerHeight * 0.4){ stepScan.scrollIntoView({block:'start'}); } }catch(_e){}
}, 360);
runScan();
});
});
// Apercu reel du site scanne. Charge par le navigateur du VISITEUR (et pas par notre
// serveur) : le quota Microlink etant compte par IP, chaque visiteur a le sien.
// Le scan dure ~20 s, la capture arrive en ~8-13 s : elle a le temps.
// Regle d'or : on n'affiche JAMAIS une image cassee. Echec ou trop lent -> le bloc disparait.
function loadShot(url){
var box = document.getElementById('rfd-shot');
var img = document.getElementById('rfd-shot-img');
var lbl = document.getElementById('rfd-shot-url');
if(!box || !img) return;
try{
box.classList.remove('ready');
box.hidden = false;
if(lbl) lbl.textContent = hostOf(url);
/* L'alt suit la source : l'image est une vraie capture du site du
visiteur, un alt vide la ferait passer pour décorative. */
img.alt = 'Aperçu du site ' + hostOf(url);
var done = false;
// On ne RÉTRACTE JAMAIS le bloc pendant le scan (ça ferait sauter la page). Échec/lenteur -> on garde
// l'espace réservé (shimmer, jamais d'image cassée) ; le bloc disparaît de lui-même quand le bilan s'affiche.
var giveUp = setTimeout(function(){ if(!done){ done = true; img.removeAttribute('src'); } }, 12000);
img.onload = function(){ if(done) return; done = true; clearTimeout(giveUp); box.classList.add('ready'); };
img.onerror = function(){ if(done) return; done = true; clearTimeout(giveUp); img.removeAttribute('src'); };
img.src = 'https://api.microlink.io/?url=' + encodeURIComponent(url) +
'&screenshot=true&meta=false&embed=screenshot.url&viewport.width=640&viewport.height=420';
}catch(_e){ box.hidden = true; }
}
function runScan(){
checklist.innerHTML = '';
var lis = STEPS.map(function(label){
var li = document.createElement('li');
var ico = document.createElement('span'); ico.className = 'rfd-ico wait'; ico.textContent = '•';
var lbl = document.createElement('span'); lbl.className = 'rfd-lbl'; lbl.textContent = label;
li.appendChild(ico); li.appendChild(lbl);
checklist.appendChild(li);
return li;
});
var n = lis.length;
var shown = 0, target = 0;
var iv = setInterval(function(){
shown += (target - shown) * 0.06;
if(target - shown < 0.2) shown = target;
progress.style.width = shown.toFixed(1) + '%';
pctEl.textContent = Math.round(shown) + '%';
}, 30);
var i = 0;
function step(){
if(i > 0){
var prev = lis[i-1]; prev.classList.remove('active'); prev.classList.add('done');
var pi = prev.querySelector('.rfd-ico'); pi.className = 'rfd-ico ok'; pi.textContent = '✓';
}
if(i < n){
var cur = lis[i]; cur.classList.add('active');
var ci = cur.querySelector('.rfd-ico'); ci.className = 'rfd-ico spin'; ci.textContent = '';
labelEl.textContent = STEPS[i];
target = Math.round(((i+1)/n) * 100);
var base = 1050 + Math.random()*950;
if(i === 3 || i === 6 || i === 9) base += 650;
i++;
setTimeout(step, base);
} else {
target = 100;
labelEl.textContent = 'Compilation du diagnostic…';
setTimeout(function(){ clearInterval(iv); shown = 100; progress.style.width='100%'; pctEl.textContent='100%'; finish(); }, 1800);
}
}
step();
}
// ===== Mini-questionnaire fluide (façon Typeform) : les questions du Calendly, puis agenda pré-rempli =====
var QS = [
{ key:'name', type:'text', eyebrow:'On prépare votre rendez-vous', label:'Comment vous appelez-vous ?', ph:'Prénom et nom' },
{ key:'a3', type:'confirm', val:'Je confirme', label:'Avez-vous un budget à investir dans votre SEO ?', hint:'Le diagnostic est offert et sans engagement. Si on travaille ensemble ensuite, il y a un budget à prévoir : autant le savoir maintenant.', btn:'Oui, j\'ai un budget' },
{ key:'a4', type:'confirm', val:'Je confirme', label:"Vous serez présent, à l'heure, au rendez-vous ?", hint:'Le rendez-vous se fait en visio sur Google Meet.', btn:'Oui, je confirme' }
];
var A2_SUGG = [
{ l:'Manque de trafic', t:'le manque de trafic sur Google' },
{ l:'Bloqué en page 2', t:'que je stagne en 2e page de Google' },
{ l:'Pas assez de ventes', t:'un manque de contacts et de ventes' },
{ l:'Souci technique', t:'un problème technique sur mon site' },
{ l:'Je ne sais pas', t:"que je ne sais pas encore, à voir ensemble" }
];
var answers = {}, qi = 0, qLock = false;
var qview = document.getElementById('rfd-qview');
var qbar = document.getElementById('rfd-qbarfill');
var qcount = document.getElementById('rfd-qcount');
var qback = document.getElementById('rfd-qback');
// Apparition douce d'une carte-étape (one-shot). Respecte prefers-reduced-motion.
function stepIn(el, cls, delay){
if(!el) return;
var rm=false; try{ rm = window.matchMedia && window.matchMedia('(prefers-reduced-motion:reduce)').matches; }catch(_e){}
if(rm) return;
el.classList.remove('rfd-anim','rfd-anim-pop','rfd-anim-fade'); void el.offsetWidth;
el.style.animationDelay = (delay||0) + 'ms'; el.classList.add(cls);
}
function finish(){
if(finished) return; finished = true;
// Fin du scan -> on montre le BILAN tout de suite (gratuit, sans mail : c'est l'hameçon qui crée le manque).
// L'email est demandé À LA FIN, comme adresse du rendez-vous (vraie raison de laisser un vrai mail).
stepScan.classList.add('rfd-hidden');
if(analysisData && analysisData.cats && analysisData.cats.length){
renderFindings(analysisData);
stepFindings.classList.remove('rfd-hidden');
stepIn(stepFindings, 'rfd-anim-fade', 0);
// Scroll INSTANTANÉ + différé (le layout scan->bilan vient de changer) : évite l'overshoot du scroll
// fluide mobile qui remontait au-dessus du titre. scroll-margin-top le cale sous le header.
try{ stepFindings.scrollIntoView({block:'start'}); }catch(_e){}
setTimeout(function(){ try{ var r = stepFindings.getBoundingClientRect(); if(Math.abs(r.top) > 120){ stepFindings.scrollIntoView({block:'start'}); } }catch(_e){} }, 120);
try{ if(typeof gtag==='function'){ gtag('event','diagnostic_findings',{event_category:'Diagnostic',event_label:lastUrl,value:analysisData.score}); } }catch(_e){}
} else {
goToQuiz();
}
}
// Étape email = DERNIÈRE étape avant le calendrier : l'adresse où on envoie le rendez-vous.
function showEmailStep(){
stepQuiz.classList.add('rfd-hidden');
if(stepFindings) stepFindings.classList.add('rfd-hidden');
stepEmail.classList.remove('rfd-hidden');
stepIn(stepEmail, 'rfd-anim', 0);
try{ stepEmail.scrollIntoView({behavior:'smooth', block:'start'}); }catch(_e){}
setTimeout(function(){ try{ document.getElementById('rfd-email-input').focus(); }catch(_e){} }, 420);
}
(function(){
var f = document.getElementById('rfd-email-form'); if(!f) return;
f.addEventListener('submit', function(e){
e.preventDefault();
var inp = document.getElementById('rfd-email-input');
var err = document.getElementById('rfd-email-err');
var val = (inp.value||'').trim();
if(!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(val)){ if(err) err.textContent = 'Entrez un email valide pour recevoir votre rendez-vous.'; try{ inp.focus(); }catch(_e){} return; }
if(err) err.textContent = '';
lastEmail = val; answers.email = val;
try{ if(leadId){ fetch(LEAD_API, { method:'POST', headers:{'content-type':'application/json'}, body: JSON.stringify({ id:leadId, url:lastUrl, email:val }) }).catch(function(){}); } }catch(_e){}
try{ if(typeof gtag==='function'){ gtag('event','lead_email',{event_category:'Diagnostic',event_label:lastUrl}); } }catch(_e){}
revealCalendar();
});
})();
function goToQuiz(){
stepScan.classList.add('rfd-hidden');
if(stepEmail) stepEmail.classList.add('rfd-hidden');
if(stepFindings) stepFindings.classList.add('rfd-hidden');
stepQuiz.classList.remove('rfd-hidden');
stepIn(stepQuiz, 'rfd-anim', 0);
try{ stepQuiz.scrollIntoView({behavior:'smooth', block:'start'}); }catch(_e){}
qi = 0; answers = {};
renderQ(0);
}
(function(){ var g=document.getElementById('rfd-findings-go'); if(g) g.addEventListener('click', goToQuiz); })();
function qesc(s){ return (s||'').replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"'); }
function buildQ(q){
var h = '<div class="rfd-qtop">';
if(q.eyebrow) h += '<div class="rfd-qbadge">✓ '+qesc(q.eyebrow)+'</div>';
h += '<p class="rfd-qlabel">'+qesc(q.label)+'</p>';
if(q.hint) h += '<p class="rfd-qhint">'+qesc(q.hint)+'</p>';
h += '</div>';
if(q.type==='confirm'){
h += '<button type="button" class="rfd-btn rfd-qgo">'+qesc(q.btn)+' →</button>';
} else if(q.type==='textarea'){
h += '<div class="rfd-fields"><textarea class="rfd-qinput" rows="3" placeholder="'+qesc(q.ph)+'"></textarea></div>';
if(q.key==='a2'){ h += '<div class="rfd-sugg"><span class="rfd-sugg-t">Choisissez ou écrivez votre blocage</span>' + A2_SUGG.map(function(s){ return '<button type="button" class="rfd-sugg-chip" data-t="'+qesc(s.t)+'">'+qesc(s.l)+'</button>'; }).join('') + '</div>'; }
h += '<button type="button" class="rfd-btn rfd-qgo">Continuer →</button>';
} else {
var it = q.type==='email' ? 'email' : 'text';
h += '<div class="rfd-fields"><input class="rfd-qinput" type="'+it+'" inputmode="'+it+'" name="'+(q.type==='email'?'email':'name')+'" placeholder="'+qesc(q.ph)+'" autocomplete="'+(q.type==='email'?'email':'name')+'" autocapitalize="'+(q.type==='email'?'off':'words')+'" spellcheck="false"></div>';
// Pastilles de noms issues des mentions legales (page legalement obligatoire).
// JAMAIS de pre-remplissage : la personne TAPE la pastille si c'est bien elle.
if(q.key === 'name' && peopleNames.length){
h += '<div class="rfd-sugg"><span class="rfd-sugg-t">C\'est vous ? Touchez votre nom</span>'
+ peopleNames.map(function(n){ return '<button type="button" class="rfd-sugg-chip" data-n="'+qesc(n)+'">'+qesc(n)+'</button>'; }).join('')
+ '</div>';
}
h += '<button type="button" class="rfd-btn rfd-qgo">Continuer →</button>';
}
h += '<div class="rfd-err rfd-qerr"></div>';
return h;
}
function advance(){
if(qLock) return;
var q = QS[qi];
var el = qview.firstElementChild; if(!el) return;
var errEl = el.querySelector('.rfd-qerr');
var val;
if(q.type==='confirm'){ val = q.val; }
else {
var inp = el.querySelector('.rfd-qinput');
val = (inp.value || '').trim();
if(q.type==='email'){
if(!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(val)){ errEl.textContent = 'Entrez un email valide pour continuer.'; inp.focus(); return; }
} else if(!val){ errEl.textContent = 'Merci de répondre pour continuer.'; inp.focus(); return; }
if(q.key === 'a2'){
var mm = val.match(/probl[eé]matique n°1 en seo est\s*(.*)$/i);
var after = mm ? mm[1].replace(/[.\s]+$/, '').trim() : val;
if(after.length < 3){ errEl.textContent = 'Choisissez un blocage ci-dessous, ou décrivez le vôtre.'; try{ inp.focus(); inp.selectionStart = inp.selectionEnd = inp.value.length; }catch(_e){} return; }
}
}
answers[q.key] = val;
if(q.key==='email'){
lastEmail = val;
try{ if(typeof gtag==='function'){ gtag('event','lead_email',{event_category:'Diagnostic',event_label:lastUrl}); } }catch(_e){}
try{ fetch(LEAD_API, { method:'POST', headers:{'content-type':'application/json'}, body: JSON.stringify({ id:leadId, url:lastUrl, email:val }) }).catch(function(){}); }catch(_e){}
}
if(qi >= QS.length - 1){ showEmailStep(); return; }
qi++; renderQ(qi, 1);
}
function goBack(){ if(qLock || qi === 0) return; qi--; renderQ(qi, -1); }
function renderQ(i){
var q = QS[i];
try{ stepQuiz.scrollIntoView({behavior:'smooth', block:'start'}); }catch(_e){}
var next = document.createElement('div');
next.className = 'rfd-q' + (reduceM ? '' : ' rfd-q-enter');
next.innerHTML = buildQ(q);
qLock = true;
var old = qview.firstElementChild;
if(old && !reduceM){ old.classList.add('rfd-q-leave'); }
function swapIn(){
if(old){ old.remove(); }
qview.appendChild(next);
var go = next.querySelector('.rfd-qgo'); if(go){ go.addEventListener('click', advance); }
var inp = next.querySelector('.rfd-qinput');
if(inp){
if(answers[q.key]){ inp.value = answers[q.key]; }
else if(q.key === 'a2' && prefillA2){ inp.value = prefillA2; markPrefillNote(inp); }
if(inp.tagName === 'TEXTAREA'){ inp.addEventListener('input', function(){ autoGrow(inp); }); }
var suggs = next.querySelectorAll('.rfd-sugg-chip');
[].forEach.call(suggs, function(b){ b.addEventListener('click', function(){
// Pastille de NOM (mentions legales) : on remplit le champ tel quel.
var nm = b.getAttribute('data-n');
if(nm){ inp.value = nm; try{ inp.focus(); inp.selectionStart = inp.selectionEnd = inp.value.length; }catch(_e0){} return; }
var t = b.getAttribute('data-t'); var v = inp.value; var re = /(probl[eé]matique n°1 en seo est\s*).*/i;
if(re.test(v)){ inp.value = v.replace(re, '$1' + t + '.'); }
else { var base = v.replace(/[\s.]*$/, ''); inp.value = (base ? base + ' ' : '') + t.charAt(0).toUpperCase() + t.slice(1) + '.'; }
try{ inp.focus(); inp.selectionStart = inp.selectionEnd = inp.value.length; }catch(_e){} autoGrow(inp);
}); });
inp.addEventListener('keydown', function(e){ if(e.key === 'Enter' && !(inp.tagName === 'TEXTAREA' && e.shiftKey)){ e.preventDefault(); advance(); } });
setTimeout(function(){ try{ inp.focus(); if(inp.value){ inp.selectionStart = inp.selectionEnd = inp.value.length; } autoGrow(inp); }catch(_e){} }, reduceM ? 0 : 260);
}
setTimeout(function(){ if(!reduceM){ next.classList.remove('rfd-q-enter'); } qLock = false; }, reduceM ? 0 : 30);
}
setTimeout(swapIn, (old && !reduceM) ? 190 : 0);
qbar.style.width = Math.round(((i+1)/QS.length)*100) + '%';
qcount.textContent = (i+1) + '/' + QS.length;
qback.disabled = (i === 0);
}
function revealCalendar(){
stepQuiz.classList.add('rfd-hidden');
if(stepEmail) stepEmail.classList.add('rfd-hidden');
stepDone.classList.remove('rfd-hidden');
stepIn(stepDone, 'rfd-anim-fade', 0);
try{ stepDone.scrollIntoView({behavior:'smooth', block:'start'}); }catch(_e){}
var cal = document.getElementById('rfd-cal');
cal.innerHTML = '';
function doInit(){
if(cal.getAttribute('data-rfd-cal'))return; cal.setAttribute('data-rfd-cal','1');
var p = [];
if(lastUrl) p.push('a1=' + encodeURIComponent(lastUrl));
var a2val = answers.a2; if(!a2val){ try{ a2val = buildAutoA2(); }catch(_e){ a2val = ''; } }
if(a2val) p.push('a2=' + encodeURIComponent(a2val));
if(answers.a3) p.push('a3=' + encodeURIComponent(answers.a3));
if(answers.a4) p.push('a4=' + encodeURIComponent(answers.a4));
if(answers.name) p.push('name=' + encodeURIComponent(answers.name));
if(lastEmail) p.push('email=' + encodeURIComponent(lastEmail));
var calUrl = CALENDLY + (p.length ? '&' + p.join('&') : '');
try{ window.Calendly.initInlineWidget({url:calUrl, parentElement:cal}); }catch(_e){}
}
if(window.Calendly && window.Calendly.initInlineWidget){ doInit(); }
else {
var s = document.createElement('script');
s.src = 'https://assets.calendly.com/assets/external/widget.js';
s.async = true;
s.onload = doInit;
document.body.appendChild(s);
}
}
qback.addEventListener('click', goBack);
window.addEventListener('message', function(e){
try{
// Ce handler gere UNIQUEMENT la Calendly du tunnel. S'il tourne alors que l'etape finale
// du tunnel n'est pas affichee, c'est la Calendly directe (#cal-direct) qui a emis -> on ignore
// (sinon il scrollait la page de facon aberrante a la selection d'un creneau).
if(!stepDone || stepDone.classList.contains('rfd-hidden')) return;
if((''+e.origin).indexOf('calendly.com') > -1 && e.data && e.data.event === 'calendly.date_and_time_selected'){
// Calendly reaffiche son widget par le HAUT apres le choix du creneau. Or le bouton
// « Confirmer l'evenement » est tout en BAS de son formulaire, et l'iframe fait 1000px
// sur mobile pour un ecran de ~812px : le bouton tombe sous la ligne de flottaison et
// la personne croit avoir termine. On redescend donc sur le bas + on affiche le rappel.
try{
var _h = document.getElementById('rfd-calhint');
var _ht = document.getElementById('rfd-calhint-top');
if(_h) _h.hidden = false;
if(_ht) _ht.hidden = false; // celui du HAUT : visible la ou Calendly remonte, meme si le scroll echoue
// Calendly scrolle LUI-MEME vers le haut de son widget, et il le fait APRES nous :
// un seul scroll se fait ecraser (constate par Vincent le 16/07). On insiste donc sur
// ~1,6 s pour repasser devant lui, mais on ABANDONNE des que la personne touche
// l'ecran ou la molette : on ne se bat jamais contre un utilisateur qui scrolle.
var _stop = false;
var _mano = function(){ _stop = true; };
window.addEventListener('wheel', _mano, {passive:true});
window.addEventListener('touchstart', _mano, {passive:true});
// Position calculee EXPLICITEMENT plutot que scrollIntoView : on veut le BAS du rappel
// colle au BAS de l'ecran, donc le bouton « Confirmer » de Calendly juste au-dessus.
// (scrollIntoView delegue au navigateur et n'aboutissait pas : constate par Vincent.)
var _bas = function(_fluide){
var _t = document.getElementById('rfd-calhint') || document.getElementById('rfd-cal');
if(!_t) return;
var _r = _t.getBoundingClientRect();
var _y = window.pageYOffset + _r.bottom - window.innerHeight + 14;
var _max = Math.max(0, document.documentElement.scrollHeight - window.innerHeight);
_y = Math.max(0, Math.min(_y, _max));
window.scrollTo({ top: _y, behavior: _fluide ? 'smooth' : 'auto' });
};
// 1re passe fluide (agreable), puis passes INSTANTANEES : un scroll fluide relance
// en boucle se reinitialise sans jamais aboutir, et Calendly scrolle apres nous.
setTimeout(function(){ if(!_stop) _bas(true); }, 420);
[1100, 1700, 2400, 3100].forEach(function(_d){
setTimeout(function(){ if(!_stop) _bas(false); }, _d);
});
setTimeout(function(){
try{ window.removeEventListener('wheel', _mano); window.removeEventListener('touchstart', _mano); }catch(_e3){}
}, 3300);
}catch(_e1){}
}
if((''+e.origin).indexOf('calendly.com') > -1 && e.data && e.data.event === 'calendly.event_scheduled'){
try{ var _hh=document.getElementById('rfd-calhint'); if(_hh) _hh.hidden = true; var _hht=document.getElementById('rfd-calhint-top'); if(_hht) _hht.hidden = true; }catch(_e0){}
try{ if(typeof gtag==='function'){ gtag('event','rdv_reserve',{event_category:'Diagnostic',event_label:lastUrl}); } }catch(_e){}
if(leadId && lastUrl){ try{ fetch(LEAD_API, { method:'POST', headers:{'content-type':'application/json'}, body: JSON.stringify({ id:leadId, url:lastUrl, booked:true }) }).catch(function(){}); }catch(_e){} }
}
}catch(err){}
});
document.addEventListener('click', function(e){
var t = e.target.closest && e.target.closest('[data-rfd-cta]');
if(t){
e.preventDefault();
root.scrollIntoView({behavior:'smooth', block:'center'});
setTimeout(function(){ try{ if(!stepForm.classList.contains('rfd-hidden')) elUrl.focus(); }catch(_e){} }, 500);
}
});
}
if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', boot); }
else { boot(); }
})();
</script>
<script>
/* Quiz "Avez-vous besoin d'un accompagnement SEO ?" - assistant étape par étape, vanilla. */
(function(){
var form = document.getElementById("quizForm");
if(!form) return;
var steps = [].slice.call(form.querySelectorAll(".quiz-step"));
var bar = document.getElementById("quizBar");
var count = document.getElementById("quizCount");
var back = document.getElementById("quizBack");
var result = document.getElementById("quizResult");
var cur = 0, TOTAL = steps.length;
function render(focus){
steps.forEach(function(s, i){ s.classList.toggle("is-active", i === cur); });
bar.style.width = Math.round(((cur + 1) / TOTAL) * 100) + "%";
count.textContent = "Question " + (cur + 1) + " sur " + TOTAL;
back.style.visibility = cur > 0 ? "visible" : "hidden";
if(focus){ try{ var r = steps[cur].querySelector("input"); r && r.focus({preventScroll:true}); }catch(_e){} }
}
var quizLock = false;
function quizPick(radio){
if(quizLock || !radio) return;
var step = radio.closest(".quiz-step"); if(!step) return;
radio.checked = true;
step.querySelectorAll(".quiz-opt").forEach(function(l){ l.classList.toggle("sel", l.querySelector("input").checked); });
quizLock = true;
if(cur < TOTAL - 1){ setTimeout(function(){ cur++; quizLock = false; render(true); }, 260); }
else { setTimeout(finish, 320); }
}
/* Avance au CLIC (fiable meme si l'option est deja cochee) ET au change (clavier). Verrou anti double-avance. */
form.addEventListener("change", function(e){ if(e.target && e.target.type === "radio") quizPick(e.target); });
form.addEventListener("click", function(e){ var opt = e.target.closest && e.target.closest(".quiz-opt"); if(opt) quizPick(opt.querySelector("input")); });
back.addEventListener("click", function(){ if(cur > 0){ cur--; render(true); } });
function finish(){
var score = 0;
form.querySelectorAll("input[type=radio]:checked").forEach(function(i){ score += parseInt(i.value, 10) || 0; });
var cls, badge, title, msg, cta;
if(score >= 7){
cls = "hi"; badge = "✓";
title = "Oui, un consultant SEO est clairement fait pour vous.";
msg = "Vous avez une activité qui tourne et la volonté d'investir dans la durée. Un consultant peut faire de Google votre canal de clients le plus rentable. La prochaine étape logique : un diagnostic pour identifier vos leviers prioritaires.";
cta = "<a class='btn btn-primary' href='#diagnostic' data-rfd-cta>Lancer mon diagnostic SEO →</a>";
} else if(score >= 4){
cls = "mid"; badge = "≈";
title = "Probablement, mais validons-le ensemble.";
msg = "Il y a de vrais signaux positifs, et sûrement 2 ou 3 points à clarifier. Le plus simple : un diagnostic offert de 30 min. On regarde votre site en direct et je vous dis franchement si un consultant en vaut la peine pour vous.";
cta = "<a class='btn btn-primary' href='#diagnostic' data-rfd-cta>Lancer mon diagnostic SEO →</a>";
} else {
cls = "lo"; badge = "!";
title = "Honnêtement, ce n'est pas encore le moment.";
msg = "Un consultant SEO donne le meilleur quand vous avez déjà du chiffre d'affaires et de la patience sur 6 à 12 mois. Ce n'est pas tout à fait votre situation, et je préfère vous le dire plutôt que de vous vendre l'inverse. Commencez par les bases : ma checklist SEO gratuite, et revenez quand votre activité aura décollé.";
cta = "<a class='btn btn-ghost' href='https://formation.vincenthego.com/la-checklist-seo'>Recevoir la checklist SEO gratuite</a>";
}
form.style.display = "none";
var pg = document.querySelector(".quiz-progress"); if(pg) pg.style.display = "none";
count.style.display = "none";
var nav = document.querySelector(".quiz-nav"); if(nav) nav.style.display = "none";
result.innerHTML = "<div class='qr-badge " + cls + "'>" + badge + "</div><div class='qr-title'>" + title + "</div><p>" + msg + "</p>" + cta;
result.hidden = false;
try{ if(typeof gtag === "function"){ gtag("event", "quiz_consultant", {event_category:"Quiz", event_label:cls, value:score}); } }catch(_e){}
try{ result.scrollIntoView({behavior:"smooth", block:"center"}); }catch(_e){}
}
render(false);
})();
</script>
<script>
(function(){
var header=document.getElementById('site-header');
var burger=document.querySelector('label.burger');
var nav=document.querySelector('.site-nav');
var box=document.getElementById('navtoggle');
function set(open){
header.classList.toggle('menu-open',open);
if(nav){nav.style.transform=open?'translateY(0)':'';nav.style.visibility=open?'visible':'';}
if(box)box.checked=open;
}
if(burger){burger.addEventListener('click',function(e){e.preventDefault();set(!header.classList.contains('menu-open'));});}
document.querySelectorAll('.site-nav a').forEach(function(a){a.addEventListener('click',function(){
if(header.classList.contains('menu-open')&&a.target!=='_blank')set(false);
});});
})();
</script>
<script>(function(){var p=document.getElementById("scroll-prog");if(!p)return;var tick=false;function upd(){var h=document.documentElement.scrollHeight-window.innerHeight;p.style.width=(h>0?Math.min(100,window.scrollY/h*100):0)+"%";}function onS(){if(tick)return;tick=true;requestAnimationFrame(function(){upd();tick=false;});}window.addEventListener("scroll",onS,{passive:true});window.addEventListener("resize",upd,{passive:true});upd();})();</script><script defer src="/assets/consent.js?v=5"></script>
<!-- ===== Widget WhatsApp conversationnel (site-wide) ===== -->
<style id="vh-wa">
.vhwa{position:fixed;right:22px;bottom:22px;z-index:5000;font-family:var(--font,'Gilroy',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);transition:bottom .35s var(--ease,cubic-bezier(.22,1,.36,1))}
.vhwa *{box-sizing:border-box}
/* --- bouton flottant --- */
.vhwa-fab{position:relative;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border:0;border-radius:50%;
background:#25d366;cursor:pointer;box-shadow:0 8px 24px rgba(37,211,102,.42),0 3px 8px rgba(20,16,60,.18);
transition:transform .28s var(--ease,cubic-bezier(.22,1,.36,1)),box-shadow .28s ease;-webkit-tap-highlight-color:transparent;overflow:visible}
.vhwa-fab:hover{transform:scale(1.07);box-shadow:0 12px 30px rgba(37,211,102,.5),0 4px 10px rgba(20,16,60,.2)}
.vhwa-fab:active{transform:scale(.96)}
.vhwa-fab svg{width:34px;height:34px;fill:#fff;transition:transform .35s var(--ease,ease)}
.vhwa-fab:hover svg{transform:rotate(-6deg) scale(1.05)}
.vhwa-fab:focus-visible{outline:3px solid #0a7d49;outline-offset:3px}
/* halo pulsé (6 cycles puis stop) */
.vhwa-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;opacity:0;animation:vhwaPulse 2.4s ease-out 6}
@keyframes vhwaPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.7);opacity:0}100%{transform:scale(1.7);opacity:0}}
/* point rouge de notif (parfaitement centré) */
.vhwa-dot{position:absolute;top:-3px;right:-3px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;
border-radius:50%;background:#ff3b30;color:#fff;font-size:12px;font-weight:700;line-height:1;border:2.5px solid #fff;
box-shadow:0 2px 6px rgba(255,59,48,.45);animation:vhwaPop .45s var(--ease,ease) both}
@keyframes vhwaPop{0%{transform:scale(0)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
/* label de survol (desktop) */
.vhwa-tip{position:absolute;right:74px;bottom:14px;white-space:nowrap;background:#fff;color:var(--ink,#15131f);font-size:14px;font-weight:600;
padding:10px 15px;border-radius:14px;box-shadow:0 6px 20px rgba(20,16,60,.16);opacity:0;transform:translateX(10px) scale(.9);
transform-origin:right center;pointer-events:none;transition:opacity .25s ease,transform .3s var(--ease,ease)}
.vhwa-tip::after{content:"";position:absolute;right:-6px;top:50%;margin-top:-6px;border:6px solid transparent;border-left-color:#fff;border-right:0}
.vhwa-fab:hover+.vhwa-tip,.vhwa-tip.show{opacity:1;transform:translateX(0) scale(1)}
/* --- panneau chat --- */
.vhwa-panel{position:absolute;right:0;bottom:80px;width:340px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100dvh - 130px);
background:#eae2d9;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
box-shadow:0 18px 60px rgba(11,20,26,.28),0 6px 18px rgba(11,20,26,.16);
opacity:0;transform:translateY(16px) scale(.94);transform-origin:bottom right;pointer-events:none;visibility:hidden;
transition:opacity .26s ease,transform .3s var(--ease,cubic-bezier(.22,1,.36,1)),visibility 0s linear .3s}
.vhwa.open .vhwa-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible;
transition:opacity .26s ease,transform .3s var(--ease,cubic-bezier(.22,1,.36,1)),visibility 0s}
.vhwa.open .vhwa-fab::before{animation:none;opacity:0}
.vhwa-panel:focus{outline:none}
@media(hover:none){.vhwa-x:hover,.vhwa-back:hover{background:transparent}}
/* header */
.vhwa-head{display:flex;align-items:center;gap:11px;padding:11px 10px 11px 14px;background:#0a7d49;
background-image:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.05));color:#fff;flex:none}
.vhwa-ava{position:relative;width:42px;height:42px;border-radius:50%;flex:none;background:#0e5d3a}
.vhwa-ava::before{content:"VH";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700}
.vhwa-ava img{position:relative;width:42px;height:42px;border-radius:50%;object-fit:cover;display:block;border:1.5px solid rgba(255,255,255,.5)}
.vhwa-ava::after{content:"";position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:#4ade80;border:2px solid #0a7d49}
.vhwa-hi{flex:1;min-width:0;line-height:1.25}
.vhwa-name{font-size:16px;font-weight:700;color:#fff}
.vhwa-status{font-size:13px;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:5px}
.vhwa-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80;display:inline-block}
.vhwa-x{border:0;background:transparent;color:#fff;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s}
.vhwa-x:hover{background:rgba(255,255,255,.16)}
.vhwa-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vhwa-x svg{width:20px;height:20px;stroke:#fff;stroke-width:2.4;fill:none}
/* bouton retour (mode réservation Calendly) */
.vhwa-back{display:none;border:0;background:transparent;cursor:pointer;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;padding:0;margin:0 2px 0 -6px}
.vhwa-back:hover{background:rgba(255,255,255,.16)}
.vhwa-back:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vhwa-back svg{width:22px;height:22px;stroke:#fff;stroke-width:2.4;fill:none;display:block}
.vhwa.booking .vhwa-back{display:flex}
/* conteneur Calendly inline */
.vhwa-cal{display:none;flex:1;min-height:0;background:#fff;position:relative}
.vhwa-cal:empty::before{content:"Chargement du calendrier…";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#667781;font-size:14px}
.vhwa-cal .calendly-inline-widget,.vhwa-cal iframe{width:100%!important;height:100%!important;min-width:0!important}
.vhwa.booking .vhwa-body,.vhwa.booking .vhwa-foot{display:none}
.vhwa.booking .vhwa-cal{display:block}
/* fenêtre agrandie en mode réservation */
.vhwa.booking .vhwa-panel{width:min(460px,calc(100vw - 24px));height:min(86dvh,720px)}
/* corps */
.vhwa-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;padding:16px 14px 16px;background-color:#eae2d9;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='58' height='58' viewBox='0 0 58 58'%3E%3Cg fill='none' stroke='%23d6cbbc' stroke-width='1.1' opacity='.55'%3E%3Cpath d='M8 13h11a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-5l-3 3v-3H8a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2z'/%3E%3Ccircle cx='44' cy='40' r='5'/%3E%3Cpath d='M35 12l3 3 5-6'/%3E%3C/g%3E%3C/svg%3E");
scrollbar-width:thin;scrollbar-color:#c9bfb0 transparent}
.vhwa-body::-webkit-scrollbar{width:6px}.vhwa-body::-webkit-scrollbar-thumb{background:#c9bfb0;border-radius:3px}
.vhwa-body>*{flex:0 0 auto}
.vhwa-body>*:first-child{margin-top:0}
.vhwa-row{display:flex;align-items:flex-end;gap:7px;margin-top:13px;animation:vhwaIn .34s var(--ease,ease) both}
.vhwa-row.me{justify-content:flex-end}
@keyframes vhwaIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vhwa-mini{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 1px 2px rgba(11,20,26,.15)}
.vhwa-mini.spacer{visibility:hidden}
.vhwa-bub{position:relative;max-width:80%;padding:8px 11px 7px;border-radius:9px;font-size:15px;line-height:1.42;color:#111b21;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
box-shadow:0 1px 1px rgba(11,20,26,.13);word-wrap:break-word}
.vhwa-bub.them{background:#fff;border-top-left-radius:2px}
.vhwa-bub.them::before{content:"";position:absolute;top:0;left:-7px;border-top:8px solid #fff;border-left:8px solid transparent}
.vhwa-bub.you{background:#d9fdd3;border-top-right-radius:2px}
.vhwa-bub.you::before{content:"";position:absolute;top:0;right:-7px;border-top:8px solid #d9fdd3;border-right:8px solid transparent}
.vhwa-tm{display:flex;justify-content:flex-end;align-items:center;gap:3px;font-size:11px;color:#667781;margin-top:3px}
.vhwa-tm svg{width:16px;height:11px;flex:none}
/* typing : points immobiles qui s'allument un par un */
.vhwa-typing{position:relative;display:inline-flex;gap:5px;align-items:center;padding:10px 12px;background:#fff;border-radius:9px;border-top-left-radius:2px;box-shadow:0 1px 1px rgba(11,20,26,.13)}
.vhwa-typing::before{content:"";position:absolute;top:0;left:-6px;border-top:7px solid #fff;border-left:7px solid transparent}
.vhwa-typing i{width:7px;height:7px;border-radius:50%;background:#9aa6ad;opacity:.28;animation:vhwaBlink 1.4s infinite ease-in-out}
.vhwa-typing i:nth-child(2){animation-delay:.25s}.vhwa-typing i:nth-child(3){animation-delay:.5s}
@keyframes vhwaBlink{0%,70%,100%{opacity:.28;background:#9aa6ad}35%{opacity:1;background:#5a6b73}}
/* quick replies (pastilles premium empilées à droite) */
.vhwa-qr{display:flex;flex-direction:column;align-items:flex-end;gap:11px;margin:15px 0 0}
.vhwa-qr.more{margin-top:18px}
.vhwa-sep{align-self:stretch;display:flex;align-items:center;gap:10px;margin:0 2px 8px;color:#6b7b72;font-size:12px;font-weight:600}
.vhwa-sep::before,.vhwa-sep::after{content:"";flex:1;height:1px;background:rgba(11,20,26,.12)}
.vhwa-chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;border:1.5px solid #d5e9df;background:#fff;color:#0a7d49;
font-family:var(--font,'Gilroy',sans-serif);font-size:14.5px;font-weight:600;
padding:7px 18px 7px 7px;border-radius:16px;cursor:pointer;box-shadow:0 1px 3px rgba(11,20,26,.09);
transition:background .18s,color .18s,border-color .18s,box-shadow .2s,transform .18s;line-height:1.2;text-align:left;
animation:vhwaIn .34s var(--ease,ease) both}
.vhwa-chip .ic{width:30px;height:30px;border-radius:50%;background:#eaf6f0;display:flex;align-items:center;justify-content:center;flex:none;transition:background .18s}
.vhwa-chip .ic svg{width:16px;height:16px}
.vhwa-chip svg{flex:none}
.vhwa-chip:hover{background:#0a7d49;color:#fff;border-color:#0a7d49;box-shadow:0 6px 16px rgba(10,125,73,.26);transform:translateY(-1px)}
.vhwa-chip:hover .ic{background:rgba(255,255,255,.22)}
.vhwa-chip:active{transform:scale(.98)}
.vhwa-chip:focus-visible{outline:2px solid #0a7d49;outline-offset:2px}
.vhwa-chip.opt{padding:10px 16px}
/* CTA final */
.vhwa-cta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:16px;padding:14px 16px;border-radius:14px;
font-family:var(--font,'Gilroy',sans-serif);font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;border:0;transition:transform .18s,box-shadow .2s,background .2s;
animation:vhwaIn .34s var(--ease,ease) both}
.vhwa-cta:hover{transform:translateY(-2px)}
.vhwa-cta:active{transform:scale(.98)}
.vhwa-cta:focus-visible{outline:2px solid #0a7d49;outline-offset:2px}
.vhwa-cta.wa{background:#0a7d49;color:#fff;box-shadow:0 6px 16px rgba(10,125,73,.3)}
.vhwa-cta.wa:hover{background:#08693d}
.vhwa-cta.brand{background:linear-gradient(135deg,var(--orange,#f05820),var(--orange-soft,#ff7a4a));color:#fff;box-shadow:0 6px 16px rgba(240,88,32,.32)}
.vhwa-cta svg{width:20px;height:20px;fill:currentColor;flex:none}
/* barre de saisie */
.vhwa-foot{flex:none;display:flex;align-items:center;gap:9px;padding:9px 10px;background:#f0f0f0;border-top:1px solid #e0ddd6}
.vhwa-fake{flex:1;min-width:0;min-height:44px;background:#fff;border:0;border-radius:999px;padding:11px 16px;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:16px;color:#111b21;transition:box-shadow .2s}
.vhwa-fake::placeholder{color:#54656f}
.vhwa-fake:hover{box-shadow:0 0 0 2px #d9e6df inset}
.vhwa-fake:focus{outline:none;box-shadow:0 0 0 2px #0a7d49 inset}
.vhwa-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#0a7d49;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .18s,background .2s}
.vhwa-send:hover{background:#08693d;transform:scale(1.06)}
.vhwa-send svg{width:22px;height:22px;fill:#fff;margin-left:2px}
.vhwa-send:focus-visible{outline:2px solid #0a7d49;outline-offset:2px}
@media (max-width:480px){
.vhwa{right:14px;bottom:14px}
.vhwa-panel{bottom:76px;width:calc(100vw - 24px);height:min(74dvh,540px)}
.vhwa.booking .vhwa-panel{width:calc(100vw - 12px);height:min(90dvh,760px)}
.vhwa-tip{display:none}
}
@media (prefers-reduced-motion:reduce){
.vhwa-fab::before{animation:none;opacity:0}
.vhwa-row,.vhwa-chip,.vhwa-cta,.vhwa-dot{animation:none}
.vhwa-typing i{animation:none;opacity:.6}
.vhwa-panel{transition:opacity .2s ease}
}
</style>
<div class="vhwa" id="vhwa" aria-live="polite">
<div class="vhwa-panel" id="vhwa-panel" role="dialog" aria-label="Discuter avec Vincent Hégo sur WhatsApp" aria-modal="false" tabindex="-1" inert>
<div class="vhwa-head">
<button class="vhwa-back" id="vhwa-back" aria-label="Retour à la discussion"><svg viewbox="0 0 24 24" fill="none" aria-hidden="true"><path d="M15 6l-6 6 6 6" stroke-linecap="round" stroke-linejoin="round"/></svg></button>
<span class="vhwa-ava"><img src="/assets/brand/vincent-rond.webp" width="42" height="42" alt="Vincent Hégo" loading="lazy" decoding="async"></span>
<span class="vhwa-hi"><span class="vhwa-name">Vincent Hégo</span><span class="vhwa-status">En ligne</span></span>
<button class="vhwa-x" id="vhwa-close" aria-label="Fermer la discussion"><svg viewbox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18" stroke-linecap="round"/></svg></button>
</div>
<div class="vhwa-body" id="vhwa-body"></div>
<div class="vhwa-cal" id="vhwa-cal"></div>
<div class="vhwa-foot">
<input class="vhwa-fake" id="vhwa-fake" type="text" maxlength="500" enterkeyhint="send" placeholder="Posez votre question…" aria-label="Votre question pour Vincent (envoyée via WhatsApp)">
<button class="vhwa-send" id="vhwa-send" aria-label="Envoyer sur WhatsApp"><svg viewbox="0 0 24 24" aria-hidden="true"><path d="M3 20.5l18-8.5L3 3.5 3 10l13 2-13 2z"/></svg></button>
</div>
</div>
<button class="vhwa-fab" id="vhwa-fab" aria-label="Ouvrir la discussion WhatsApp avec Vincent Hégo" aria-expanded="false">
<svg viewbox="0 0 24 24" aria-hidden="true"><path d="M17.5 14.4c-.3-.15-1.7-.85-2-.95-.25-.1-.45-.15-.6.15-.2.3-.7.95-.85 1.1-.15.2-.3.2-.6.05-.3-.15-1.25-.45-2.4-1.5-.9-.8-1.5-1.75-1.65-2.05-.15-.3 0-.45.15-.6.15-.15.3-.35.45-.55.15-.2.2-.3.3-.5.1-.2.05-.4-.05-.55-.1-.15-.6-1.45-.85-2-.2-.5-.4-.45-.6-.45h-.5c-.2 0-.5.05-.75.35-.25.3-1 .95-1 2.35s1.05 2.7 1.2 2.9c.15.2 2.05 3.15 5 4.4.7.3 1.25.5 1.65.65.7.2 1.35.2 1.85.1.55-.05 1.7-.7 1.95-1.35.25-.65.25-1.2.15-1.35-.1-.1-.3-.15-.6-.3zM12 2a10 10 0 0 0-8.5 15.3L2 22l4.8-1.5A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.15l-.3-.18-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2z"/></svg>
<span class="vhwa-dot" aria-hidden="true">1</span>
</button>
<span class="vhwa-tip" id="vhwa-tip" aria-hidden="true">👋 Une question SEO ? Écrivez-moi</span>
</div>
<script>
(function(){
var WA="https://wa.me/33756856634";
var root=document.getElementById('vhwa'),fab=document.getElementById('vhwa-fab'),body=document.getElementById('vhwa-body'),
tip=document.getElementById('vhwa-tip'),panel=document.getElementById('vhwa-panel'),dot=document.querySelector('.vhwa-dot'),
input=document.getElementById('vhwa-fake'),reduce=matchMedia('(prefers-reduced-motion:reduce)').matches,
started=false,qtimer=null,chosen={};
function wa(txt){return WA+(txt?'?text='+encodeURIComponent(txt):'');}
function track(n,p){try{if(typeof gtag==='function')gtag('event',n,p||{});}catch(e){}}
// Contexte de la page (accroche + source WhatsApp adaptées), dérivé au runtime :
var CTX=(function(){try{
var path=location.pathname.replace(/\/+$/,'/');
var title=(document.title||'').replace(/\s*\|.*$/,'').trim();
var m=path.match(/^\/((?:consultant|agence)-(?:seo|geo))-([a-z0-9-]+)\/$/);
if(m){
var h1=document.querySelector('h1');
var cm=(h1?h1.textContent:title).match(/(?:^|\s)à\s+([^,:.|]+?)\s*(?:[:,.|]|$)/);
if(cm){var ville=cm[1].trim();var isGeo=m[1].indexOf('geo')>-1;
var offre=(m[1].indexOf('agence')===0?'une agence ':'un consultant ')+(isGeo?'GEO':'SEO');
return {greet2:'Vous cherchez '+offre+' à '+ville+' ? Vous êtes au bon endroit. Choisissez un sujet ci-dessous, ou écrivez-moi 😊',
src:'votre page '+(isGeo?'GEO':'SEO')+' '+ville,ville:ville};}
}
if(/^\/blog\/.+\//.test(path))
return {greet2:'Une question sur cet article, ou sur votre référencement ? Choisissez ci-dessous ou écrivez-moi 😊',
src:'l\'article « '+title+' »',sujet:title};
}catch(e){}return {};})();
var SRC=CTX.src?' (depuis '+CTX.src+')':'';
function now(){var d=new Date();return (d.getHours()<10?'0':'')+d.getHours()+':'+(d.getMinutes()<10?'0':'')+d.getMinutes();}
function scroll(){body.scrollTop=body.scrollHeight;}
function esc(s){return s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');}
var CHECKS='<svg viewBox="0 0 18 12" fill="none" stroke="#53bdeb" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M1.5 6.6l3.2 3.2L10.2 4"/><path d="M7.6 9.8L16.5 1.6"/></svg>';
var AVA='<img class="vhwa-mini" src="/assets/brand/vincent-rond.webp" width="26" height="26" alt="" aria-hidden="true" decoding="async">';
function groupAva(r){var p=r.previousElementSibling;if(p&&p.classList.contains('them')){var a=p.querySelector('.vhwa-mini');if(a){a.classList.add('spacer');r.style.marginTop='7px';}}}
function bubble(side,html,time){var me=side==='me';var r=document.createElement('div');r.className='vhwa-row '+(me?'me':'them');
r.innerHTML=(me?'':AVA)+'<div class="vhwa-bub '+(me?'you':'them')+'">'+html+(time?'<span class="vhwa-tm">'+now()+(me?CHECKS:'')+'</span>':'')+'</div>';
body.appendChild(r);if(!me)groupAva(r);scroll();return r;}
function typing(cb,ms){var r=document.createElement('div');r.className='vhwa-row them';
r.innerHTML=AVA+'<span class="vhwa-typing" aria-label="Vincent écrit"><i></i><i></i><i></i></span>';body.appendChild(r);groupAva(r);scroll();
setTimeout(function(){r.remove();cb();},reduce?200:(ms||1400));}
// Tous les points d'entrée passent par l'arbre TREE + startTree() (plus de STEPS).
var ICON={wa:'<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M17.5 14.4c-.3-.15-1.7-.85-2-.95-.25-.1-.45-.15-.6.15-.2.3-.7.95-.85 1.1-.15.2-.3.2-.6.05-.3-.15-1.25-.45-2.4-1.5-.9-.8-1.5-1.75-1.65-2.05-.15-.3 0-.45.15-.6.15-.15.3-.35.45-.55.15-.2.2-.3.3-.5.1-.2.05-.4-.05-.55-.1-.15-.6-1.45-.85-2-.2-.5-.4-.45-.6-.45h-.5c-.2 0-.5.05-.75.35-.25.3-1 .95-1 2.35s1.05 2.7 1.2 2.9c.15.2 2.05 3.15 5 4.4.7.3 1.25.5 1.65.65.7.2 1.35.2 1.85.1.55-.05 1.7-.7 1.95-1.35.25-.65.25-1.2.15-1.35-.1-.1-.3-.15-.6-.3zM12 2a10 10 0 0 0-8.5 15.3L2 22l4.8-1.5A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.15l-.3-.18-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2z"/></svg>',
arrow:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg>'};
var CHIP={
seo:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"/><path d="M12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"/><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"/><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"/></svg>',
formation:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M22 10L12 5 2 10l10 5 10-5z"/><path d="M6 12v5c0 1.66 2.69 3 6 3s6-1.34 6-3v-5"/></svg>',
diag:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/></svg>',
ask:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/></svg>'};
function makeChip(key,label,i){var b=document.createElement('button');b.className='vhwa-chip';b.type='button';
b.innerHTML='<span class="ic">'+CHIP[key]+'</span><span>'+label+'</span>';
b.style.animationDelay=(reduce?0:i*70)+'ms';return b;}
function pfill(s){var v=CTX.ville?(' à '+CTX.ville):'';return s.replace(/\{ville\}/g,v).replace(/\{sujet\}/g,CTX.sujet||'votre référencement');}
function showQuick(){
var old=body.querySelector('.vhwa-qr');if(old)old.remove();
var qr=document.createElement('div');qr.className='vhwa-qr';
// [nœud d'arbre, icône, libellé]
var opts=[['boost','seo','Faire décoller mon SEO'],['diag','diag','Mon diagnostic offert'],['formation','formation','Me former au SEO'],['question','ask',"J'ai une question"]];
opts.forEach(function(o,i){var b=makeChip(o[1],o[2],i);b.onclick=function(){startTree(o[0],qr);};qr.appendChild(b);});
body.appendChild(qr);scroll();
}
// ===== Qualification guidée (arbre pondéré) déclenchée par « Poser une autre question » =====
var TREE={
// ---- entrée : Faire décoller mon SEO ----
boost:{q:"Génial 🚀 Pour faire décoller votre SEO{ville}, dites-moi : où en êtes-vous ?",a:[
{t:"J'ai un site mais il stagne",v:"mon site stagne",w:2,go:'secteur'},
{t:"Mon site est neuf ou à créer",v:"mon site est tout neuf (ou à créer)",w:1,go:'secteur'},
{t:"Je suis déjà visible, je veux plus",v:"je suis déjà visible mais je veux plus",w:2,go:'secteur'}
]},
secteur:{q:"Vous êtes dans quel domaine ?",a:[
{t:"E-commerce / boutique",v:"je suis en e-commerce",w:2,go:'budget',say:"L'e-commerce, c'est un terrain que j'adore 🛒 Fiches produits et catégories bien optimisées = du ROI rapide."},
{t:"SaaS / tech / B2B",v:"je suis dans le SaaS / la tech",w:3,go:'budget',say:"Le SEO pour les SaaS, c'est ma spécialité (Waalaxy, MarkCopy…) 🚀 C'est là que je fais vraiment la différence."},
{t:"Activité locale (resto, artisan…)",v:"j'ai une activité locale",w:2,go:'budget',say:"En local, le combo fiche Google + pages villes fait des merveilles 📍"},
{t:"Autre",v:"mon secteur est un peu à part",w:1,go:'budget'}
]},
budget:{q:"Votre budget mensuel pour accélérer ?",a:[
{t:"Moins de 1000€",v:"avec un budget de moins de 1000€/mois",w:1,go:'end'},
{t:"1000 à 3000€",v:"avec un budget de 1000 à 3000€/mois",w:3,go:'end'},
{t:"Plus de 3000€",v:"avec un budget de plus de 3000€/mois",w:3,go:'end'},
{t:"À définir ensemble",v:"avec un budget encore à définir",w:1,go:'end'}
]},
// ---- entrée : Me former ----
formation:{q:"Excellent choix 🎓 La formation, c'est ranker sans dépendre de personne. Vous partez d'où ?",a:[
{t:"Grand débutant",v:"je débute totalement",w:1,go:'form_but'},
{t:"Je connais les bases",v:"je connais les bases",w:1,go:'form_but'},
{t:"Je gère déjà, je veux un cap",v:"je gère déjà mais je veux progresser",w:1,go:'form_but'}
]},
form_but:{q:"C'est pour :",a:[
{t:"Mon propre business",v:"c'est pour mon propre business",w:1,go:'form_end'},
{t:"Les sites de mes clients",v:"c'est pour les sites de mes clients",w:2,go:'form_end'}
]},
// ---- entrée : Diagnostic ----
diag:{q:"Parfait 🙂 Pour un diagnostic bien ciblé, votre priorité n°1 ?",a:[
{t:"Plus de trafic Google",v:"ma priorité c'est plus de trafic",w:2,go:'diag_end'},
{t:"Plus de ventes / de leads",v:"ma priorité c'est plus de ventes / de leads",w:2,go:'diag_end'},
{t:"Régler un souci technique",v:"ma priorité c'est régler un souci technique",w:1,go:'diag_end'},
{t:"Un regard global sur mon site",v:"je veux surtout un regard global sur mon site",w:1,go:'diag_end'}
]},
// ---- entrée : Question ----
question:{q:"Bien sûr ! Sur quoi puis-je vous éclairer ?",a:[
{t:"Vos tarifs",v:"j'ai une question sur vos tarifs",w:1,go:'q_tarif'},
{t:"Les délais de résultats",v:"je me demande en combien de temps j'aurai des résultats",w:1,go:'q_delai'},
{t:"Comment vous travaillez",v:"j'aimerais comprendre comment vous travaillez",w:1,go:'q_methode'},
{t:"Autre, je préfère écrire",v:"j'ai une question précise",w:0,go:'free'}
]},
q_tarif:{say:"En transparence : audit ponctuel dès ~800€, accompagnement mensuel entre 1000 et 3000€ selon l'ampleur, formation payable en une fois. Le juste prix dépend de votre projet.",q:"Vous cherchez plutôt :",a:[
{t:"Un accompagnement mensuel",v:"je m'intéresse à un accompagnement mensuel",w:2,go:'budget'},
{t:"Un audit ponctuel",v:"je pense plutôt à un audit ponctuel",w:1,go:'end'},
{t:"La formation",v:"c'est la formation qui m'intéresse",w:1,go:'form_end'}
]},
q_delai:{say:"Sincèrement : premiers signaux à 2-3 mois, du solide vers 6 mois, et ça compose ensuite. Le SEO est un actif durable, pas un sprint 📈",q:"Vous en êtes où aujourd'hui ?",a:[
{t:"Je démarre de zéro",v:"je démarre de zéro",w:1,go:'end'},
{t:"J'ai un site qui stagne",v:"mon site stagne aujourd'hui",w:2,go:'budget'},
{t:"Je veux accélérer",v:"je veux accélérer",w:2,go:'budget'}
]},
q_methode:{say:"Simple et carré : un audit qui priorise, une feuille de route claire, puis l'exécution (technique, contenu, netlinking), piloté par moi, pas par un junior.",q:"Ça vous parle ? On peut :",a:[
{t:"En discuter de vive voix",v:"j'aimerais qu'on échange de vive voix",w:2,go:'end'},
{t:"J'ai encore une question",v:"j'ai encore une question",w:0,go:'free'}
]}
};
var LEAD;
function ctaBtn(cls,icon,label,href){
var a=document.createElement('a');a.className='vhwa-cta '+cls;a.href=href||'#';a.target='_blank';a.rel='noopener';
a.innerHTML=ICON[icon]+'<span>'+label+'</span>';body.appendChild(a);scroll();return a;
}
function treeStep(id){
var node=TREE[id];
function showQ(){
bubble('them',pfill(node.q),true);
setTimeout(function(){
var wrap=document.createElement('div');wrap.className='vhwa-qr';
node.a.forEach(function(opt,i){
var b=document.createElement('button');b.className='vhwa-chip opt';b.type='button';
b.innerHTML='<span>'+esc(opt.t)+'</span>';b.style.animationDelay=(reduce?0:i*70)+'ms';
b.onclick=function(){pickTree(opt,wrap);};wrap.appendChild(b);
});
body.appendChild(wrap);scroll();
},reduce?0:450);
}
if(node.say){bubble('them',pfill(node.say),true);setTimeout(showQ,reduce?0:1000);}
else showQ();
}
function pickTree(opt,wrap){
if(wrap)wrap.remove();
bubble('me',esc(opt.t),true);
LEAD.push(opt.v);LEAD.score+=(opt.w||0);
var proceed=function(){
if(opt.go==='free'){typing(function(){bubble('them','Bien sûr 🙂 Écrivez votre message juste en dessous 👇',true);setTimeout(function(){try{input.focus();}catch(e){}},reduce?0:200);},900);return;}
if(opt.go==='form_end'){formEnd();return;}
if(opt.go==='diag_end'){diagEnd();return;}
if(opt.go==='end'){treeEnd();return;}
typing(function(){treeStep(opt.go);},900);
};
if(opt.say){typing(function(){bubble('them',pfill(opt.say),true);setTimeout(proceed,reduce?0:650);},1000);}
else proceed();
}
// Message WhatsApp pré-rempli, écrit comme le visiteur le dirait (1re personne, naturel) :
function leadMsg(){
var op={boost:"j'aimerais faire décoller mon référencement",diag:"j'aimerais réserver le diagnostic offert",formation:"votre formation SEO m'intéresse",question:"j'aurais quelques questions"}[LEAD.entry]||"j'ai un projet SEO";
var sit=LEAD.length?(' Voici ma situation : '+LEAD.join(', ')+'.'):'';
var from=CTX.src?(' (je vous écris depuis '+CTX.src+')'):'';
return wa('Bonjour Vincent 👋 '+op.charAt(0).toUpperCase()+op.slice(1)+'.'+sit+from);
}
function calCta(label){var a=ctaBtn('brand','arrow',label,'https://calendly.com/vhdigitalcorp/appel');a.addEventListener('click',function(ev){ev.preventDefault();track('whatsapp_lead',{dest:'tree_calendly'});openBooking();});return a;}
function waCta(label){ctaBtn('wa','wa',label,leadMsg()).addEventListener('click',function(){track('whatsapp_lead',{dest:'tree_wa'});});}
function treeEnd(){
var sc=LEAD.score;
typing(function(){
if(sc>=5){
bubble('them','Votre projet a un vrai potentiel 🚀 Le plus efficace : 30 min en visio (offert) pour tracer un plan clair. Choisissez votre créneau 👇',true);
calCta('Réserver mon créneau');waCta('Ou en discuter sur WhatsApp','voici ma situation');
}else if(sc>=3){
bubble('them','Ça se tient 🙂 Le plus simple : on en parle directement, je vous réponds vite 👇',true);
waCta('Continuer sur WhatsApp','voici ma situation');calCta('Ou réserver un appel offert');
}else{
bubble('them','Pour bien démarrer, on peut en parler quand vous voulez, ou vous former à votre rythme 🙂',true);
waCta('Continuer sur WhatsApp','voici ma situation');
ctaBtn('brand','arrow','Voir la formation SEO','https://formation.vincenthego.com/').addEventListener('click',function(){track('whatsapp_lead',{dest:'tree_formation'});});
}
},1200);
}
function formEnd(){
typing(function(){
bubble('them','La formation est faite pour ça 🎓 Vous apprenez à ranker vos pages vous-même, avec ma méthode et une garantie satisfait 365 jours.',true);
ctaBtn('brand','arrow','Découvrir la formation','https://formation.vincenthego.com/').addEventListener('click',function(){track('whatsapp_lead',{dest:'tree_formation'});});
waCta('une question sur la formation','à propos de la formation');
},1100);
}
function diagEnd(){
typing(function(){
bubble('them','Parfait, on fait le point ensemble en visio (30 min, offert). Choisissez votre créneau juste ici 👇',true);
calCta('Réserver mon créneau');waCta("Ou m'écrire sur WhatsApp",'je veux réserver un diagnostic');
},1100);
}
function startTree(entry,qr){
if(qr)qr.remove();if(qtimer){clearTimeout(qtimer);qtimer=null;}
LEAD=[];LEAD.score=0;LEAD.entry=entry;
var lbl={boost:"Je veux faire décoller mon SEO",diag:"Je réserve mon diagnostic offert",formation:"Je veux me former au SEO",question:"J'ai une question"};
bubble('me',lbl[entry]||'…',true);
typing(function(){treeStep(entry);},1300);
}
function intro(){
if(started)return;started=true;
// Le badge "1" = message déjà reçu -> on l'affiche IMMÉDIATEMENT (pas d'animation avant, cohérence).
bubble('them','Bonjour 👋 Ici Vincent, ravi de vous accueillir.',true);
// Puis Vincent "écrit" la suite en direct (chargement) :
setTimeout(function(){
typing(function(){
bubble('them',CTX.greet2||'Une question SEO ou un projet ? Choisissez un sujet ci-dessous, ou écrivez-moi directement 😁',true);
setTimeout(function(){showQuick();},reduce?0:400);
},2000);
},reduce?0:600);
}
function open(){root.classList.add('open');fab.setAttribute('aria-expanded','true');tip.classList.remove('show');
track('whatsapp_open');panel.removeAttribute('inert');
if(dot){dot.remove();dot=null;}
intro();setTimeout(function(){try{panel.focus();}catch(e){}},300);}
function close(){root.classList.remove('open');root.classList.remove('booking');fab.setAttribute('aria-expanded','false');panel.setAttribute('inert','');fab.focus();}
fab.addEventListener('click',function(){root.classList.contains('open')?close():open();});
document.getElementById('vhwa-close').addEventListener('click',close);
// ===== Réservation Calendly intégrée (lazy-load au clic, zéro poids tant qu'on ne clique pas) =====
var calBack=document.getElementById('vhwa-back'),calBox=document.getElementById('vhwa-cal');
function loadCalendly(cb){
if(window.Calendly){cb();return;}
var s=document.createElement('script');s.src='https://assets.calendly.com/assets/external/widget.js';s.async=true;
s.onload=cb;s.onerror=function(){window.open('https://calendly.com/vhdigitalcorp/appel','_blank','noopener');root.classList.remove('booking');};
document.head.appendChild(s);
}
function openBooking(){
track('whatsapp_lead',{dest:'calendly_open'});
root.classList.add('booking');
if(!calBox.dataset.init){
loadCalendly(function(){
try{window.Calendly.initInlineWidget({url:'https://calendly.com/vhdigitalcorp/appel?hide_event_type_details=1&hide_gdpr_banner=1&primary_color=f05820',parentElement:calBox});calBox.dataset.init='1';}
catch(e){window.open('https://calendly.com/vhdigitalcorp/appel','_blank','noopener');root.classList.remove('booking');}
});
}
setTimeout(function(){try{panel.focus();}catch(e){}},200);
}
function closeBooking(){root.classList.remove('booking');}
calBack.addEventListener('click',closeBooking);
window.addEventListener('message',function(e){
try{if((''+e.origin).indexOf('calendly.com')>-1&&e.data&&e.data.event==='calendly.event_scheduled'){
track('whatsapp_lead',{dest:'calendly_booked'});
setTimeout(function(){closeBooking();bubble('them','C\'est réservé, merci ! Je vous confirme tout par mail. À très vite 🎉',true);},1400);
}}catch(err){}
});
function sendText(v){
if(qtimer){clearTimeout(qtimer);qtimer=null;}
track('whatsapp_lead',{dest:'message'});
if(v){bubble('me',esc(v),true);
typing(function(){bubble('them','Je vous réponds sur WhatsApp, ça arrive 👍',true);},1200);}
window.open(wa((v||'Bonjour Vincent,')+SRC),'_blank','noopener');
}
function sendMsg(){var v=input.value.trim();input.value='';sendText(v);}
document.getElementById('vhwa-send').addEventListener('click',sendMsg);
input.addEventListener('keydown',function(e){if(e.key==='Enter'){e.preventDefault();sendMsg();}});
document.addEventListener('keydown',function(e){if(e.key==='Escape'&&root.classList.contains('open')){root.classList.contains('booking')?closeBooking():close();}});
// teaser proactif desktop : bulle après 18s OU à l'intention de sortie (une seule fois)
var teased=false;
function teaseOnce(){
if(teased||reduce||root.classList.contains('open'))return;
teased=true;tip.classList.add('show'); // le CSS masque .vhwa-tip en mobile (display:none), pas besoin de tester innerWidth
setTimeout(function(){tip.classList.remove('show');},6500);
}
setTimeout(teaseOnce,18000);
document.addEventListener('mouseout',function(e){if(e.clientY<=0&&!e.relatedTarget)teaseOnce();},{passive:true});
// mobile : remonter le widget au-dessus de la barre CTA sticky (« Lancer mon diagnostic SEO ») pour ne pas la chevaucher
var sticky=document.querySelector('.sticky-cta');
if(sticky){
function syncLift(){
var shown=matchMedia('(max-width:720px)').matches&&getComputedStyle(sticky).display!=='none'&&!sticky.classList.contains('is-hidden');
root.style.bottom=shown?(Math.round(sticky.getBoundingClientRect().height)+14)+'px':'';
}
new MutationObserver(syncLift).observe(sticky,{attributes:true,attributeFilter:['class','style']});
window.addEventListener('resize',syncLift,{passive:true});
window.addEventListener('orientationchange',syncLift);
syncLift();
}
})();
</script>
<!-- ===== /Widget WhatsApp ===== -->
<!-- PUCE RAPPEL FLOTTANTE (VH DIGITAL CORP) -->
<style id="vhrc-style">
.vhrc{position:fixed;left:24px;bottom:24px;z-index:2147480000;font-family:'Gilroy','Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.vhrc.vhrc-in{opacity:1;transform:none;pointer-events:auto}
.vhrc *,.vhrc *::before,.vhrc *::after{box-sizing:border-box}
.vhrc-pill{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eceaf4;border-radius:100px;box-shadow:0 10px 26px -8px rgba(20,16,60,.28),0 2px 6px rgba(20,16,60,.06);padding:8px 20px 8px 8px;cursor:pointer;transition:opacity .28s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .3s;font:inherit;color:inherit;text-align:left}
.vhrc-pill:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(20,16,60,.34)}
.vhrc-ava{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:50%}
.vhrc-ava img{width:46px;height:46px;border-radius:50%;object-fit:cover;display:block;border:2px solid #fff;box-shadow:0 0 0 1px #eceaf4}
.vhrc-dot{position:absolute;right:1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#2ac08a;border:2px solid #fff}
.vhrc-dot::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid #2ac08a;opacity:.6;animation:vhrc-pulse 2.2s ease-out infinite}
.vhrc-lbl{display:flex;flex-direction:column;line-height:1.16}
.vhrc-lbl b{font-size:.96rem;color:#1c1962;font-weight:800;letter-spacing:-.2px}
.vhrc-lbl span{font-size:.78rem;color:#6b6880;font-weight:500}
.vhrc-card{position:absolute;left:0;bottom:0;width:328px;max-width:calc(100vw - 48px);background:radial-gradient(120% 120% at 0% 0%,#fff 0%,#fbfaff 65%,#f7f6fd 100%);border:1px solid #eceaf4;border-radius:22px;box-shadow:0 30px 70px -24px rgba(20,16,60,.42),0 6px 16px rgba(20,16,60,.10);padding:20px 20px 18px;opacity:0;transform:translateY(10px) scale(.97);transform-origin:left bottom;pointer-events:none;transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1)}
.vhrc:hover .vhrc-pill,.vhrc:focus-within .vhrc-pill,.vhrc.vhrc-open .vhrc-pill{opacity:0;transform:translateY(6px);pointer-events:none}
.vhrc:hover .vhrc-card,.vhrc:focus-within .vhrc-card,.vhrc.vhrc-open .vhrc-card{opacity:1;transform:none;pointer-events:auto}
.vhrc.vhrc-gone{opacity:0!important;transform:translateY(16px)!important;pointer-events:none!important}
.vhrc-head{display:flex;align-items:center;gap:11px;margin-bottom:13px;padding-right:26px}
.vhrc-head .vhrc-ava{width:44px;height:44px}
.vhrc-head .vhrc-ava img{width:44px;height:44px}
.vhrc-head b{font-size:.97rem;color:#1c1962;font-weight:800;display:block;line-height:1.2}
.vhrc-head span{font-size:.79rem;color:#6b6880}
.vhrc-close{position:absolute;top:13px;right:13px;width:27px;height:27px;border-radius:50%;background:#f4f3f9;border:none;color:#908da2;font-size:15px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.vhrc-close:hover{background:#eceaf4;color:#1c1962;transform:rotate(90deg)}
.vhrc-title{font-size:1.1rem;color:#1c1962;font-weight:800;letter-spacing:-.3px;line-height:1.25;margin:0 0 4px;text-wrap:balance}
.vhrc-sub{font-size:.86rem;color:#565372;line-height:1.5;margin:0 0 13px}
.vhrc-form{margin:0}
.vhrc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vhrc-input{width:100%;padding:13px 15px;border:1.5px solid #e2e0ee;border-radius:12px;font-family:inherit;font-size:.98rem;color:#15131f;background:#fff;transition:border-color .2s,box-shadow .2s}
.vhrc-input::placeholder{color:#8a879c}
.vhrc-input:focus{outline:none;border-color:#f05820;box-shadow:0 0 0 4px rgba(240,88,32,.13)}
.vhrc-btn{width:100%;margin-top:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:none;border-radius:12px;cursor:pointer;font-family:inherit;font-weight:800;font-size:.98rem;color:#fff;background:linear-gradient(135deg,#f05820,#ff7c4d);box-shadow:0 14px 30px -10px rgba(240,88,32,.6);transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .25s,filter .2s}
.vhrc-btn:hover{transform:translateY(-1px);box-shadow:0 20px 40px -10px rgba(240,88,32,.7)}
.vhrc-btn:disabled{opacity:.85;cursor:default;transform:none}
.vhrc-btn svg{width:17px;height:17px;transition:transform .25s}
.vhrc-btn:hover svg{transform:translateX(3px)}
.vhrc-trust{font-size:.74rem;color:#9895a8;text-align:center;margin:9px 0 0}
@keyframes vhrc-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(2.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.vhrc{transition:opacity .2s}.vhrc-dot::after{animation:none}.vhrc-card,.vhrc-pill,.vhrc-btn,.vhrc-close{transition:opacity .15s}}
@media (max-width:900px){.vhrc{display:none!important}}
</style>
<div class="vhrc" id="vhrc">
<button class="vhrc-pill" id="vhrc-pill" type="button" aria-label="Se faire rappeler par Vincent Hégo">
<span class="vhrc-ava"><img src="/assets/brand/vincent-rond.webp" width="46" height="46" alt="Vincent Hégo" loading="lazy" decoding="async"><span class="vhrc-dot" aria-hidden="true"></span></span>
<span class="vhrc-lbl"><b>Être rappelé</b><span>Vincent vous rappelle vite</span></span>
</button>
<div class="vhrc-card" role="dialog" aria-label="Demande de rappel">
<button class="vhrc-close" id="vhrc-close" type="button" aria-label="Masquer">×</button>
<div class="vhrc-head">
<span class="vhrc-ava"><img src="/assets/brand/vincent-rond.webp" width="44" height="44" alt="Vincent Hégo" loading="lazy" decoding="async"><span class="vhrc-dot" aria-hidden="true"></span></span>
<span><b>Vincent Hégo</b><span>Vous rappelle personnellement</span></span>
</div>
<p class="vhrc-title">Vous préférez qu'on vous rappelle ?</p>
<p class="vhrc-sub">Laissez votre numéro, je vous rappelle vite pour en parler de vive voix.</p>
<form class="vhrc-form" id="vhrc-form" data-vhr data-vhr-chip novalidate>
<div class="vhrc-hp" aria-hidden="true"><label>Ne pas remplir<input type="text" name="_gotcha" tabindex="-1" autocomplete="off"></label></div>
<div data-vhr-fields>
<input class="vhrc-input" id="vhrc-tel" data-vhr-phone name="tel" type="tel" inputmode="tel" autocomplete="tel" placeholder="Votre numéro de téléphone" aria-label="Votre numéro de téléphone">
<div class="vhr-name" data-vhr-name><input type="text" name="prenom" autocomplete="given-name" placeholder="Votre prénom" aria-label="Votre prénom"></div>
<button class="vhrc-btn" id="vhrc-submit" type="submit">Me faire rappeler
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></svg>
</button>
</div>
<div class="vhrc-status" data-vhr-status role="alert" aria-live="polite"></div>
<p class="vhrc-trust">🔒 Zéro spam. Juste un rappel de ma part.</p>
</form>
</div>
</div>
<script>
(function(){
var root=document.getElementById('vhrc'); if(!root) return;
var KEY='vhrc_dismiss';
function dismissed(days){ try{ var d=localStorage.getItem(KEY); return d && (Date.now()-parseInt(d,10))<days*864e5; }catch(e){ return false; } }
function setDismiss(){ try{ localStorage.setItem(KEY, ''+Date.now()); }catch(e){} }
var shown=false;
function canShow(){ return window.innerWidth>=901 && !dismissed(7); }
function reveal(){ if(shown||!canShow()) return; shown=true; root.classList.add('vhrc-in'); window.removeEventListener('scroll', onScroll); }
function onScroll(){ var h=document.documentElement.scrollHeight-window.innerHeight; if(h>0 && (window.scrollY/h)>=0.55) reveal(); }
if(canShow()){ window.addEventListener('scroll', onScroll, {passive:true}); setTimeout(reveal, 25000); }
document.getElementById('vhrc-close').addEventListener('click', function(){ setDismiss(); root.classList.add('vhrc-gone'); setTimeout(function(){ root.classList.remove('vhrc-in','vhrc-gone'); }, 350); });
// Ouverture au SURVOL / focus (+ pilotage JS pour robustesse et petit délai anti-flicker)
var closeTimer;
function openCard(){ clearTimeout(closeTimer); root.classList.add('vhrc-open'); }
function scheduleClose(){ clearTimeout(closeTimer); closeTimer=setTimeout(function(){ if(!root.contains(document.activeElement)) root.classList.remove('vhrc-open'); }, 280); }
root.addEventListener('mouseenter', openCard);
root.addEventListener('mouseleave', scheduleClose);
root.addEventListener('focusin', openCard);
root.addEventListener('focusout', scheduleClose);
document.getElementById('vhrc-pill').addEventListener('click', function(){ openCard(); try{ document.getElementById('vhrc-tel').focus(); }catch(e){} });
})();
</script>
<!-- /PUCE RAPPEL FLOTTANTE -->
<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a20405d9bbfc49ca',t:'MTc4NDkwNzYyMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script><script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"bbeee1d64b2448218547f36defc2c1d2","r":1}' crossorigin="anonymous"></script>
<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a24124c97da71bf1',t:'MTc4NTU0ODUxOQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>