{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “Article”,
“@id”: “https://kevin-grillot.fr/consultant-seo-wordpress-piliers-techniques#article”,
“headline”: “Consultant SEO WordPress : optimiser les 3 piliers techniques oubliés”,
“description”: “Consultant SEO WordPress spécialisé : découvrez comment augmenter votre trafic en 4-6 mois grâce à une stratégie technique & contenu sur mesure.”,
“datePublished”: “2026-05-21 01:24:20”,
“dateModified”: “2026-05-21 01:24:20”,
“wordCount”: 1972,
“inLanguage”: “fr-FR”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://kevin-grillot.fr/consultant-seo-wordpress-piliers-techniques”
},
“author”: {
“@type”: “Person”,
“@id”: “https://kevin-grillot.fr/consultant-seo-wordpress-piliers-techniques#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-wordpress-piliers-techniques#faq”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Quel est le tarif d’un consultant SEO WordPress ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Un audit technique seul coûte 800-2000€. Un accompagnement mensuel (stratégie, suivi, optimisation) varie de 500-1500€/mois en freelance à 1500-4000€/mois en agence. Méfiez-vous des tarifs < 300€/mois : c'est du suivi sans expertise. Prévoyez aussi hébergement optimisé (15-30€/mois) et plugins premium (60-150€/an)."
}
},
{
"@type": "Question",
"name": "Combien de temps pour voir des résultats SEO sur WordPress ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "4-6 mois minimum avant classements significatifs. Voici la timeline : mois 1-2 audit et optimisations rapides (vitesse, canonicals), mois 3-4 premiers classements page 2-3, mois 5-6 top 10 sur mots-clés cibles. Trafic organique : +10-15% mois 4, +50% mois 12. Pas d'audit sérieux = aucun résultat à mois 3."
}
},
{
"@type": "Question",
"name": "WordPress est-il vraiment SEO-friendly ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui, mais conditionnellement. WordPress natif handicape votre SEO sur 7 points : vitesse lente, canonicals mal configurés, crawl budget gaspillé, pas de schema.org, redirects chaotiques, pas de sécurité HTTPS automatique, et structure URLs inconsistente. Un consultant SEO WordPress corrige cela. Thème ou plugin SEO seul = insufficient."
}
},
{
"@type": "Question",
"name": "Quel outil SEO choisir : Yoast, RankMath ou SEOPress ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Choisissez un seul. RankMath excelle en schema et complexité ; Yoast est le plus intuitif pour débutants ; SEOPress combine légèreté et fonctionnalité. Plus important : utilisez Google Search Console (gratuit) et PageSpeed Insights (gratuit). Ces deux surpassent n'importe quel plugin en SEO réel. Un consultant vous aide à choisir selon votre profil."
}
},
{
"@type": "Question",
"name": "Faut-il changer d'hébergement pour améliorer le SEO WordPress ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui, souvent. Un hébergement partagé à 3€/mois tue votre vitesse et donc votre SEO. Minimum : VPS géré 15-30€/mois ou hosting spécialisé WordPress (Kinsta, Convesio, Pressidium). Cela divise votre temps de chargement par 2-3 et l'un des 5 critères Core Web Vitals par la même occasion. C'est 40% de votre gain SEO."
}
},
{
"@type": "Question",
"name": "Un consultant SEO peut-il garantir les classements Google ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Non. Personne ne contrôle Google. Les agences qui promettent « position 1 garantie » ou « résultats en 30 jours » arnaquent. Un consultant honnête dit : nous visons cette position avec cette probabilité, sujet à la concurrence et aux mises à jour. Mesurez par impressions organiques, trafic et leads, pas par rankings seuls (c'est du vanity metric)."
}
},
{
"@type": "Question",
"name": "Comment savoir si mon consultant SEO WordPress est compétent ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Posez ces questions : avez-vous des références WordPress vérifiables ? Quel est votre PageSpeed Insights personnel ? Conseillez-vous un hébergement spécifique ? Comment mesurez-vous le succès (trafic/conversions, pas rankings) ? S'il refuse de parler hosting, c'est mauvais signe. S'il dit « rankings = succès », fuyez. Un bon consultant produit roadmap trimestrielle, audit écrit, et process documenté."
}
},
{
"@type": "Question",
"name": "Peut-on faire du SEO WordPress soi-même sans consultant ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui, mais limité. Commencez par PageSpeed Insights, Yoast SEO gratuit, Google Search Console. Optimisez vitesse (WP Rocket essai gratuit), supprimez pages zombies, créez 5 piliers de contenu. Attendez 6-8 semaines. Si trafic augmente (+ 10-15%), continuez seul. Si stagnation, embauchez un consultant : il diagnostiquera rapidement le blocage que vous avez raté."
}
}
]
},
{
"@type": "BreadcrumbList",
"@id": "https://kevin-grillot.fr/consultant-seo-wordpress-piliers-techniques#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://kevin-grillot.fr"
},
{
"@type": "ListItem",
"position": 2,
"name": "Consultant SEO WordPress : optimiser les 3 piliers techniques oubliés",
"item": "https://kevin-grillot.fr/consultant-seo-wordpress-piliers-techniques"
}
]
}
]
}

.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 21/05/2026
⏱ 8 min de lecture
📝 1 972 mots
✍️ Par Kevin Grillot
73 %
des sites WordPress ne dépassent pas 3000 visites mensuelles organiques, faute d’optimisation technique correcte

Source

4-6 mois
délai minimum avant classements significatifs sur mots-clés cibles avec un consultant SEO WordPress compétent

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é





Un consultant SEO WordPress est bien plus qu’une agence généraliste. C’est un spécialiste du référencement naturel qui connaît les pièges techniques du CMS : Core Web Vitals, canonicals mal configurés, crawl budget gaspillé. Selon une étude Semrush 2024, 73 % des sites WordPress peinent à dépasser les 3000 visites mensuelles organiques non pas par manque de contenu, mais par erreurs techniques non détectées. Découvrez comment un vrai consultant SEO WordPress optimise votre site et augmente votre trafic de 30 à 50 % en 12 mois—sans promesses irréalistes.

Pourquoi les sites WordPress stagnent en SEO

Votre site WordPress publie régulièrement, vous avez un thème « SEO-friendly », mais le trafic organique reste bloqué. Le problème : un thème ou un plugin SEO ne suffisent pas. WordPress natif handicape le référencement sur sept points précis.

D’abord, la vitesse. Un site WordPress moyen charge en 4-5 secondes sur mobile. Google Search Console l’intègre depuis 2021 dans son algorithme Core Web Vitals. Deuxièmement, la structure des URLs et canonicals : sans configuration rigoureuse, /post et /post/ créent du contenu dupliqué. Troisièmement, le crawl budget : wp-admin, ?replytocom et paramètres UTM consomment votre bande passante sans bénéfice SEO.

wordpress admin dashboard optimization interface
wordpress admin dashboard optimization interface

Un consultant SEO WordPress diagnostique ces blocages en deux heures. Il ne parle pas d’« expertise générique » mais de réalités mesurables : PageSpeed Insights, Core Web Vitals (LCP, FID, CLS), index Google Search Console.

How to optimize a title tag for better SEO in 2026
→ À lire aussi How to optimize a title tag for better SEO in 2026 Organic referencing (SEO) · 30 Dec 2025

Consultant SEO WordPress vs agence généraliste : les vraies différences

Une agence SEO classique propose audit, contenu, backlinks. Un consultant SEO WordPress spécialisé ajoute expertise technique CMS. Voici ce qui change.

Expertise technique native

  • Maîtrise des plugins recommandés : RankMath, Yoast SEO, SEOPress
  • Configuration correcte des breadcrumbs (Schema.org)
  • Optimisation de l’hébergement et caching (WP Rocket, LiteSpeed Cache)
  • Audit d’indexation : détection des pages zombies, canonicals mal placés

Approche prioritaire

Un consultant SEO WordPress ne vous dumpe pas 200 tâches à faire. Il cible le 80/20 : les 3 changements qui libèrent 50 % du ROI. Typiquement :

1. Vitesse serveur et hébergement (40 % de l’impact)

2. Audit de contenu et piliers interlinkés (35 % de l’impact)

3. Structure technique et meta-données (25 % de l’impact)

Processus documenté

Différence clé : un consultant SEO WordPress produit une roadmap trimestrielle chiffrée. Mois 1 : audit technique + audit de contenu. Mois 2-3 : optimisations rapides (vitesse, canonicals, schema). Mois 4-6 : création contenu pilier et interlinking.

seo strategy roadmap wordpress timeline
seo strategy roadmap wordpress timeline

LCP: an essential indicator for optimizing the speed of your website
→ À lire aussi LCP: an essential indicator for optimizing the speed of your website Organic referencing (SEO) · 31 Jul 2025

Quel est le tarif d’un consultant SEO ?

Les tarifs varient selon le profil et le scope.

Type de prestations Tarif indicatif Durée Audit technique pur 800-2000€ Ponctuel, 2-3 semaines Audit contenu + technique 1500-3500€ Ponctuel, 3-4 semaines Accompagnement mensuel 800-2500€/mois Continu, 6-12 mois minimum Retainer freelance 500-1500€/mois Continu, suivi léger Agence spécialisée WordPress 2000-5000€/mois Continu, équipe complète

Prévoyez aussi : hébergement optimisé (+50-100€/mois), plugins premium (RankMath Pro : 60€/an, WP Rocket : 54-156€/an).

Atention au prix très bas (< 300€/mois) : c'est généralement du suivi passif sans stratégie. Un vrai consultant SEO WordPress facture minimum 800€ l'audit initial.

Faire du SEO avec WordPress : les points techniques essentiels

WordPress est une plateforme excellente pour le SEO, mais seulement si configurée correctement. Voici les cinq piliers.

1. Core Web Vitals optimisés

  • LCP (Largest Contentful Paint) : chargement de l’élément principal < 2.5 sec
  • FID (First Input Delay) : réactivité < 100 ms (remplacé par INP en 2024)
  • CLS (Cumulative Layout Shift) : stabilité visuelle < 0.1

Un consultant SEO WordPress optimise cela via : mise en cache, lazy loading d’images, minification CSS/JS, CDN (Cloudflare gratuit suffit).

2. Structure interne et piliers de contenu

Au lieu de 100 articles orphelins, créez des « piliers » : 1 article maître (2000-3000 mots) + 5-10 articles satellites reliés. Google récompense cette stratégie de clusters.

Exemple : « Référencement WordPress » (pilier) → « Yoast vs RankMath », « Core Web Vitals WordPress », « Cache plugin WordPress », etc. (satellites).

3. Canonicals et robots.txt correctement configurés

  • Ajouter canonical sur chaque page (évite /post vs /post/ et duplication)
  • robots.txt : bloquer wp-admin, ?s=, ?replytocom, paramètres UTM inutiles
  • Disallow: /wp-admin/ (oui), /wp-includes/ (oui), /?replytocom (oui)

4. Schéma structuré (Schema.org)

RankMath ou Yoast génèrent :

  • BreadcrumbList (fil d’Ariane)
  • LocalBusiness (si local)
  • Article schema (articles de blog)
  • FAQPage (pour les FAQ)

Googlebot l’utilise pour enrichir les SERP (avis, prix, FAQ inline).

5. Hébergement et hosting

Un hosting partagé à 3€/mois tue votre SEO. Minimum : VPS géré (15-30€/mois) ou hosting spécialisé WordPress (KinstaConvesio Pressidium). Cela divise le temps de chargement par 2-3.

wordpress core web vitals performance metrics
wordpress core web vitals performance metrics

SEO Rumors: Indexing, Language Models, and URL Extension Tips
→ À lire aussi SEO Rumors: Indexing, Language Models, and URL Extension Tips Organic referencing (SEO) · 01 Jul 2025

Quel est le meilleur outil SEO pour WordPress ?

Trois plugins dominent le marché. Comparaison précise :

RankMath

  • Forces : le plus puissant pour schema, intégration Google Search Console native, AI Title Generator
  • Faiblesse : interface complexe pour débutants
  • Prix : gratuit (limité), Pro 39$/an
  • À privilégier si : site technique, ambition 100+ articles

Yoast SEO

  • Forces : le plus populaire (5M+ sites), interface intuitive, excellent pour analysabilité contenu
  • Faiblesse : lourd en ressources, schema moins avancé que RankMath
  • Prix : gratuit (limité), Premium 99€/an
  • À privilégier si : débutant, priorité user experience

SEOPress

  • Forces : léger, bon rapport qualité-prix, support en français
  • Faiblesse : communauté plus petite
  • Prix : gratuit (limité), Pro 69€/an
  • À privilégier si : budget strict, site < 50 articles

Recommandation d’un consultant SEO WordPress : choisissez un seul (ne pas cumuler). Combinez-le avec Google Search Console (gratuit) et PageSpeed Insights (gratuit). Ces deux derniers sont plus importants pour votre SEO que le plugin lui-même.

Loop Marketing and HubSpot: Reinventing SEO in the Age of Conversational AI
→ À lire aussi Loop Marketing and HubSpot: Reinventing SEO in the Age of Conversational AI Organic referencing (SEO) · 21 Jan 2026

Quel est le salaire d’un consultant SEO ?

Cette question concerne celui qui envisage de devenir consultant, pas d’en embaucher un. Pour contexte :

Consultant SEO freelance (indépendant)

  • Revenu mensuel moyen : 2000-5000€ (après charges : 1500-3500€ nets)
  • Tarif horaire : 50-150€/h
  • Tarif forfaitaire audit : 1000-3000€
  • Tarif mensuel retainer : 800-2500€/mois

Consultant SEO en agence (CDI)

  • Salaire brut débutant : 25-30k€/an
  • Salaire brut confirmé (5+ ans) : 35-50k€/an
  • Salaire brut expert/lead : 50-70k€/an

Consultant SEO WordPress spécialisé

La spécialisation WordPress ajoute 10-20 % au tarif par rapport à un consultant SEO généraliste (moins de demande, expertise plus rare).

Pourquoi choisir un consultant SEO spécialisé WordPress

Cinq raisons concrètes.

1. Diagnostic rapide et précis

Un consultant SEO WordPress détecte en 2 heures les erreurs qui vous coûtent 1000€/mois en trafic perdu. Un généraliste vous demande deux jours pour un diagnostic vague.

2. Optimisation holistique

Il ne traite pas contenu et technique séparément. Il lie stratégie de mots-clés, architecture WordPress, et Core Web Vitals en une seule action. Exemple : créer un pilier de contenu optimisé pour WordPress, intégré en BreadcrumbList, et servir via CDN = résultat multiplié par 3.

3. Respect du « 80/20 »

Comme dit plus haut, 80 % du gain vient de trois actions. Un généraliste vous noie sous 200 tâches. Un spécialiste WordPress priorise ruthlessment.

4. Pas d’arnaque SEO

Les escrocs font du netlinking agressif, des exchanges de liens « invisibles », des promesses « classement garanti en 30 jours ». Un consultant SEO WordPress sérieux vous dit : « 4-6 mois, audit d’abord, on mesure après. » C’est honnête et rare.

5. Suivi adapté et évolution technique

WordPress change : nouvelle version, PHP 8.2, Core Web Vitals évoluent. Un consultant WordPress suit ces actualités quotidiennement. Il adapte votre site sans refonte complète.

wordpress site audit checklist professional
wordpress site audit checklist professional

Agentic Search: When SEO Loses Its Power as a Traffic Engine
→ À lire aussi Agentic Search: When SEO Loses Its Power as a Traffic Engine Organic referencing (SEO) · 22 Jan 2026

Demander un devis : ce qu’il faut exiger

Un devis sérieux de consultant SEO WordPress inclut ceci.

Audit diagnostique gratuit ou court (30-60 min)

  • Visite du site par le consultant
  • PageSpeed Insights run on 5 key pages
  • Google Search Console review (si vous le donnez accès)
  • Diagnostic oral : « Vous avez 3 problèmes prioritaires : A, B, C »

Devis écrit avec :

  • Scope clair : audit technique OU accompagnement 6 mois ?
  • Livrables précis : « Rapport PDF 20 pages + roadmap trimestrielle + 4 calls/mois »
  • Délais : « Résultats mesurés au mois 6 »
  • Tarif transparent : pas de « nous vous présenterons l’offre après »
  • Clause de performance : « Si impact négatif 3 mois après, ajustement offert »

Questions posez au consultant :

  • « Avez-vous un portefeuille de clients WordPress ? » (demandez références vérifiables)
  • « Quel est votre score PageSpeed Insights personnel ? » (s’il prêche l’eau mais boit du vin, mauvais signe)
  • « Qu’en est-il de l’hosting ? Vous conseillez lequel ? » (s’il refuse de parler hosting, il ignore le 40 % du SEO WordPress)
  • « Comment mesurez-vous le succès ? » (s’il dit « rankings », fuyez : c’est du vanity metric. Demandez impressions, trafic organique, conversions)
Ultimate SEO Guide: 38 Essential Tips to Boost Your Visibility in 2025
→ À lire aussi Ultimate SEO Guide: 38 Essential Tips to Boost Your Visibility in 2025 Organic referencing (SEO) · 26 May 2025

Résultats réalistes : timeline et chiffres

Voici ce qu’attendre et à quel rythme.

Mois 1-2 : Phase d’audit et optimisations rapides

  • Audit technique complet : 30 corrections identifiées
  • Optimisation vitesse : gagnez 1-2 sec en PageSpeed
  • Aucun trafic supplémentaire encore (normal)
  • Investissement : audit 1500€ + 1000€ implémentation

Mois 3-4 : Premières actions prennent effet

  • Trafic organique : +10-15 % (principalement sur long-tail existant mieux classé)
  • Nouvelles pages créées commencent à ranker (position 20-30, pas encore page 1)
  • Engagement : baisse bounce rate de 5-10 %

Mois 5-6 : Premiers classements page 1

  • Trafic : +25-35 %
  • 3-5 mots-clés cibles arrivent à position 5-10
  • Leads organiques augmentent (+ convenable, si landing pages optimisées)

Mois 7-12 : Consolidation et croissance composée

  • Trafic : +50-80 % final vs baseline
  • 10-20 mots-clés en top 10
  • ROI positif (trafic × taux conversion – coûts conseil = $$)

Attention : cela suppose contenu nouveau ou retraité + respect des directives. Zéro création contenu = zéro nouveau trafic après mois 3.

Les erreurs à ne pas commettre quand vous choisissez un consultant SEO

Trois pièges classiques.

Piège 1 : Confondre consultant avec agence prestataire

Un consultant vous conseille et vous laisse décider. Une agence prend tout en charge. Pour petit budget, consultant = mieux. Pour croissance complète, agence = mieux. Soyez clair sur le profil que vous cherchez.

Piège 2 : Prioriser le tarif bas

Si vous payez 200€/mois, vous recevez du suivi passif ou du mailing de masse. Un consultant sérieux coûte au minimum 800€. C’est un investissement, pas une dépense.

Piège 3 : Croire aux promesses « garanties »

  • « Classement garanti Google position 1 » = Faux (personne ne contrôle Google)
  • « Résultats en 30 jours » = Faux (4-6 mois minimum pour content SEO)
  • « Nous n’avons jamais échoué » = Faux (tout site peut stagnez si marché saturé ou budgets insuffisants)

Fuyez ces agences. Un consultant honnête dit : « Nous visons tels résultats avec telle probabilité, sauf si le marché change. »

SEO Secrets: The Importance of Valid HTML for a Sustainable Strategy
→ À lire aussi SEO Secrets: The Importance of Valid HTML for a Sustainable Strategy Organic referencing (SEO) · 11 Jul 2025

Freemium : par où commencer sans consultant

Si budget très limité (< 500€/mois), commencez seul.

Semaine 1-2 : Diagnostic DIY

  • Lancez PageSpeed Insights sur 5 pages clés
  • Installez Yoast SEO gratuit
  • Ouvrez Google Search Console, voyez les impressions organiques actuelles
  • Notez le score : baseline

Semaine 3-4 : Quick wins

  • Installez WP Rocket essai 30j (gratuit) : gagnez 2-3 sec vitesse
  • Supprimez articles non performants (< 100 vues/an)
  • Créez 5 articles piliers sur vos top 5 services

Mois 2 : Mesurez

  • Revoyez PageSpeed Insights : avez-vous gagné ?
  • Attendez 6-8 semaines : trafic augmente ?

Si oui : continuez seul, achetez RankMath Pro, YouTube d’apprentissage. Si non : contactez un consultant, il aura plus d’impact.

Consultant SEO Montpellier : Comment Choisir le Bon Expert en 2024
→ À lire aussi Consultant SEO Montpellier : Comment Choisir le Bon Expert en 2024 Organic referencing (SEO) · 28 May 2026

Agences SEO WordPress vs freelance consultant : comment choisir

Difference clé : taille et spécialisation.

Critère Freelance consultant Agence WordPress Réactivité 24-48h 3-5 jours Expertise Très spécialisée Large (contenu, link, tech) Tarif 800-1500€/mois 1500-4000€/mois Suivi 1-2 appels/mois 1 call + Slack illimité Idéal pour Petit business, urgence Scale-up, ressources multiples

Si vous êtes :

  • Petit freelancer / local : consultant indépendant
  • PME croissance : freelance consultant 15-20h/mois
  • Startup ou scale-up : agence spécialisée

Questions fréquentes

Quel est le tarif d’un consultant SEO WordPress ?

Un audit technique seul coûte 800-2000€. Un accompagnement mensuel (stratégie, suivi, optimisation) varie de 500-1500€/mois en freelance à 1500-4000€/mois en agence. Méfiez-vous des tarifs < 300€/mois : c'est du suivi sans expertise. Prévoyez aussi hébergement optimisé (15-30€/mois) et plugins premium (60-150€/an).

Combien de temps pour voir des résultats SEO sur WordPress ?

4-6 mois minimum avant classements significatifs. Voici la timeline : mois 1-2 audit et optimisations rapides (vitesse, canonicals), mois 3-4 premiers classements page 2-3, mois 5-6 top 10 sur mots-clés cibles. Trafic organique : +10-15% mois 4, +50% mois 12. Pas d’audit sérieux = aucun résultat à mois 3.

WordPress est-il vraiment SEO-friendly ?

Oui, mais conditionnellement. WordPress natif handicape votre SEO sur 7 points : vitesse lente, canonicals mal configurés, crawl budget gaspillé, pas de schema.org, redirects chaotiques, pas de sécurité HTTPS automatique, et structure URLs inconsistente. Un consultant SEO WordPress corrige cela. Thème ou plugin SEO seul = insufficient.

Quel outil SEO choisir : Yoast, RankMath ou SEOPress ?

Choisissez un seul. RankMath excelle en schema et complexité ; Yoast est le plus intuitif pour débutants ; SEOPress combine légèreté et fonctionnalité. Plus important : utilisez Google Search Console (gratuit) et PageSpeed Insights (gratuit). Ces deux surpassent n’importe quel plugin en SEO réel. Un consultant vous aide à choisir selon votre profil.

Faut-il changer d’hébergement pour améliorer le SEO WordPress ?

Oui, souvent. Un hébergement partagé à 3€/mois tue votre vitesse et donc votre SEO. Minimum : VPS géré 15-30€/mois ou hosting spécialisé WordPress (Kinsta, Convesio, Pressidium). Cela divise votre temps de chargement par 2-3 et l’un des 5 critères Core Web Vitals par la même occasion. C’est 40% de votre gain SEO.

Un consultant SEO peut-il garantir les classements Google ?

Non. Personne ne contrôle Google. Les agences qui promettent « position 1 garantie » ou « résultats en 30 jours » arnaquent. Un consultant honnête dit : nous visons cette position avec cette probabilité, sujet à la concurrence et aux mises à jour. Mesurez par impressions organiques, trafic et leads, pas par rankings seuls (c’est du vanity metric).

Comment savoir si mon consultant SEO WordPress est compétent ?

Posez ces questions : avez-vous des références WordPress vérifiables ? Quel est votre PageSpeed Insights personnel ? Conseillez-vous un hébergement spécifique ? Comment mesurez-vous le succès (trafic/conversions, pas rankings) ? S’il refuse de parler hosting, c’est mauvais signe. S’il dit « rankings = succès », fuyez. Un bon consultant produit roadmap trimestrielle, audit écrit, et process documenté.

Peut-on faire du SEO WordPress soi-même sans consultant ?

Oui, mais limité. Commencez par PageSpeed Insights, Yoast SEO gratuit, Google Search Console. Optimisez vitesse (WP Rocket essai gratuit), supprimez pages zombies, créez 5 piliers de contenu. Attendez 6-8 semaines. Si trafic augmente (+ 10-15%), continuez seul. Si stagnation, embauchez un consultant : il diagnostiquera rapidement le blocage que vous avez raté.

How to optimize a title tag for better SEO in 2026
→ À lire aussi How to optimize a title tag for better SEO in 2026 Organic referencing (SEO) · 30 Dec 2025

📚 Sources & références

  1. WordPress SEO Guide 2024 : Best PracticesSemrush
  2. Google SEO Starter GuideGoogle Developers
  3. Search Engine Optimization (Wikipedia)Wikipedia
  4. Comment optimiser le référencement de son site WordPress : 7 conseils d’un expert SEOBlog du Modérateur
  5. Plugins WordPress SEO : les 9 meilleurs recommandés par AbondanceAbondance

/* 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.