{
«@context»: «https://schema.org»,
«@graph»: [
{
«@type»: «Article»,
«@id»: «https://kevin-grillot.fr/agence-seo-wordpress-specialisee#article»,
«headline»: «Agence SEO WordPress : comment choisir la bonne en 2026»,
«description»: «Trouvez l’agence SEO WordPress spécialisée pour booster votre site. Critères, tarifs, audit technique et comparatif des meilleures agences.»,
«datePublished»: «2026-05-28 18:06:59»,
«dateModified»: «2026-05-28 18:06:59»,
«wordCount»: 1210,
«inLanguage»: «fr-FR»,
«mainEntityOfPage»: {
«@type»: «WebPage»,
«@id»: «https://kevin-grillot.fr/agence-seo-wordpress-specialisee»
},
«author»: {
«@type»: «Person»,
«@id»: «https://kevin-grillot.fr/agence-seo-wordpress-specialisee#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/agence-seo-wordpress-specialisee#faq»,
«mainEntity»: [
{
«@type»: «Question»,
«name»: «Combien coûte réellement une agence SEO WordPress ?»,
«acceptedAnswer»: {
«@type»: «Answer»,
«text»: «Budget réaliste : 2-3k€ d’audit initial, 8-15k€ pour refonte technique (Core Web Vitals, redirections, plugins), 5-10k€/an en contenu. Total première année : 15-28k€. Méfiez-vous des devis <8k€ : c'est du service réduit ou du contenu AI sans valeur. Maintenance annuelle : 8-12k€ après."
}
},
{
"@type": "Question",
"name": "Quels délais pour voir des résultats avec une agence SEO WordPress ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Mois 1-2 : aucun résultat visible (phase technique). Mois 3-4 : premiers +10-20% trafic. Mois 6-12 : +50-150% selon niche. Toute agence promettant « 1ère position en 30j » ment. WordPress a besoin de 3-4 mois minimum avant d'accumuler l'autorité nécessaire."
}
},
{
"@type": "Question",
"name": "Yoast ou Rankmath ? Quel plugin SEO WordPress choisir ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Rankmath est meilleur en 2026 : 10 requêtes DB vs 30 pour Yoast, hreflang intelligent, Google Search Console natif. Yoast reste acceptable si votre infra est rapide. The SEO Framework pour ultra-léger. L'agence choisit par infrastructure, pas préférence perso. Le plugin n'est jamais le levier principal du SEO."
}
},
{
"@type": "Question",
"name": "Comment vérifier si une agence SEO WordPress est réellement spécialisée ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Posez ces questions : 1) 40%+ portefeuille WordPress ? 2) Portfolio verifiable avec chiffres avant/après ? 3) Outil d'audit des redirect chains (Screaming Frog, Redirect Detective) ? 4) Protocole staging pour tout déploiement ? 5) Monitoring post-lancement inclus 3-6 mois ? Réponses vagues = pas spécialisée."
}
},
{
"@type": "Question",
"name": "Qu'est-ce qu'un audit SEO WordPress vraiment complet ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Audit complet = 5 volets : 1) Crawlabilité (ratio indexation 85%+), 2) Core Web Vitals et performance, 3) Structure permaliens et redirections, 4) Plugins SEO et conflits, 5) Multilingue et hreflang. Coûte 2-3k€. Si 4k€ : surchargé ou comprend déjà refonte.»
}
},
{
«@type»: «Question»,
«name»: «WordPress est-il vraiment pire en SEO que les autres CMS ?»,
«acceptedAnswer»: {
«@type»: «Answer»,
«text»: «Oui, architecturalement. WordPress charge images full-size par défaut, génère des centaines de pages inutiles (révisions, brouillons), consomme crawl budget. Mais 43% du web est dessus, donc pas d’alternative pratique. Une agence WordPress spécialisée compense ces défauts avec refonte technique. Les CMS modernes (Statamic, Craft) sont techniquement supérieurs mais moins flexibles.»
}
},
{
«@type»: «Question»,
«name»: «Une migration de sites WordPress impacte-t-elle le SEO ?»,
«acceptedAnswer»: {
«@type»: «Answer»,
«text»: «Risque réel si mal gérée. 301 redirections mal configurées = perte de PageRank invisible. Bonne agence WordPress : gel des 301 redirects 12 mois, test staging complet, monitoring Search Console 48h post-lancement. Trafic doit rester stable ou +5% semaine 1, même en refonte technique.»
}
},
{
«@type»: «Question»,
«name»: «Quels signaux d’expertise EEAT pour une agence SEO WordPress ?»,
«acceptedAnswer»: {
«@type»: «Answer»,
«text»: «Expertise : blog technique régulier (Gutenberg, Core Web Vitals WordPress), cas d’études domaines publics avec chiffres précis, certification Google Partners. Autorité : portefeuille >5 ans, mentions presse SEO (Search Engine Journal, Smashing Magazine). Fiabilité : contrat clair, SLA monitoring, clause rupture. Éthique : pas de promesse « 1ère page », processus transparent.»
}
}
]
},
{
«@type»: «BreadcrumbList»,
«@id»: «https://kevin-grillot.fr/agence-seo-wordpress-specialisee#breadcrumb»,
«itemListElement»: [
{
«@type»: «ListItem»,
«position»: 1,
«name»: «Accueil»,
«item»: «https://kevin-grillot.fr»
},
{
«@type»: «ListItem»,
«position»: 2,
«name»: «Agence SEO WordPress : comment choisir la bonne en 2026»,
«item»: «https://kevin-grillot.fr/agence-seo-wordpress-specialisee»
}
]
}
]
}
.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; } }
Votre site WordPress stagne en SEO et vous envisagez de confier cette mission à une agence SEO WordPress spécialisée. Bonne intuition : selon les données de BuiltWith, WordPress alimente 43% du web, mais les agences SEO généralistes ratent 9 fois sur 10 ses spécificités techniques. Cet article vous révèle comment identifier une véritable agence SEO WordPress, les pièges cachés du marché, et les critères non-négociables avant de signer un contrat.
Pourquoi une agence généraliste échoue sur WordPress
Votre agence SEO actuelle vous promet du contenu optimisé et des backlinks. Logique. Sauf que votre site WordPress charge en 5 secondes, génère des centaines de pages dupliquées (révisions, brouillons, catégories vides) et consomme 80% du crawl budget sur du contenu non-indexable.
Un consultant SEO senior avec 100+ sites en portefeuille le confirme : l’erreur classique consiste à appliquer une stratégie générique à WordPress. Le CMS souffre de défauts architecturaux natifs :
- Crawl budget gaspillé : médiane 60-70% du site non-exploité (révisions de posts, brouillons, pages d’archives mal filtrées)
- Core Web Vitals en péril : WordPress par défaut charge les images en full-size, active les révisions en base, génère du code jQuery hérité
- Plugins conflictuels : Yoast + WP Rocket + Wordfence = ralentissements imperceptibles mais cumulatifs (-30% en performance)
- Structure de permaliens rigide : changer
/category/post/en/post/après 5 ans = 5000+ redirections chaînées mal gérées
Une agence SEO généraliste considère WordPress comme un CMS quelconque. Une agence WordPress spécialisée fait d’abord un audit forensique technique avant toute stratégie de contenu.
Audit SEO WordPress : ce que doit vérifier une agence spécialisée
Avant de proposer un plan d’action, une agence SEO WordPress digne de ce nom doit réaliser un audit technique précis. Voici les 5 points non-négociables :
1. Crawlabilité et indexation
Lancez Screaming Frog (version gratuite) : crawlez 500 pages de votre site et notez le ratio [réponses 200 / requêtes totales]. Objectif : 85%+ minimum. Si c’est <80%, des centaines de pages se cachent derrière des meta robots noindex, des structures de catégories mal configurées, ou des redirections en chaîne.
Une agence WordPress spécialisée sait que Yoast génère des fichiers XML sitemaps volumineux (parfois >100 Mo) qui surcharger Google. Elle optimise vers Rankmath ou The SEO Framework, plus légers.
2. Core Web Vitals et performance
Allez sur PageSpeed Insights et vérifiez vos scores (LCP, FID, CLS). WordPress natif obtient rarement >60/100 sans optimisation. Une agence spécialisée doit proposer :
- Lazy loading intelligent des images (pas juste avec
loading="lazy") - Minification CSS/JS avec split de code par page
- Cache multi-niveaux (browser, serveur, CDN)
- Image optimization avec WebP + responsive images
3. Structure des permaliens et redirections
Si votre site a >3 ans, il a probablement changé de structure de permaliens au moins une fois. Une mauvaise gestion = redirections chaînées invisibles (301 → 301 → 200), perte de PageRank masquée.
Demandez à l’agence : « Quel outil auditez-vous pour les redirect chains ? » Si la réponse est vague, c’est mauvais signe.
4. Plugins SEO et conflits
Les plugins SEO populaires (Yoast, Rankmath, All in One SEO) génèrent de la complexité. Rankmath crée 10+ requêtes de base de données par page. Yoast en génère 30+. Une agence spécialisée connaît ces compromis et les arbitre selon votre infrastructure.
5. Multilingue et hreflang
Si vous êtes en multilingue, les erreurs hreflang coûtent 20-40% en trafic. WPML vs Polylang vs qTranslate n’implémentent pas hreflang de la même façon. Une agence WordPress maîtrise ces nuances.
Tarifs réalistes : combien vraiment coûte une agence SEO WordPress
Le marché affiche souvent « 500€/mois de SEO ». C’est théâtre. Voici la réalité 2026 :
Piège classique : une agence propose « refonte complète + 12 mois contenu = 8 000€ total ». Mathématiquement impossible sans couper les coins. C’est soit du service réduit, soit du contenu généré IA sans valeur.
Budget réaliste pour un site WordPress moyen (10-100 pages, 5-10 ans) : 15-25k€ première année, 8-12k€ annuel après.
Vous avez un projet spécifique ?
Kevin Grillot accompagne entrepreneurs et PME en SEO, webmarketing et stratégie digitale. Bénéficiez d'un audit ou d'un accompagnement sur-mesure.
Comment identifier une agence SEO WordPress vraiment spécialisée
Voici 6 questions à poser avant de signer :
Question 1 : « Quel est votre ratio de clients WordPress dans votre portefeuille ? »
Réponse acceptable : 40%+ du portefeuille = WordPress. Si <20%, c'est une agence généraliste qui accepte du WordPress occasionnellement. Pas assez d'expertise concentrée.
Question 2 : « Avez-vous une certification Gutenberg ou Google Search Console ? »
Les vraies agences WordPress maîtrisent Gutenberg (l’éditeur moderne de WordPress depuis 2018). Google n’offre pas de certification Gutenberg, mais vérifiez la certification Google Partners. Elle est nécessaire mais pas suffisante.
Question 3 : « Montrez-moi 3 études de cas WordPress avec chiffres (trafic avant/après, délai) »
Exemple de bonne réponse : « Client e-commerce, 20 pages, +240% trafic organique en 6 mois, Core Web Vitals passés de 28 à 92. » Avec domaine verifiable, pas de cas client anonyme vague.
Question 4 : « Quel protocole pour les 301 redirections et comment auditez-vous les redirect chains ? »
Réponse pro : « Screaming Frog en crawl profond, Redirect Detective pour les chaînes, htaccess ou Redirection plugin avec logs. Nous testons avec HTTP redirect checker après mise en live. »
Réponse mauvaise : « On utilise le plugin Redirection et on vérifie manuellement. » Pas assez rigoureux.
Question 5 : « Que proposez-vous comme monitoring post-lancement ? »
Une agence WordPress digne de ce nom reste engagée 3-6 mois après. Core Web Vitals dérivent souvent après déploiement (nouvelles extensions, mises à jour). Elle doit proposer :
- Alertes PageSpeed hebdomadaires
- Monitoring des erreurs Google Search Console
- Rapports mensuels trafic organique
- Maintenance de sécurité et mises à jour plugins
Question 6 : « Travaillez-vous dans un environnement de staging avant de toucher au site de prod ? »
Réponse acceptable uniquement : « Oui, toujours. Staging en clone complet, tests 48h, rollback possible. »
Alternative au plugin SEO : quand les vrais problèmes dépassent Yoast et Rankmath
Beaucoup de sites WordPress pensent que changer de plugin SEO (Yoast → Rankmath, par exemple) va résoudre leurs problèmes de trafic. C’est rarement le levier principal.
Le vrai problème est l’infrastructure technique. Un site sur Statamic (CMS moderne léger) avec contenu moyen > Site WordPress lourd avec contenu excellent, à effort égal.
Cependant, le choix du plugin SEO compte :
Yoast SEO
- Avantages : interface connue, analyse de lisibilité, maturité
- Inconvénients : 30+ requêtes DB par page, ralentit les sites WordPress lents, XML sitemaps bloatés
- Verdict : acceptable sur infrastructure rapide, toxique sur sites hébergement mutualisé
Rankmath
- Avantages : 10 requêtes DB, intégration Google Search Console native, analytics léger
- Inconvénients : version Pro requise pour analytics avancé (2000+ pages/mois limite en version free)
- Verdict : meilleur choix actuel 2026 pour perfo
The SEO Framework
- Avantages : ultra-léger (2-3 requêtes), code propre, pas de bloat
- Inconvénients : interface moins riche, documentation moins complète
- Verdict : excellent pour développeurs, overkill pour PME sans tech
Une agence SEO WordPress ne dit pas « on installe Rankmath et c’est bon ». Elle dit « on diagnostique votre infra, on choisit le plugin aligné, puis on optimise l’écosystème global ».
Délais réalistes : quand voir des résultats avec une agence SEO WordPress
Promesse courante : « 1ère position en 30 jours ». Mensonge complet. Tuez votre confiance envers cette agence.
Voici les délais réalistes selon l’audit initial :
Mois 1-2 : Phase technique → 0 résultat SEO visible
- Audit complet
- Refonte Core Web Vitals
- 301 redirects massives
- Optimisation base données WordPress
- Pas de classement nouveau, mais site plus sain
Mois 3-4 : Phase contenu → Premiers +10-20% trafic
- Premiers articles optimisés publiés
- Maillage interne initié
- Indexation re-crawlée par Google
- Classements «faciles» (moins de 10k résultats) rapportent du trafic
Mois 6-12 : Effet croissance → +50-150% trafic selon niche
- Site accumule autorité avec contenu régulier
- Backlinks commence à matérialiser (si stratégie PR incluse)
- Core Web Vitals stabilisés, crawl budget optimisé
Mois 12+ → Plateau ou décélération
- Niches concurrentielles (immobilier, assurance) : plateau après 12-18 mois
- Niches de niche : croissance continue
Exemple chiffré : site WordPress e-commerce avec audit initial mauvais (40/100 PageSpeed, -80% trafic YoY) → 6 mois pour +120% trafic, pas 30 jours.
Vous avez un projet spécifique ?
Kevin Grillot accompagne entrepreneurs et PME en SEO, webmarketing et stratégie digitale. Bénéficiez d'un audit ou d'un accompagnement sur-mesure.
Checklist : avant de contacter une agence SEO WordPress
Faites ceci en 1 heure avant de dépenser un euro :
1. Lancez un audit gratuit : Google PageSpeed Insights, Semrush Site Audit (14 jours gratuit), Screaming Frog (version free 500 pages)
2. Notez 3 métriques clés :
– PageSpeed score (objectif : >70)
– Nombre de pages indexées vs crawlées (ratio 85%+)
– Core Web Vitals (LCP <2.5s, CLS <0.1)
3. Préparez une liste de 3-5 agences candidates → Vérifiez leurs 5 derniers cas WordPress publics
4. Posez les 6 questions ci-dessus → Éliminez les réponses vagues
5. Demandez un audit gratuit de 1h → Évalue son niveau de détail technique
6. Vérifiez les avis : Google, Trustpilot, Malt (si freelance) — attention aux avis achetés (tous 5 stars = alerte)
7. Exigez un devis détaillé en phases : audit, refonte, contenu, monitoring — jamais un forfait global flou
Top 5 signaux d’une agence SEO WordPress crédible
1. Portfolio WordPress verifiable : domaines publics, Google Analytics snapshots, avant/après Core Web Vitals
2. Blog technique régulier : articles sur Gutenberg, Core Web Vitals WordPress, optimisations Rankmath
3. Certification Google Partners (nécessaire mais pas suffisante) + expérience Screaming Frog, Semrush, Ahrefs
4. Cas d’études avec délais et chiffres : « +240% en 6 mois, Core Web Vitals 28→92 » plutôt que « excellent service »
5. Contrat clair avec SLA : monitoring inclus, alertes Core Web Vitals, métriques mensuelles, clause de rupture
Plugins WordPress SEO en 2026 : benchmark actualisé
Selon Siècle Digital (mai 2026), les 5 meilleurs plugins SEO WordPress sont :
1. Rankmath — 10 req DB, hreflang intelligent, Google Search Console native intégré. Idéal PME.
2. Yoast SEO — 30 req DB, analyse lisibilité robuste. Maturité vs perfo = trade-off.
3. The SEO Framework — Ultra-léger, code propre, pour sites hébergés bas-coût.
4. Ahrefs SEO — Intégration Ahrefs native, coûteux (99€/an Ahrefs + plugin), pour agences.
5. Semrush SEO — Analytics intégré, pour boîtes multi-sites.
Une agence ne choisit pas par préférence : elle choisit par infrastructure et objectifs. Une TPE hébergée mutualisé → The SEO Framework ou Rankmath. Un groupe média → Semrush SEO ou Ahrefs.
Vous avez un projet spécifique ?
Kevin Grillot accompagne entrepreneurs et PME en SEO, webmarketing et stratégie digitale. Bénéficiez d'un audit ou d'un accompagnement sur-mesure.
Questions clés avant engagement : vos craintes légitimes
Peur 1 : « Une migration SEO = perte de trafic »
Risque réel si mal géré. Une agence WordPress spécialisée minimize ce risque en :
- Gelant les 301 redirects 12 mois minimum
- Testant en staging complet
- Gardant une fenêtre d’action rapide (<24h production)
- Monitorant Google Search Console 48h post-lancement
Bonne agence = trafic stable ou +5% en semaine 1, même en cas de refonte technique.
Peur 2 : « Ils vont installer des plugins inutiles »
Vrai : 40% des agences font du feature creep (« on ajoute un plugin d’analytic, un de sécurité… »). Chaque plugin = 1-5 requêtes DB supplémentaires.
Demandez : « Quel est votre scoring pour ajouter un plugin ? » Bonne réponse : « Analyse de l’impact DB + PageSpeed avant implémentation. »
Peur 3 : « Durée réelle vs devis »
Agence généraliste dit « 4 semaines audit ». En réalité 10 semaines. Demandez des jalons avec livrables partiels (audit draft jour 10, rapport complet jour 14).
Peur 4 : « Garanties SEO : existent-elles ? »
Non. Google peut changer son algo demain. Une agence pro ne promet pas « 1ère page », elle promet un processus rigoureux : audit clair, refonte testée, monitoring continu.
Préférez une clause de rupture : « Si trafic organique decline >20% après 3 mois, pause contrat et audit complémentaire. »
Questions fréquentes
Combien coûte réellement une agence SEO WordPress ?
Budget réaliste : 2-3k€ d’audit initial, 8-15k€ pour refonte technique (Core Web Vitals, redirections, plugins), 5-10k€/an en contenu. Total première année : 15-28k€. Méfiez-vous des devis <8k€ : c'est du service réduit ou du contenu AI sans valeur. Maintenance annuelle : 8-12k€ après.
Quels délais pour voir des résultats avec une agence SEO WordPress ?
Mois 1-2 : aucun résultat visible (phase technique). Mois 3-4 : premiers +10-20% trafic. Mois 6-12 : +50-150% selon niche. Toute agence promettant « 1ère position en 30j » ment. WordPress a besoin de 3-4 mois minimum avant d’accumuler l’autorité nécessaire.
Yoast ou Rankmath ? Quel plugin SEO WordPress choisir ?
Rankmath est meilleur en 2026 : 10 requêtes DB vs 30 pour Yoast, hreflang intelligent, Google Search Console natif. Yoast reste acceptable si votre infra est rapide. The SEO Framework pour ultra-léger. L’agence choisit par infrastructure, pas préférence perso. Le plugin n’est jamais le levier principal du SEO.
Comment vérifier si une agence SEO WordPress est réellement spécialisée ?
Posez ces questions : 1) 40%+ portefeuille WordPress ? 2) Portfolio verifiable avec chiffres avant/après ? 3) Outil d’audit des redirect chains (Screaming Frog, Redirect Detective) ? 4) Protocole staging pour tout déploiement ? 5) Monitoring post-lancement inclus 3-6 mois ? Réponses vagues = pas spécialisée.
Qu’est-ce qu’un audit SEO WordPress vraiment complet ?
Audit complet = 5 volets : 1) Crawlabilité (ratio indexation 85%+), 2) Core Web Vitals et performance, 3) Structure permaliens et redirections, 4) Plugins SEO et conflits, 5) Multilingue et hreflang. Coûte 2-3k€. Si 4k€ : surchargé ou comprend déjà refonte.
WordPress est-il vraiment pire en SEO que les autres CMS ?
Oui, architecturalement. WordPress charge images full-size par défaut, génère des centaines de pages inutiles (révisions, brouillons), consomme crawl budget. Mais 43% du web est dessus, donc pas d’alternative pratique. Une agence WordPress spécialisée compense ces défauts avec refonte technique. Les CMS modernes (Statamic, Craft) sont techniquement supérieurs mais moins flexibles.
Une migration de sites WordPress impacte-t-elle le SEO ?
Risque réel si mal gérée. 301 redirections mal configurées = perte de PageRank invisible. Bonne agence WordPress : gel des 301 redirects 12 mois, test staging complet, monitoring Search Console 48h post-lancement. Trafic doit rester stable ou +5% semaine 1, même en refonte technique.
Quels signaux d’expertise EEAT pour une agence SEO WordPress ?
Expertise : blog technique régulier (Gutenberg, Core Web Vitals WordPress), cas d’études domaines publics avec chiffres précis, certification Google Partners. Autorité : portefeuille >5 ans, mentions presse SEO (Search Engine Journal, Smashing Magazine). Fiabilité : contrat clair, SLA monitoring, clause rupture. Éthique : pas de promesse « 1ère page », processus transparent.
📚 Sources & références
- Les 5 meilleurs plugins WordPress SEO pour votre site – Siècle Digital — Siècle Digital
- Comment optimiser le référencement de son site WordPress : les 7 conseils d’un expert SEO — Blog du Modérateur
- CMS Market Share & Usage Statistics — BuiltWith
- Chrome User Experience Report – Core Web Vitals — Google Developers
- Screaming Frog SEO Spider – Site Crawling Tool — Screaming Frog
/* 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 checklistBesoin 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.
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




