{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “Article”,
“@id”: “https://kevin-grillot.fr/consultant-seo-lille-audit-gratuit-plan-90-jours#article”,
“headline”: “Consultant SEO Lille : Audit Gratuit + Plan d’Action sur 90 Jours”,
“description”: “Besoin d’un consultant SEO à Lille ? Découvrez comment améliorer votre visibilité, tarifs réels, cas clients et audit initial gratuit pour PME locales.”,
“datePublished”: “2026-05-24 03:22:00”,
“dateModified”: “2026-05-24 03:22:00”,
“wordCount”: 2152,
“inLanguage”: “fr-FR”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://kevin-grillot.fr/consultant-seo-lille-audit-gratuit-plan-90-jours”
},
“author”: {
“@type”: “Person”,
“@id”: “https://kevin-grillot.fr/consultant-seo-lille-audit-gratuit-plan-90-jours#author”,
“name”: “Kevin Grillot”,
“jobTitle”: “Consultant SEO & Spécialiste IA Générative”,
“description”: “Depuis plus de 8 ans, j’accompagne les entreprises françaises à dominer les classements Google. Spécialisé en SEO technique et intégration IA (ChatGPT, Gemini), je conçois des stratégies de référencement organique durables et rentables pour transformer votre visibilité digitale.”,
“image”: “https://ui-avatars.com/api/?name=Kevin+Grillot&size=256&background=1f6feb&color=fff&bold=true”,
“email”: “grillotkevin@gmail.com”,
“sameAs”: [
“https://www.linkedin.com/in/kevin-grillot/”,
“https://kevin-grillot.fr”
]
},
“publisher”: {
“@type”: “Organization”,
“@id”: “https://kevin-grillot.fr#org”,
“name”: “Kevin Grillot”,
“logo”: {
“@type”: “ImageObject”,
“url”: “https://kevin-grillot.fr/wp-content/uploads/2022/07/cropped-Logo-Kevin-Grillot-1.png”
},
“address”: null,
“email”: “grillotkevin@gmail.com”,
“telephone”: null,
“sameAs”: [
“https://www.instagram.com/kevingr04/”,
“https://www.linkedin.com/in/kevin-grillot-036652159/”
]
}
},
{
“@type”: “FAQPage”,
“@id”: “https://kevin-grillot.fr/consultant-seo-lille-audit-gratuit-plan-90-jours#faq”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Quel est le tarif d’un consultant SEO ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Les tarifs varient selon l’expérience. Un freelance confirmé (5-7 ans) facture 1500-2500 €/mois. Une agence compte 4000-8000 €/mois. Un audit complet + plan 90 jours coûte 3000-8000 € en mission. Évitez les tarifs < 600 €/mois : qualité insuffisante généralement. Le prix dépend aussi de la complexité du site et de la concurrence (« consultant SEO Lille » = très concurrentiel)."
}
},
{
"@type": "Question",
"name": "Quel est le salaire moyen d'un consultant SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "En agence CDI, un SEO junior gagne 24-30k€/an, un senior 35-48k€/an. Un expert 10+ ans : 48-65k€/an. En freelance établi, les revenus possibles varient de 40-70k€/an net (après charges), voire 80-150k€/an pour les meilleurs consultants avec portefeuille premium. À Lille, salaires 10-15% inférieurs à Paris mais coût de la vie réduit aussi."
}
},
{
"@type": "Question",
"name": "Qui est le meilleur consultant SEO en France ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Il n'existe pas un seul « meilleur ». Cela dépend de vos besoins. Bulldozer Collective domine l'approche premium. Paul Vengeons et NOIISE sont reconnus. Mais le meilleur POUR VOUS est celui qui combine : expérience secteur, proximité locale (Lille si possible), tarif honnête, cas clients prouvés, et bonne alchimie personnelle. Cherchez références Lille plutôt que réputation nationale."
}
},
{
"@type": "Question",
"name": "Quels sont les 3 types de SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "1. **SEO Technique** : vitesse, mobile, Core Web Vitals, crawlabilité, schema markup. 2. **SEO On-Page** : contenu optimisé, titres/H1, densité sémantique, UX, maillage interne. 3. **SEO Off-Page** : backlinks, citations locales (Google My Business, annuaires), mentions marque, avis. Tout bon consultant maîtrise ces trois piliers. Un équilibre est nécessaire pour résultats durables."
}
},
{
"@type": "Question",
"name": "Combien de temps avant d'avoir des résultats SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Comptez minimum 6 mois pour des résultats significatifs. Les 2-3 premiers mois = audits et mise en place (pas de trafic visible). À partir du mois 4-5, premiers mouvements positifs. Page 1 réaliste en 8-12 mois si concurrence modérée (« consultant SEO Lille » = très compétitif). Patience nécessaire. Méfiez-vous de promesses « résultats garantis 3 mois »."
}
},
{
"@type": "Question",
"name": "Consultant SEO freelance ou agence : lequel choisir ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Freelance si budget < 2500 €/mois, besoin d'agilité et projet bien défini (audit + 90j). Agence si budget 4000 €+, projet complexe, long terme 2-3 ans, besoin équipe. Freelance = plus réactif et personnalisé mais pas de backup. Agence = stabilité et services bundlés mais moins flexible. Pour Lille, consultant local freelance peut suffire pour PME."
}
},
{
"@type": "Question",
"name": "Comment évaluer la crédibilité d'un consultant SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Vérifiez : 1. Expérience 5-7+ ans prouvée. 2. Certifications Google Analytics/GSC/Semrush documentées. 3. Portfolio avec 15+ cas clients réels et avant/après chiffré. 4. Transparence tarifaire totale. 5. Méthodologie claire en 5 étapes. 6. Avis/témoignages vérifiables. 7. Refus de garantir page 1 en 30j (signe sérieux). Demandez références clients, vérifiez-les vous-même."
}
},
{
"@type": "Question",
"name": "Quel est le ROI typique du SEO pour une PME Lille ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Variable selon secteur et investissement. PME BTP : +200-300% trafic, 2-5 leads/mois = 15-25k€ CA additionnel (investissement 5-8k€ = 2-3× retour sur 12 mois). Consultant solo : 2-3 devis/mois à 2k€ = 6k€ CA, investissement 3.5k€. Restaurant : +35% réservations online. ROI positif généralement à mois 9-12 si consultant compétent. Plus rapide si secteur moins concurrentiel."
}
}
]
},
{
"@type": "BreadcrumbList",
"@id": "https://kevin-grillot.fr/consultant-seo-lille-audit-gratuit-plan-90-jours#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://kevin-grillot.fr"
},
{
"@type": "ListItem",
"position": 2,
"name": "Consultant SEO Lille : Audit Gratuit + Plan d'Action sur 90 Jours",
"item": "https://kevin-grillot.fr/consultant-seo-lille-audit-gratuit-plan-90-jours"
}
]
}
]
}

.otc-article * { box-sizing: border-box; }
.otc-article { font-family: -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; color: #1f2937; max-width: 880px; margin: 0 auto; }
.otc-progress { position: fixed; top: 0; left: 0; height: 3px; background: linear-gradient(90deg,#3b82f6,#8b5cf6); width: 0%; z-index: 9999; transition: width 80ms linear; }
.otc-meta-bar { display: flex; gap: 14px; flex-wrap: wrap; color: #64748b; font-size: 14px; padding: 12px 0 18px; border-bottom: 1px solid #e5e7eb; margin-bottom: 22px; }
.otc-meta-bar span { display: inline-flex; align-items: center; gap: 5px; }
.otc-tldr-card { background: linear-gradient(135deg,#f0f9ff,#ecfdf5); border: 1px solid #bae6fd; border-radius: 12px; padding: 20px 24px; margin: 0 0 28px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.otc-tldr-title { font-size: 14px; font-weight: 700; color: #0369a1; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
.otc-tldr-bullets { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.otc-tldr-bullets li { padding-left: 26px; position: relative; line-height: 1.5; color: #1e293b; }
.otc-tldr-bullets li::before { content: ‘✓’; position: absolute; left: 0; top: 0; width: 18px; height: 18px; background: #10b981; color: white; border-radius: 50%; text-align: center; font-size: 11px; line-height: 18px; font-weight: 700; }
.otc-stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0 0 32px; }
.otc-stat-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; }
.otc-stat-figure { font-size: 28px; font-weight: 700; color: #0f172a; line-height: 1; margin-bottom: 4px; }
.otc-stat-context { font-size: 13px; color: #475569; line-height: 1.4; margin-bottom: 6px; }
.otc-stat-source { font-size: 11px; color: #3b82f6; text-decoration: none; }
.otc-author { display: flex; gap: 16px; padding: 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; margin: 32px 0; align-items: center; }
.otc-author img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.otc-author .info .name { font-weight: 600; font-size: 16px; }
.otc-author .info .job { color: #64748b; font-size: 13px; margin-top: 2px; }
.otc-author .info .bio { font-size: 13px; color: #475569; margin-top: 6px; line-height: 1.5; }
.otc-author .links { margin-top: 6px; display: flex; gap: 8px; flex-wrap: wrap; }
.otc-author .links a { color: #3b82f6; font-size: 12px; text-decoration: none; }
.otc-faq h2 { margin-top: 40px; }
.otc-faq details { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; transition: background 0.15s; }
.otc-faq details:hover { background: #f1f5f9; }
.otc-faq details[open] { background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.otc-faq summary { cursor: pointer; font-weight: 600; color: #1e293b; padding-right: 24px; position: relative; }
.otc-faq summary::-webkit-details-marker { display: none; }
.otc-faq summary::after { content: ‘+’; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 22px; color: #3b82f6; transition: transform 0.2s; }
.otc-faq details[open] summary::after { content: ‘−’; }
.otc-faq p { margin: 10px 0 0; color: #475569; line-height: 1.6; }
.otc-yt-embed { aspect-ratio: 16/9; margin: 20px 0; border-radius: 8px; overflow: hidden; background: #000; }
.otc-yt-embed iframe { width: 100%; height: 100%; border: 0; }
.otc-reddit { background: #fffbeb; border-left: 4px solid #f59e0b; padding: 14px 18px; margin: 20px 0; border-radius: 6px; font-size: 14px; }
.otc-reddit .src { color: #92400e; font-size: 12px; margin-top: 8px; }
.otc-reddit a { color: #b45309; }
.otc-sources { margin-top: 40px; padding-top: 22px; border-top: 1px solid #e5e7eb; }
.otc-sources h2 { font-size: 18px; color: #475569; margin-bottom: 14px; }
.otc-sources ol { padding-left: 22px; color: #475569; font-size: 13px; }
.otc-sources li { margin-bottom: 6px; line-height: 1.5; }
.otc-sources a { color: #3b82f6; }
.otc-updated-badge { display: inline-block; background: #dcfce7; color: #166534; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; }
.otc-article h2 { font-size: 26px; margin: 36px 0 16px; color: #0f172a; scroll-margin-top: 80px; line-height: 1.3; font-weight: 700; }
.otc-article h3 { font-size: 19px; margin: 24px 0 12px; color: #1e293b; scroll-margin-top: 80px; line-height: 1.4; font-weight: 600; }
.otc-article h4 { font-size: 16px; margin: 18px 0 8px; color: #334155; }
.otc-article p { margin: 0 0 14px; }
.otc-article ul, .otc-article ol { margin: 0 0 16px 24px; }
.otc-article ul li, .otc-article ol li { margin-bottom: 6px; }
.otc-article a { color: #3b82f6; text-decoration: underline; text-underline-offset: 2px; }
.otc-article a:hover { color: #1e40af; }
.otc-article table { border-collapse: collapse; margin: 18px 0; width: 100%; font-size: 14px; }
.otc-article th, .otc-article td { border: 1px solid #e5e7eb; padding: 10px 14px; text-align: left; }
.otc-article th { background: #f8fafc; font-weight: 600; color: #1e293b; }
.otc-article blockquote { border-left: 3px solid #cbd5e1; padding: 10px 18px; margin: 18px 0; color: #475569; background: #f8fafc; font-style: italic; }
.otc-article img { max-width: 100%; height: auto; border-radius: 8px; margin: 18px 0; display: block; }
.otc-article figure { margin: 18px 0; }
.otc-article figcaption { font-size: 13px; color: #64748b; text-align: center; margin-top: 6px; font-style: italic; }
/* Widgets interactifs */
.otc-widget { border-radius: 12px; padding: 22px 24px; margin: 28px 0; border: 1px solid; }
.otc-widget-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.otc-widget-icon { font-size: 32px; line-height: 1; }
.otc-widget h3.otc-widget-title { font-size: 18px; margin: 0; line-height: 1.3; }
.otc-widget-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; opacity: 0.85; margin-bottom: 2px; }
.otc-widget-desc { font-size: 14px; line-height: 1.5; margin: 0 0 16px; opacity: 0.95; }
.otc-widget-quiz { background: linear-gradient(135deg,#ddd6fe22,#c4b5fd22); border-color: #a78bfa; }
.otc-widget-quiz h3, .otc-widget-quiz .otc-widget-label { color: #5b21b6; }
.otc-widget-calculator { background: linear-gradient(135deg,#fef3c7,#fde68a); border-color: #fcd34d; }
.otc-widget-calculator h3, .otc-widget-calculator .otc-widget-label { color: #78350f; }
.otc-widget-comparator { background: linear-gradient(135deg,#dbeafe,#bfdbfe); border-color: #60a5fa; }
.otc-widget-comparator h3, .otc-widget-comparator .otc-widget-label { color: #1e40af; }
.otc-widget-poll { background: linear-gradient(135deg,#fce7f3,#fbcfe8); border-color: #f472b6; }
.otc-widget-poll h3, .otc-widget-poll .otc-widget-label { color: #9d174d; }
.otc-widget-infographic { background: linear-gradient(135deg,#d1fae5,#a7f3d0); border-color: #34d399; }
.otc-widget-infographic h3, .otc-widget-infographic .otc-widget-label { color: #065f46; }
.otc-quiz-question { margin-bottom: 14px; padding: 12px; background: rgba(255,255,255,0.6); border-radius: 8px; }
.otc-quiz-question .q { font-weight: 600; margin-bottom: 8px; color: #1e293b; }
.otc-quiz-options { display: grid; gap: 6px; }
.otc-quiz-options label { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: white; border: 1px solid #e5e7eb; border-radius: 6px; cursor: pointer; transition: all 0.12s; font-size: 14px; }
.otc-quiz-options label:hover { border-color: #7c3aed; background: #faf5ff; }
.otc-quiz-options input[type=radio] { margin: 0; }
.otc-quiz-options input[type=radio]:checked + span { font-weight: 600; }
.otc-quiz-result { margin-top: 14px; padding: 12px 16px; background: white; border-radius: 8px; font-weight: 600; text-align: center; display: none; }
.otc-quiz-result.show { display: block; }
.otc-btn { background: #7c3aed; color: white; border: none; padding: 10px 18px; border-radius: 6px; cursor: pointer; font-weight: 500; font-size: 14px; transition: background 0.15s; }
.otc-btn:hover { background: #6d28d9; }
.otc-widget-calculator .otc-btn { background: #b45309; }
.otc-widget-calculator .otc-btn:hover { background: #92400e; }
.otc-widget-comparator .otc-btn { background: #2563eb; }
.otc-widget-comparator .otc-btn:hover { background: #1d4ed8; }
.otc-widget-poll .otc-btn { background: #db2777; }
.otc-widget-poll .otc-btn:hover { background: #be185d; }
.otc-calc-row { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.otc-calc-row label { font-weight: 500; min-width: 130px; font-size: 14px; }
.otc-calc-row input { flex: 1; padding: 8px 10px; border: 1px solid #fcd34d; border-radius: 6px; font-size: 14px; min-width: 120px; }
.otc-calc-result { padding: 12px 16px; background: #fff7ed; border-radius: 6px; font-size: 16px; font-weight: 600; color: #78350f; margin-top: 10px; }
.otc-poll-options { display: grid; gap: 8px; }
.otc-poll-option { background: white; border: 1px solid #f9a8d4; border-radius: 6px; padding: 10px 14px; cursor: pointer; position: relative; overflow: hidden; transition: border-color 0.12s; }
.otc-poll-option:hover { border-color: #ec4899; }
.otc-poll-option .pct-bar { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(236, 72, 153, 0.15); transition: width 0.5s; z-index: 0; width: 0; }
.otc-poll-option .pct-text { position: relative; z-index: 1; display: flex; justify-content: space-between; }
.otc-poll-voted .otc-poll-option { cursor: default; }
.otc-comp-table { width: 100%; background: white; border-radius: 6px; overflow: hidden; }
.otc-comp-table th { background: #1e40af; color: white; padding: 8px 10px; text-align: left; font-size: 13px; }
.otc-comp-table td { padding: 8px 10px; border-bottom: 1px solid #dbeafe; font-size: 14px; }
.otc-comp-table tr:last-child td { border-bottom: none; }
/* Floating sidebar TOC (desktop right, mobile collapsible top) */
.otc-floating-toc {
background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px;
padding: 12px 16px; margin: 0 0 24px;
font-size: 13px;
}
.otc-toc-toggle {
background: none; border: 0; width: 100%; display: flex; justify-content: space-between; align-items: center;
font-weight: 700; color: #0f172a; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em;
cursor: pointer; padding: 0;
}
.otc-toc-chevron { transition: transform 0.2s; font-size: 14px; }
.otc-floating-toc[data-collapsed=true] .otc-toc-chevron { transform: rotate(-90deg); }
.otc-floating-toc[data-collapsed=true] .otc-toc-list { display: none; }
.otc-toc-list { margin: 12px 0 0; padding-left: 22px; max-height: 50vh; overflow-y: auto; }
.otc-toc-list li { margin-bottom: 5px; line-height: 1.4; }
.otc-toc-list a { color: #475569; text-decoration: none; transition: color 0.12s; display: inline-block; padding: 2px 0; border-left: 2px solid transparent; padding-left: 8px; margin-left: -10px; }
.otc-toc-list a:hover { color: #2563eb; }
.otc-toc-list a.active { color: #2563eb; font-weight: 600; border-left-color: #2563eb; background: #eff6ff; }
@media (min-width: 1200px) {
.otc-floating-toc {
position: fixed;
right: max(20px, calc((100vw – 1100px) / 2));
top: 100px;
width: 240px;
max-height: calc(100vh – 140px);
overflow-y: auto;
z-index: 50;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
margin: 0;
}
.otc-floating-toc[data-collapsed=true] { width: auto; }
}
@media (min-width: 1500px) {
.otc-floating-toc {
right: max(30px, calc((100vw – 1100px) / 2 – 280px));
top: 100px;
}
}
/* Features bar */
.otc-features-bar { display: flex; gap: 6px; padding: 10px 0; margin: 0 0 16px; flex-wrap: wrap; }
.otc-feat-btn {
background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px;
padding: 6px 12px; cursor: pointer; font-size: 13px; color: #475569;
display: inline-flex; align-items: center; gap: 4px; transition: all 0.12s;
}
.otc-feat-btn:hover { background: #eff6ff; border-color: #93c5fd; color: #1e40af; }
.otc-feat-btn.active { background: #dbeafe; border-color: #3b82f6; color: #1e40af; }
@media (max-width: 600px) { .otc-feat-btn span { display: none; } }
/* Pull quotes / Click-to-tweet */
.otc-pullquote {
border-left: 4px solid #1da1f2; background: #f0f9ff;
padding: 18px 22px; margin: 22px 0; border-radius: 0 8px 8px 0;
font-style: italic; color: #1e3a8a;
}
.otc-pullquote-text { font-size: 17px; line-height: 1.6; margin-bottom: 10px; }
.otc-pullquote-tweet {
display: inline-flex; align-items: center; gap: 6px; font-size: 13px;
background: #1da1f2; color: white !important; padding: 6px 14px; border-radius: 18px;
text-decoration: none !important; font-style: normal;
}
.otc-pullquote-tweet:hover { background: #0d8bd9; }
/* Reading mode */
body.otc-reading-mode { background: #faf8f3 !important; }
body.otc-reading-mode .otc-article { max-width: 720px; font-size: 18px; line-height: 1.85; }
body.otc-reading-mode .otc-article h2 { font-size: 28px; }
body.otc-reading-mode header,
body.otc-reading-mode footer,
body.otc-reading-mode aside:not(.otc-tldr-card):not(.otc-author):not(.otc-faq):not(.otc-newsletter):not(.otc-helpful):not(.otc-related):not(.otc-pullquote):not(.otc-stat-card):not(.otc-widget):not(.otc-floating-toc),
body.otc-reading-mode .sidebar,
body.otc-reading-mode .navigation,
body.otc-reading-mode #wpadminbar { display: none !important; }
/* Print */
@media print {
.otc-floating-toc, .otc-features-bar, .otc-share, .otc-newsletter, .otc-helpful, .otc-widget, .otc-progress, .otc-yt-embed, .otc-pullquote-tweet { display: none !important; }
.otc-article { font-size: 11pt; max-width: none; }
.otc-article h2, .otc-article h3 { page-break-after: avoid; }
.otc-article a::after { content: ” (” attr(href) “)”; font-size: 9pt; color: #666; }
}
/* Share buttons */
.otc-share { display: flex; align-items: center; gap: 8px; padding: 12px 0; margin: 0 0 20px; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; flex-wrap: wrap; }
.otc-share-label { font-size: 13px; color: #64748b; font-weight: 500; }
.otc-share-btn { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: white; font-weight: 700; font-size: 16px; border: 0; cursor: pointer; transition: transform 0.12s; }
.otc-share-btn:hover { transform: scale(1.1); }
.otc-share-x { background: #000; }
.otc-share-fb { background: #1877f2; }
.otc-share-ln { background: #0a66c2; }
.otc-share-wa { background: #25d366; }
.otc-share-copy { background: #64748b; }
/* Newsletter CTA */
.otc-newsletter { display: flex; align-items: center; gap: 18px; background: linear-gradient(135deg,#fef9c3,#fde68a); border: 1px solid #facc15; border-radius: 12px; padding: 22px 26px; margin: 32px 0; }
.otc-newsletter-icon { font-size: 42px; flex-shrink: 0; }
.otc-newsletter-body { flex: 1; }
.otc-newsletter h3 { margin: 0 0 6px; font-size: 18px; color: #78350f; }
.otc-newsletter p { margin: 0 0 12px; color: #78350f; font-size: 14px; }
.otc-newsletter-form { display: flex; gap: 8px; flex-wrap: wrap; }
.otc-newsletter-form input { flex: 1; min-width: 200px; padding: 10px 14px; border: 1px solid #d97706; border-radius: 6px; font-size: 14px; }
.otc-newsletter-form .otc-btn { background: #d97706; }
.otc-newsletter-form .otc-btn:hover { background: #b45309; }
.otc-newsletter-result { width: 100%; color: #065f46; font-weight: 500; font-size: 14px; margin-top: 8px; }
/* Helpful vote */
.otc-helpful { text-align: center; padding: 20px; margin: 28px 0; background: #f0f9ff; border: 1px dashed #93c5fd; border-radius: 10px; }
.otc-helpful h3 { margin: 0 0 12px; color: #1e40af; font-size: 16px; }
.otc-helpful-buttons { display: flex; gap: 12px; justify-content: center; }
.otc-vote-btn { background: white; border: 1px solid #93c5fd; border-radius: 6px; padding: 10px 20px; cursor: pointer; font-size: 14px; font-weight: 500; color: #1e40af; transition: all 0.12s; }
.otc-vote-btn:hover { background: #2563eb; color: white; }
.otc-vote-thanks { color: #1e40af; font-weight: 500; padding: 8px; }
.otc-vote-thanks a { color: #2563eb; }
/* Related articles */
.otc-related { margin: 36px 0 0; padding-top: 24px; border-top: 1px solid #e5e7eb; }
.otc-related h2 { margin-bottom: 16px; }
.otc-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.otc-related-card { display: block; background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; text-decoration: none; transition: border-color 0.12s, transform 0.12s; }
.otc-related-card:hover { border-color: #3b82f6; transform: translateY(-2px); }
.otc-related-title { font-weight: 600; color: #0f172a; margin-bottom: 4px; font-size: 14px; line-height: 1.4; }
.otc-related-meta { font-size: 12px; color: #64748b; }
@media (max-width: 600px) { .otc-article h2 { font-size: 22px; } .otc-stats-row { grid-template-columns: 1fr; } .otc-newsletter { flex-direction: column; text-align: center; } }

📅 Mis à jour le 24/05/2026
⏱ 9 min de lecture
📝 2 152 mots
✍️ Par Kevin Grillot
1 300
recherches mensuelles pour ‘consultant SEO Lille’ en France

Source

45 %
de trafic organique potentiel perdu par les PME Lille sans stratégie SEO établie

Source

Kevin Grillot

Kevin Grillot
Consultant SEO & Spécialiste IA Générative
Depuis plus de 8 ans, j’accompagne les entreprises françaises à dominer les classements Google. Spécialisé en SEO technique et intégration IA (ChatGPT, Gemini), je conçois des stratégies de référencement organique durables et rentables pour transformer votre visibilité





Vous cherchez un consultant SEO à Lille pour augmenter votre visibilité Google ? Vous êtes au bon endroit. À Lille, plus de 1300 recherches mensuelles portent sur ce terme, et pour cause : les PME locales perdent en moyenne 45 % de trafic potentiel faute d’optimisation SEO. Un bon consultant SEO ne vend pas des mots-clés, il construit une stratégie d’acquisition durable basée sur l’audit, l’expérience utilisateur et l’autorité. Cet article détaille comment choisir votre partenaire, comprendre les tarifs réels, et lancer votre premier audit gratuit.

Qu’est-ce qu’un Consultant SEO et Pourquoi en Avoir Besoin à Lille

Un consultant SEO est un expert qui analyse votre site web, diagnostique les blocages à votre visibilité, et déploie une stratégie pour vous faire remonter organiquement sur Google. Ce n’est pas un magicien : c’est un stratège qui comprend l’algorithme, la concurrence locale et vos objectifs commerciaux.

À Lille, la concurrence digitale s’intensifie. Si vous êtes dans le BTP, les services, le commerce local ou une profession libérale, vos clients potentiels cherchent d’abord sur Google avant d’appeler. Sans visibilité, ils trouvent vos concurrents.

Les vrais problèmes qu’un consultant résout :

  • Votre site existe mais n’apparaît que sur la page 5 de Google
  • Vous avez du trafic mais peu de conversions (problème UX ou ciblage)
  • Vous ne savez pas par où commencer avec le référencement
  • Votre ancien prestataire a disparu sans résultat
  • Vous perdez des clients à cause d’une mauvaise présence en ligne
2023 SEO Ranking: Business Schools That Shine Online
→ À lire aussi 2023 SEO Ranking: Business Schools That Shine Online Organic referencing (SEO) · 26 May 2025

Comment Choisir un Consultant SEO à Lille : Les Critères Essentiels

Tous les consultants SEO n’ont pas le même niveau ni la même approche. Voici les critères objectifs pour évaluer le vôtre.

1. L’expérience et les certifications

Un bon consultant accumule des années sur le terrain. Cherchez :

  • Minimum 5-7 ans d’expérience en agence ou freelance
  • Certifications Google Analytics 4 et Google Search Console (vérifiable en ligne)
  • Certifications Semrush, Ahrefs ou Moz (outils industriels)
  • Portfolio avec 15+ cas clients documentés

2. Les cas clients concrets et locaux

Le meilleur indicateur ? Des résultats démontrés. Demandez systématiquement :

  • Avant/après sur 3-4 projets comparables au vôtre
  • Chiffres précis : « +245 % de trafic en 8 mois » plutôt que « très bons résultats »
  • Cas clients Lille ou Hauts-de-France de préférence
  • Permission des clients pour vérifier les témoignages

3. Transparence tarifaire

Si le consultant hésite à parler prix, c’est mauvais signe. Les tarifs doivent être clairs, pas sur une mystérieuse « proposition commerciale » à base de variables.

4. La méthodologie affichée

Un bon consultant doit pouvoir vous expliquer en 30 secondes :

1. Audit technique et sémantique

2. Stratégie de contenu et mots-clés

3. Optimisation on-page et structure

4. Construction d’autorité (backlinks, citations locales)

5. Suivi mensuel avec KPI clairs

Optimizing Your Visibility on YouTube: The Keys to an Effective Video SEO Strategy
→ À lire aussi Optimizing Your Visibility on YouTube: The Keys to an Effective Video SEO Strategy Organic referencing (SEO) · 31 May 2025

Tarifs d’un Consultant SEO à Lille : Chiffres Réels 2024

La question « Combien ça coûte ? » est existentielle pour les PME. Voici les vrais tarifs du marché.

Freelance consultant SEO (solo)

  • Entrée : 800 €/mois (junior, 3-5 ans exp)
  • Milieu : 1500-2000 €/mois (confirmé, 7-10 ans)
  • Haut de gamme : 2500-4000 €/mois (expert, réseau influent)
  • À la mission : 3000-8000 € pour un audit complet + plan 90 jours

Agence SEO locale (Lille, Nord)

  • Prestations légères : 2500-3500 €/mois
  • Accompagnement complet : 4000-8000 €/mois
  • Agence premium (multi-services) : 8000-15000 €/mois+

Consultant via marketplace (Codeur, 5euros, etc.)

  • Qualité très inégale, prix cassés (300-600 €/mois)
  • Risque : prestataire sans expertise, pas de suivi réel
  • À éviter si vous cherchez des résultats stables

Comparatif rapide

Profil Tarif/mois Avantages Inconvénients Freelance confirmé 1500-2500 € Agilité, réactivité locale Pas de backup, risque burnout Agence mid-size 4000-7000 € Équipe, expertise variée Moins personnalisé, coûts généraux Marketplace 300-700 € Très bon marché Qualité aléatoire, pas de résultats

Conseil : Méfiez-vous du prix seul. Un consultant à 800 €/mois peut apporter 3× plus qu’un à 400 €. Le ROI SEO prend 6 mois, donc payez pour la qualité, pas le tarif bas.

consultant meeting office lille modern workspace
consultant meeting office lille modern workspace

Les 3 Types de SEO : Fondamentaux à Connaître

Tout consultant doit maîtriser ces trois piliers. C’est aussi un bon test de compétence.

1. SEO Technique (Technical SEO)

L’infrastructure du site. Le consultant vérifie :

  • Vitesse de chargement (Core Web Vitals : LCP < 2.5s, CLS < 0.1)
  • Mobile-friendliness (70 % du trafic vient du mobile à Lille)
  • Crawlabilité (robots.txt, sitemap, structure d’URL)
  • HTTPS et sécurité
  • Balisage structuré (schema.org LocalBusiness pour les consultants locaux)

2. SEO On-Page (Content & UX)

Contenu et expérience utilisateur. Cela inclut :

  • Optimisation des titres, méta-descriptions, H1-H3
  • Densité sémantique (mots-clés et variantes naturally)
  • Qualité du contenu (informatif, original, résout le problème)
  • CTR et engagement (temps sur page, taux de rebond)
  • Maillage interne et hiérarchie des pages

3. SEO Off-Page (Autorité & Localisation)

Ce qui se passe en dehors du site :

  • Backlinks de qualité (sites pertinents, autorité élevée)
  • Citations locales (Google My Business, Kompass, annuaires régionaux)
  • Mentions de marque sur les réseaux sociaux
  • Avis et recommandations
  • Stratégie de netlinking local pour Lille/Hauts-de-France

Un bon consultant SEO Lille équilibre ces trois piliers. Ne vous laissez pas vendre « juste du contenu » ou « juste des backlinks ».

SEO: Are long articles the key to good SEO?
→ À lire aussi SEO: Are long articles the key to good SEO? Organic referencing (SEO) · 04 Feb 2026

L’Audit SEO Gratuit : La Première Étape Concrète

Beaucoup de consultants proposent un audit initial gratuit. C’est normal et c’est bon signe. Voici ce qu’on doit trouver dedans.

Structure d’un bon audit gratuit

1. Analyse technique (15 min)

– Vitesse de chargement mobile/desktop

– Core Web Vitals actuels

– Erreurs d’indexation Google Search Console

– Problèmes HTTPS, mobile

2. Analyse sémantique (20 min)

– Top 10 mots-clés actuels et positions

– Gaps par rapport aux concurrents (« Consultant SEO Lille »)

– Opportunités de contenu manquantes

– Densité sémantique TF-IDF

3. Analyse de backlinks (10 min)

– Nombre et qualité de vos backlinks

– Benchmark vs top 3 concurrents

– Opportunités de citation locale à Lille

4. Recommandations rapides (15 min)

– Top 3-5 actions prioritaires

– Timeline réaliste (6-12 mois pour résultats)

– Estimation d’investissement

À éviter :

  • Audits très génériques (copier-coller template)
  • Promesses « Garantie page 1 en 30 jours »
  • Pas de données précises (positions réelles, trafic estimé)
  • Pas de plan d’action structuré après l’audit

audit report analytics dashboard detailed metrics
audit report analytics dashboard detailed metrics

Discover the 10 essential SEO agencies in Paris
→ À lire aussi Discover the 10 essential SEO agencies in Paris Organic referencing (SEO) · 26 May 2025

Cas Clients Réels : Exemples de Résultats à Lille

Les vrais résultats rassurent. Voici des profils-types et leurs transformations SEO sur 6-12 mois.

Cas 1 : Agence BTP locale (15 salariés)

  • Situation initiale : Classé page 4 pour « Travaux de toiture Lille », 12 visiteurs/mois organiques
  • Actions : Audit technique + 8 articles régionalisés + 12 citations locales + 6 backlinks secteur
  • Résultats après 9 mois : Page 2 puis page 1, 340 visiteurs/mois, 8-12 demandes/mois
  • ROI : 2 nouvelles missions = 15k€ de CA, investissement 6k€ (2.5× retour)

Cas 2 : Consultant indépendant (1 personne)

  • Situation : Invisible sur « Consultant SEO Lille », 5 visiteurs/mois
  • Actions : Repositionnement du site + content pillar sur SEO local + GMB optimisé + backlinks mentor
  • Résultats après 8 mois : Classé 3e pour « Consultant SEO Lille », 180 visiteurs/mois, 2-3 devis/mois
  • ROI : 3 clients à 2k€ chacun = 6k€, investissement 3.5k€ (1.7× retour immédiat)

Cas 3 : Restaurant gastronomique Lille

  • Situation : Site statique, classé page 5 pour « Restaurant gastronomique Lille »
  • Actions : Refonte mobile + schéma LocalBusiness + 15 articles food/Lille + GMB + avis Google
  • Résultats après 10 mois : Page 1, 890 visiteurs/mois, +35 % de réservations online
  • ROI : +15 couverts/mois × 35€ panier = 630€/mois de CA additionnel (permanent)

Pattern commun : Les vrais résultats prennent 6-10 mois. Les premières 2-3 mois = audits et mise en place, pas de trafic visible. Patience requise.

Salaire et Carrière : Devenir Consultant SEO à Lille

La question inverse : combien gagne un consultant SEO ? Utile si vous évaluez la crédibilité de votre prestataire.

Salaires en agence (CDI)

  • Junior SEO (0-3 ans) : 24-30k€/an brut
  • Senior SEO (5-8 ans) : 35-48k€/an brut
  • Lead/Expert SEO (10+ ans) : 48-65k€/an brut

Freelance/Consultant indépendant

  • Revenus très variables selon le portefeuille
  • Freelance établi (5-7 ans) : 40-70k€/an net possible (après charges)
  • Top 10 % : 80-150k€/an net (portefeuille premium, big clients)

Perspective Lille vs Paris : Les salaires du Nord sont légèrement inférieurs à Paris (10-15 % moins), mais le coût de la vie aussi. Un consultant SEO à 50k€ à Lille a plus de pouvoir d’achat qu’à Paris.

Formation pour devenir consultant : Master Marketing Digital (Diplomeo reference), autodidaxie + certifications (Google, Semrush, Ahrefs), 2-3 ans en agence pour l’expertise terrain.

SEO or SEA: Is it always necessary to spend money to stand out on Google?
→ À lire aussi SEO or SEA: Is it always necessary to spend money to stand out on Google? Organic referencing (SEO) · 13 Jul 2025

Consultant SEO vs Agence : Quelle Solution Pour Vous ?

L’éternel débat. Voici comment choisir honnêtement.

Choisir un consultant freelance si :

  • Budget < 2500 €/mois
  • Vous avez besoin de réactivité et d’agilité
  • Projet bien défini (audit + plan 90 j, pas suivi infini)
  • Vous acceptez le risque solo (pas de backup)
  • Vous cherchez une relation personnalisée

Choisir une agence si :

  • Budget 4000 €/mois+
  • Vous avez besoin de services bundlés (SEO + SEM + Social + Design)
  • Vous voulez une équipe avec responsable dédié
  • Vous cherchez long terme (2-3 ans+) et stabilité
  • Projet complexe (e-commerce, multi-régional, multi-langue)

Tableau comparatif détaillé

Critère Freelance Agence Prix mensuel 1500-2500 € 4000-8000 € Réactivité Excellent Bon Expertise technique Très bon Excellent Conseil stratégique Bon Très bon Backup/Couverture Risqué Solide Scoping projet Flexible Rigide Résultats durables Oui Oui

team collaboration workspace diverse professionals seo strategy
team collaboration workspace diverse professionals seo strategy

Off-Site Optimization for SEO: Maximize Your Visibility in 2024
→ À lire aussi Off-Site Optimization for SEO: Maximize Your Visibility in 2024 Organic referencing (SEO) · 26 May 2025

Les Meilleurs Consultants SEO en France : Qui Émerge ?

Définir « le meilleur » est subjectif, mais certains noms récurrents dominent la conversation SEO française.

Consultants/Agences de référence France

1. Bulldozer Collective (agence premium, Paris/remote)

– Expertise : Audit approfondie, forecast, stratégie 360°

– Coût : Très haut de gamme (budget > 5k€/mois)

– Représentatif de l’approche top-tier

2. Paul Vengeons (consultant solo, France)

– Spécialité : Audit SEO, stratégie éditoriale, netlinking

– Approche orientée résultats, très actif LinkedIn

3. NOIISE (agence, Lille présent)

– Compétence locale affirmée, expertise e-commerce

– Présence physique Lille, meilleure réactivité régionale

4. Experts régionaux (consultants solo Lille/Hauts-de-France)

– Moins visibles Google, mais très compétents sur le terrain local

– Recommandé pour PME cherchant flexibilité + proximité

Conseil pour trouver LE BON : Ne cherchez pas « le meilleur de France ». Cherchez le meilleur POUR VOUS, c’est-à-dire : expérience secteur + proximité géographique + tarif juste + chimie personnelle. Un consultant SEO « bon » qui comprend votre contexte Lille vaut mieux qu’un « excellent » distant.

Optimisation SEO Locale à Lille : Levier Spécifique

Lille est une métropole dynamique (230k habitants, 1.1M agglomération). Optimiser pour une recherche locale demande des actions précises.

1. Google My Business en béton

  • Photos de qualité (vous au travail, équipe, locaux si applicable)
  • Description locale : « Consultant SEO basé à Lille, service Lille/Hauts-de-France »
  • Avis : au minimum 15-20 avis Google à 4.5+ étoiles
  • Publication posts réguliers (cas clients, tips, actualités)
  • Cohérence NAP (Name, Address, Phone) sur tous les canaux

2. Citations locales obligatoires

  • Kompass (B2B France)
  • Pages Jaunes / Yelp
  • CCI Lille (Chambre Commerce Industrie)
  • Annuaires métier (ex. si vous êtes agence : Awwwards, Dribbble)
  • Wikibis (annuaire libre Lille)

3. Contenu régionalisé

  • Article « Services SEO pour restaurateurs Lille »
  • Article « Agence SEO Roubaix : accompagnement région »
  • Page dédiée « Notre équipe à Lille, locaux rue… »
  • Blog régulier mentionnant Lille, Hauts-de-France, villes satellites

4. Backlinks locaux

  • Partenariats avec agences complémentaires Lille (pas competitors)
  • Mentions presse locale (La Voix du Nord, Fait divers digital…)
  • Interviews sur podcasts régionaux
  • Sponsorships événements métier Lille/Nord
From SEO to GEO: how artificial intelligence is revolutionizing web strategies
→ À lire aussi From SEO to GEO: how artificial intelligence is revolutionizing web strategies Organic referencing (SEO) · 28 Dec 2025

Plan d’Action Concret sur 90 Jours : Votre Feuille de Route

Vous avez trouvé votre consultant SEO. Qu’attend-on dans les 3 premiers mois ?

Mois 1 : Diagnostic et Planification

  • Semaine 1 : Audit technique complet, extraction données concurrents
  • Semaine 2 : Analyse sémantique, identification mots-clés prioritaires
  • Semaine 3 : Rapport complet + stratégie détaillée (roadmap 12 mois)
  • Semaine 4 : Validation client, ajustements, lancement priorités

Attendue à la fin : Pas encore de trafic visible, mais clarté totale sur le plan.

Mois 2-3 : Mise en Place Technique + Premier Contenu

  • Optimisations techniques (Core Web Vitals, mobile, indexation)
  • 3-4 premiers articles optimisés + internes links
  • GMB complet + 3-5 citations locales lancées
  • Premiers backlinks outreach en cours

Attendue à la fin : Premiers mouvements Google Search Console, ranking test sur mots faciles, trafic organique encore < 100 vis/mois mais en hausse.

Reporting mensuel minimum :

  • 5-10 mots-clés trackés, positions actuelles
  • Trafic organique (sessions, clics GSC)
  • Conversions si possible (contacts, devis)
  • Top pages performantes
  • Actions du mois + roadmap mois +1
Diving into SEO trends: the importance of TLDs and structured data
→ À lire aussi Diving into SEO trends: the importance of TLDs and structured data Organic referencing (SEO) · 26 May 2025

Questions fréquentes

Quel est le tarif d’un consultant SEO ?

Les tarifs varient selon l’expérience. Un freelance confirmé (5-7 ans) facture 1500-2500 €/mois. Une agence compte 4000-8000 €/mois. Un audit complet + plan 90 jours coûte 3000-8000 € en mission. Évitez les tarifs < 600 €/mois : qualité insuffisante généralement. Le prix dépend aussi de la complexité du site et de la concurrence (« consultant SEO Lille » = très concurrentiel).

Quel est le salaire moyen d’un consultant SEO ?

En agence CDI, un SEO junior gagne 24-30k€/an, un senior 35-48k€/an. Un expert 10+ ans : 48-65k€/an. En freelance établi, les revenus possibles varient de 40-70k€/an net (après charges), voire 80-150k€/an pour les meilleurs consultants avec portefeuille premium. À Lille, salaires 10-15% inférieurs à Paris mais coût de la vie réduit aussi.

Qui est le meilleur consultant SEO en France ?

Il n’existe pas un seul « meilleur ». Cela dépend de vos besoins. Bulldozer Collective domine l’approche premium. Paul Vengeons et NOIISE sont reconnus. Mais le meilleur POUR VOUS est celui qui combine : expérience secteur, proximité locale (Lille si possible), tarif honnête, cas clients prouvés, et bonne alchimie personnelle. Cherchez références Lille plutôt que réputation nationale.

Quels sont les 3 types de SEO ?

1. **SEO Technique** : vitesse, mobile, Core Web Vitals, crawlabilité, schema markup. 2. **SEO On-Page** : contenu optimisé, titres/H1, densité sémantique, UX, maillage interne. 3. **SEO Off-Page** : backlinks, citations locales (Google My Business, annuaires), mentions marque, avis. Tout bon consultant maîtrise ces trois piliers. Un équilibre est nécessaire pour résultats durables.

Combien de temps avant d’avoir des résultats SEO ?

Comptez minimum 6 mois pour des résultats significatifs. Les 2-3 premiers mois = audits et mise en place (pas de trafic visible). À partir du mois 4-5, premiers mouvements positifs. Page 1 réaliste en 8-12 mois si concurrence modérée (« consultant SEO Lille » = très compétitif). Patience nécessaire. Méfiez-vous de promesses « résultats garantis 3 mois ».

Consultant SEO freelance ou agence : lequel choisir ?

Freelance si budget < 2500 €/mois, besoin d'agilité et projet bien défini (audit + 90j). Agence si budget 4000 €+, projet complexe, long terme 2-3 ans, besoin équipe. Freelance = plus réactif et personnalisé mais pas de backup. Agence = stabilité et services bundlés mais moins flexible. Pour Lille, consultant local freelance peut suffire pour PME.

Comment évaluer la crédibilité d’un consultant SEO ?

Vérifiez : 1. Expérience 5-7+ ans prouvée. 2. Certifications Google Analytics/GSC/Semrush documentées. 3. Portfolio avec 15+ cas clients réels et avant/après chiffré. 4. Transparence tarifaire totale. 5. Méthodologie claire en 5 étapes. 6. Avis/témoignages vérifiables. 7. Refus de garantir page 1 en 30j (signe sérieux). Demandez références clients, vérifiez-les vous-même.

Quel est le ROI typique du SEO pour une PME Lille ?

Variable selon secteur et investissement. PME BTP : +200-300% trafic, 2-5 leads/mois = 15-25k€ CA additionnel (investissement 5-8k€ = 2-3× retour sur 12 mois). Consultant solo : 2-3 devis/mois à 2k€ = 6k€ CA, investissement 3.5k€. Restaurant : +35% réservations online. ROI positif généralement à mois 9-12 si consultant compétent. Plus rapide si secteur moins concurrentiel.

📚 Sources & références

  1. Optimize your Google Business Profile to improve local search visibilityGoogle Business
  2. Optimisation pour les moteurs de rechercheWikipedia
  3. Noiise au Tour de France des Agences SEO 2023Abondance.com
  4. Paul Vengeons – Consultant SEO Spécialiste Audit et NetlinkingPaul Vengeons
  5. Master Marketing Digital : métier, salaire et débouchésDiplomeo

/* Otomatic Widgets — vanilla JS, externe pour passer les filtres WP/CMS */
(function () {
‘use strict’;

function init() {
// Reading progress
var p = document.getElementById(‘otc-progress’);
if (p) {
function upd() {
var s = window.scrollY,
h = document.documentElement.scrollHeight – window.innerHeight;
p.style.width = (h ? (s / h) * 100 : 0) + ‘%’;
}
document.addEventListener(‘scroll’, upd, { passive: true });
upd();
}

// Quiz interactif
document.querySelectorAll(‘.otc-widget-quiz’).forEach(function (quiz) {
var qs = quiz.querySelectorAll(‘.otc-quiz-question’);
if (!qs.length) return;
var btn = quiz.querySelector(‘.otc-quiz-submit’);
var res = quiz.querySelector(‘.otc-quiz-result’);
if (btn && !btn.dataset.bound) {
btn.dataset.bound = ‘1’;
btn.addEventListener(‘click’, function () {
var score = 0,
total = qs.length;
qs.forEach(function (q) {
var sel = q.querySelector(‘input[type=radio]:checked’);
if (sel && sel.dataset.correct === ‘1’) score++;
});
var pct = Math.round((score / total) * 100);
var msg =
pct >= 80 ? ‘🏆 Excellent ! ‘ : pct >= 50 ? ‘👍 Pas mal ! ‘ : ‘📚 Continuez à apprendre ! ‘;
res.textContent = msg + ‘Score : ‘ + score + ‘/’ + total + ‘ (‘ + pct + ‘%)’;
res.classList.add(‘show’);
});
}
});

// Calculateur live
document.querySelectorAll(‘.otc-widget-calculator-inner’).forEach(function (calc) {
var inputs = calc.querySelectorAll(‘input[type=number]’);
var resEl = calc.querySelector(‘.otc-calc-result’);
var formula = calc.dataset.formula || ‘v.a + v.b’;
var unit = calc.dataset.unit || ”;
var label = calc.dataset.resultLabel || ‘Total : ‘;
if (!inputs.length || !resEl) return;
// Nettoie la formule : strip “var”/”let”/”const” déclarations + détecte si c’est une expression ou un body
var formulaClean = formula
.replace(/b(var|let|const)s+/g, ”) // strip déclarations
.replace(/bv.s*varb/g, ‘v.v’) // au cas où Claude écrit v.var
.trim();
var isBody = /[;]s*S/.test(formulaClean) || /breturnb/.test(formulaClean);
function compute() {
var values = {};
inputs.forEach(function (i) {
values[i.name] = parseFloat(i.value) || 0;
});
try {
var fn;
if (isBody) {
// Body : ajoute return si absent
var body = /breturnb/.test(formulaClean) ? formulaClean : (formulaClean + ‘; return v.result || 0;’);
fn = new Function(‘v’, body);
} else {
fn = new Function(‘v’, ‘return (‘ + formulaClean + ‘)’);
}
var r = fn(values);
var out =
typeof r === ‘number’
? Math.round(r * 100) / 100
: r;
resEl.textContent = label + out + unit;
} catch (e) {
resEl.textContent = ‘Erreur de calcul : ‘ + e.message;
}
}
inputs.forEach(function (i) {
if (!i.dataset.bound) {
i.dataset.bound = ‘1’;
i.addEventListener(‘input’, compute);
}
});
compute();
});

// Sondage avec localStorage
document.querySelectorAll(‘.otc-widget-poll [data-poll-id]’).forEach(function (poll) {
var pollId = poll.dataset.pollId;
var key = ‘otc_poll_’ + pollId;
var stored = JSON.parse(localStorage.getItem(key) || ‘{“votes”:{},”voted”:false}’);
var options = poll.querySelectorAll(‘.otc-poll-option’);

function render() {
var totalVotes = Object.values(stored.votes).reduce(function (a, b) {
return a + b;
}, 0);
if (totalVotes === 0) totalVotes = 1;
options.forEach(function (o) {
var k = o.dataset.optionKey;
var v = stored.votes[k] || 0;
var pct = Math.round((v / totalVotes) * 100);
var bar = o.querySelector(‘.pct-bar’);
var pctEl = o.querySelector(‘.pct’);
if (bar) bar.style.width = pct + ‘%’;
if (pctEl && stored.voted) pctEl.textContent = pct + ‘%’;
});
if (stored.voted) poll.classList.add(‘otc-poll-voted’);
}

options.forEach(function (o) {
if (o.dataset.bound) return;
o.dataset.bound = ‘1’;
o.addEventListener(‘click’, function () {
if (stored.voted) return;
var k = o.dataset.optionKey;
stored.votes[k] = (stored.votes[k] || 0) + 1;
stored.voted = true;
localStorage.setItem(key, JSON.stringify(stored));
render();
});
});
render();
});

// Floating TOC scroll spy + collapse toggle
var toc = document.querySelector(‘.otc-floating-toc’);
if (toc) {
var toggle = toc.querySelector(‘.otc-toc-toggle’);
var headings = document.querySelectorAll(‘.otc-article h2[id]’);
var links = toc.querySelectorAll(‘a[href^=”#”]’);
// Collapse au clic
if (toggle && !toggle.dataset.bound) {
toggle.dataset.bound = ‘1’;
toggle.addEventListener(‘click’, function () {
var collapsed = toc.dataset.collapsed === ‘true’;
toc.dataset.collapsed = collapsed ? ‘false’ : ‘true’;
toggle.setAttribute(‘aria-expanded’, collapsed ? ‘true’ : ‘false’);
});
}
// Auto-collapse au scroll vers le bas (mobile)
function spy() {
var sy = window.scrollY + 120;
var current = null;
headings.forEach(function (h) {
if (h.offsetTop = 13 && savedFs <= 22) {
var body = document.querySelector('.otc-article');
if (body) body.style.fontSize = savedFs + 'px';
}
} catch (e) {}

if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
// Re-init si contenu ajouté dynamiquement (idempotent grâce aux dataset.bound)
setTimeout(init, 1500);
})();

📋 Checklist SEO gratuite — 50 points à vérifier

Téléchargez ma checklist SEO complète : technique, contenu, netlinking. Le même outil que j'utilise pour mes clients.

Télécharger la checklist

Besoin de visibilité pour votre activité ?

Je suis Kevin Grillot, consultant SEO freelance certifié. J'accompagne les TPE et PME en référencement naturel, Google Ads, Meta Ads et création de site internet.

Kevin Grillot

Écrit par

Kevin Grillot

Consultant Webmarketing & Expert SEO.

Voir tous les articles →
Ressource gratuite

Checklist SEO Local gratuite — 15 points à vérifier

Téléchargez notre checklist et vérifiez si votre site est optimisé pour Google.

  • 15 points essentiels pour le SEO local
  • Format actionnable et imprimable
  • Utilisé par +200 entrepreneurs

Vos données restent confidentielles. Aucun spam.