{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “Article”,
“@id”: “https://kevin-grillot.fr/freelance-seo-marketing-tarifs-missions-roi#article”,
“headline”: “Freelance SEO scraping/la-polyvalence-du-scraping-un-outil-mille-possibilites/">Marketing : Tarifs, Missions et ROI en 2026”,
“description”: “Combien coûte vraiment un freelance SEO ? Grille tarifaire, comparaison freelance vs agence, ROI et guide complet pour bien choisir en 2026.”,
“datePublished”: “2026-05-21 01:55:20”,
“dateModified”: “2026-05-21 01:55:20”,
“wordCount”: 2184,
“inLanguage”: “fr-FR”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://kevin-grillot.fr/freelance-seo-marketing-tarifs-missions-roi”
},
“author”: {
“@type”: “Person”,
“@id”: “https://kevin-grillot.fr/freelance-seo-marketing-tarifs-missions-roi#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/freelance-seo-marketing-tarifs-missions-roi#faq”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Quel est le tarif d’un freelance SEO ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Un freelance SEO facture entre 500€-1200€/mois (junior), 1500€-3500€/mois (senior), ou 30€-150€/heure selon expérience. Les retainers mensuels sont préférables aux projets ponctuels car ils créent une vraie responsabilité de résultats. Méfiez-vous des tarifs trop bas (< 500€/mois) : qualité douteuse."
}
},
{
"@type": "Question",
"name": "Quel est le salaire d'un freelance SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Un freelance SEO junior gagne 25k€-35k€/an nets, un senior 60k€-100k€/an nets. Rappelez-vous : il paie cotisations sociales (~45%), impôts, outils d'analyse. Un freelance au tarif de 2500€/mois ne s'engraisse pas comparé à un salarié, mais bénéficie de flexibilité."
}
},
{
"@type": "Question",
"name": "Comment devenir freelance SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pas de diplôme obligatoire. Chemin conseillé : 2-3 ans en agence SEO pour apprendre cadre/processus, puis certifications (Google Analytics, Semrush Academy). Formation continue indispensable (Google change algo tous 3-4 mois). [Source: Blog du Modérateur]"
}
},
{
"@type": "Question",
"name": "Qui est le meilleur consultant SEO freelance ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Aucun meilleur absolu, le meilleur dépend de votre secteur. Identifiez-le via : portfolio de cas clients similaires au vôtre, réponse solide à des questions techniques pointues, accès transparent à GSC/Analytics, 4.9/5 étoiles sur plateforme reconnue."
}
},
{
"@type": "Question",
"name": "Combien de temps avant de voir des résultats SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "2-3 mois (niche peu compétitive), 6-9 mois (secteur moyen), 12-18 mois (très concurrentiel). ROI visible généralement en année 2. Qui promet top 3 en 3 mois sur mots concurrentiels = bluff flagrant."
}
},
{
"@type": "Question",
"name": "Freelance SEO ou agence : lequel choisir ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Freelance : 30-40% moins cher, plus réactif, spécialisé (risque de turnover zéro backup). Agence : équipe de continuité, infrastructure, coût 3x-4x+ élevé, plans moins flexibles. Choisissez freelance senior si vous êtes PME ; agence si besoin couverture multi-services."
}
},
{
"@type": "Question",
"name": "Comment vérifier la qualité d'un freelance SEO ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Demandez audit technique gratuit limité (2-3h) : rapport crawl, Core Web Vitals, diagnostic concurrence, 5-10 quick-wins. Posez question piégée : « Cas où vous aviez aucune chance de ranker et action pour l'éviter ». Accès en lecture GSC/Analytics non-négociable."
}
},
{
"@type": "Question",
"name": "Quel ROI attendre du SEO freelance ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Année 1 : coût pur (ex: 24k€ investi). Année 2+ : récupération rapidement. Pour e-commerce (exemple courant) : 2000€/mois investissement → +4k€/mois revenu supplémentaire année 2. Patience obligatoire, mais calcul montre c'est investissement, pas dépense."
}
}
]
},
{
"@type": "BreadcrumbList",
"@id": "https://kevin-grillot.fr/freelance-seo-marketing-tarifs-missions-roi#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://kevin-grillot.fr"
},
{
"@type": "ListItem",
"position": 2,
"name": "Freelance SEO Marketing : Tarifs, Missions et ROI en 2026",
"item": "https://kevin-grillot.fr/freelance-seo-marketing-tarifs-missions-roi"
}
]
}
]
}
.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; } }
Un freelance SEO marketing facture selon son expertise, votre secteur et la complexité de votre projet. Entre 500€ et 5000€/mois selon que vous engagiez un junior généraliste ou un senior spécialisé, le marché varie énormément. Mais avant de négocier, il faut comprendre ce que vous payez réellement : audit technique, optimisation on-page, stratégie de contenu, netlinking qualitatif ? Cet article démystifie les vrais tarifs du marché en 2026, expose les pièges du marché freelance et vous donne les critères pour évaluer si un freelance SEO en vaut le coût.
Combien Coûte Vraiment un Freelance SEO en 2026 ?
Le tarif d’un freelance SEO n’est jamais une science exacte. Contrairement aux agences avec leurs devis standardisés, chaque freelance fixe ses prix selon son expérience, son réseau et sa spécialité.
Voici les fourchettes réalistes constatées sur le marché :
Pourquoi cette variation ? Un freelance SEO qui a déjà rangé 50+ sites dans Google top 3 ne facturable pas au même tarif qu’un débutant. De plus, certains freelances se vendent comme des généralistes et copient des frameworks ; d’autres offrent une stratégie sur-mesure.
Retainer vs Projet : Quel Modèle Choisir ?
La plupart des freelances SEO proposent deux modèles tarifaires :
- Retainer (contrat mensuel récurrent) : 1500€-3500€/mois en moyenne. Vous payez un budget fixe, le freelance s’engage sur un nombre d’heures ou un scope défini (ex: audit + 10 optimisations on-page + 2 articles/mois). C’est plus prévisible et crée un partenariat durable.
- Projet à la demande : 5000€-15000€ pour un audit complet, une migration SEO ou une refonte contenu. Moins courant car le SEO n’est jamais « fini ».
Le retainer est préférable car il force le freelance à montrer des résultats dans le temps. Les projets ponctuels laissent trop de place aux plans qui ne voient jamais le jour.
Freelance vs Agence SEO : Lequel Choisir ?
Cette question revient systématiquement. Voici la réalité sans détour :
Freelance solo
- ✅ Coût : 30-40% moins cher qu’une agence
- ✅ Réactivité : contactez-le directement, pas de couches managériales
- ✅ Spécialisation : il peut refuser les projets hors de son créneau (donc hyper-focus)
- ❌ Risque : maladie, absence, turnover = pas de backup
- ❌ Infrastructure : pas d’équipe technique, pas de relationnel client dédié
- ❌ Vous devez le piloter davantage
Agence
- ✅ Équipe : quelqu’un sur-supervise, continuité garantie
- ✅ Infrastructure : outil de reporting, support client, escalade facile
- ✅ Moins de risque business : contrat avec entité légale, assurances
- ❌ Coût : 3000€-8000€/mois minimum
- ❌ Moins flexible : plans standardisés, moins d’adaptation à votre cas spécifique
- ❌ QA variable : un senior supervise mais ne fait pas l’exécution
Verdict : Si vous êtes une PME de 5-20 salariés, un freelance senior spécialisé sur votre secteur (ex: e-commerce ou SaaS B2B) vous coûtera moins cher et sera plus réactif. Si vous avez besoin de couverture large (SEO + SEM + social media management), l’agence justifie son prix. Mais attendez-vous à payer le double.
Délai Réaliste : Quand Verrez-Vous des Résultats ?
L’une des questions PAA les plus cruciales : combien de temps avant un ROI ?
Voici les timelines réelles selon votre secteur :
- Niches peu compétitives (ex: cabinet avocat local, boulangerie artisanale) : 2-3 mois pour premiers rangs, ROI visible à 6 mois
- Secteurs moyennement concurrentiels (ex: SaaS B2B niche, agence immobilière régionale) : 6-9 mois pour placement top 10, ROI à 9-12 mois
- Secteurs hyper-concurrentiels (ex: assurance, finance, e-commerce généraliste) : 12-18 mois minimum, ROI à 18+ mois
Pourquoi cette différence ? Google a besoin de voir votre site ranker progressivement, accumuler des signaux positifs (Core Web Vitals stables, contenu revu, liens entrants qualitatifs). C’est un processus de confiance incrémentale, pas une baguette magique.
Méfiance : Un freelance qui vous promet du top 3 en 3 mois sur un mot-clé concurrentiel vous bluffe. C’est un signal d’alarme classique.
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.
Audit SEO : Comment Évaluer la Vraie Expertise ?
Voici le test que tout décideur devrait faire avant de signer :
Demandez un audit technique gratuit limité (2-3h maximum).
Un vrai freelance SEO doit pouvoir fournir en 3 heures :
1. Rapport crawl : nombre de pages indexées, pages orphelines, redirects chaînes, erreurs 404 non-gérées (via Screaming Frog ou similaire)
2. Core Web Vitals actuels : LCP, FID, CLS sur vos pages clés (via PageSpeed Insights ou CrUX API)
3. Diagnostic concurrence : 3-5 compétiteurs top ranking, leur stratégie de backlinks, analyse de positional gap
4. Synthèse de 5-10 points quick-win : balises meta manquantes, contenu cannibalisé, structure data manquante, erreurs d’indexation évidentes
Si le freelance refuse catégoriquement un audit limité = risque majeur. Si en revanche il vous propose un audit complet de 80 pages gratuitement = c’est aussi un signal faible (pas de valorisation de son savoir).
Critère EEAT : Un vrai senior peut dérouler cet audit en 2 heures et vous envoyer un document PNG/PDF exploitable. Les charlatans soit demandent des paiements pour « parler », soit envoient des audits usines à gaz sans synthèse lisible.
Quel Scope de Travail Est Inclus ?
Quand vous embauchez un freelance SEO marketing, assurez-vous que ces trois piliers sont couverts :
1. SEO Technique
C’est l’invisible mais fondamental : crawlabilité, vitesse de chargement, structure data, canonicals, robots.txt, plan de site XML, redirection 301 propres.
Un freelance sans expertise technique te vend du vent. Un site avec contenu excellent mais une vitesse de 4 secondes et des Core Web Vitals mauvais ne rankera pas, peu importe votre stratégie de contenu.
2. SEO On-Page
Balises title et meta descriptions optimisées par mot-clé, structuration H2/H3 logique, densité sémantique naturelle, internal linking smart, images avec alt-text contextualisé.
C’est le balancier : trop de bourrage = pénalité. Pas assez = invisible. Un junior comprend l’idée ; un senior sait adapter par type d’intent (commercial, informatif, transactionnel).
3. SEO Off-Page (Netlinking)
C’est le volet le plus polémique. Beaucoup de « freelances SEO » n’y touchent pas car c’est coûteux et chronophage. Attention :
- ✅ Backlinks qualitatifs (liens depuis sites ayant du DA, contexte éditorial pertinent) = investissement long terme
- ❌ Backlinks de masse achetés = toxiques, risque de pénalité Google
Si un freelance ne parle que de contenu et jamais de stratégie de lien, il vous livre un service incomplet. Demandez explicitement : « Faites-vous du netlinking ? Si oui, comment ? Avez-vous des exemples ? »
Combien Gagnent les Freelances SEO ? Et Quel Salaire Espérer ?
Cette question reflète souvent l’intérêt des freelances eux-mêmes à légitimer leurs tarifs auprès de clients qui demandent : « Pourquoi je te paye 3000€/mois si tu es seul ? »
- Freelance SEO junior (0-2 ans) : gagne ~25k€-35k€/an en revenus nets (après charges sociales/impôts)
- Freelance SEO senior (3-7 ans, 3-4 clients retainer) : 60k€-100k€/an nets
- Freelance SEO ultra-spécialisé (migration technique, SaaS, e-commerce) : 100k€-150k€+/an nets (rare)
Pour contexte : un salarié SEO senior en agence gagne ~35k€-45k€/an brut, soit ~25k€-32k€ nets. Un freelance senior facture un retainer pour 4 clients → 60-80k€ nets. Mais il paie cotisations sociales (~45% du revenu), impôts sur le revenu, assurances pro, outils (Semrush, Ahrefs, etc.).
Moralité : Un freelance qui vous demande 2500€/mois pour un retainer ne s’engraisse pas. Il gagne à peine plus qu’un salarié, avec moins de sécurité.
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 Devenir Freelance SEO : Formation et Débuts
Cette question revient du côté de futurs freelances. Avant de se lancer, comprendre la réalité aide à choisir.
Pas de diplôme obligatoire. Le SEO s’apprend via :
- Autodidaxie (blogs Search Engine Journal, Backlinko, Moz)
- Certifications (Google Analytics, Semrush Academy, Module de Semji)
- Formations payantes (Udemy, Skillshare : 20-200€)
- Expérience agence (2-3 ans minimum recommandés avant de se lancer seul)
Piège courant : Un freelance qui n’a jamais travaillé en agence méconnaît les problèmes de scalabilité et livrera du travail basique. Recommandation : passez par une agence d’abord, apprenez le cadre, puis lancez-vous solo.
Actualité 2026 : La formation SEO évolue vite. Source: Article Blog du Modérateur relève que « Ne pas se former, c’est devenir obsolète ». Google change son algo tous les 3-4 mois ; qui ne suit pas se perd.
Qui Est le Meilleur Consultant SEO Freelance ?
Il n’existe pas de « meilleur » consultant absolu. Il existe le meilleur pour votre contexte.
Un expert SEO technique pointu en migrations n’aidera pas un e-commerçant besoin de contenu de catégories. Un freelance spécialisé SaaS B2B n’a rien à vous proposer si vous lancez une clinic dentaire.
Comment l’identifier ?
1. Vérifiez son portfolio : Demandez 3-5 cas clients (anonymisés si besoin). Regardez : quel type de site ? quel délai pour résultats ? quelle hausse de trafic ? Les vagues « +250% trafic » sans contexte = bluff
2. Testez ses connaissances : Posez cette question piégée : « Décris une campagne où vous aviez aucune chance de ranker et ce que vous avez fait pour l’éviter. » La vraie réponse montre s’il connaît la compétition. Bluffeurs répondront « j’aurais changé le contenu » (trop simple)
3. Vérifiez les résultats : Accès à Google Search Console et Analytics 4. Un freelance qui refuse l’accès en lecture à ces outils = non-transparent
4. Demandez des références : Contactez 2-3 anciens clients. Posez : « A-t-il livré ce qu’il promettait ? Quels délais ? Y a-t-il eu des mauvaises surprises ? »
Benchmark qualité : Sur Codeur.com, Upwork ou les forums spécialisés, les freelances SEO avec 4.9/5 étoiles et 50+ avis sont rares mais existent. Ils demandent des tarifs premium pour une raison.
ROI Calculé : Vaut-il Vraiment l’Investissement ?
Un des vides majeurs du marché : personne ne vous aide à calculer si ça en vaut la peine avant de signer.
Voici le calcul simpliste qu’un bon freelance doit pouvoir dérouler :
Exemple : E-commerce textile
- Panier moyen : 85€
- Taux de conversion site actuel : 2%
- Trafic organique actuel : 500 visiteurs/mois
- Revenus SEO actuels : 500 × 2% × 85€ = 850€/mois
Après 12 mois SEO (projection conservatrice)
- Trafic organique cible : 2500 visiteurs/mois (×5 = réaliste pour une niche spécialisée bien travaillée)
- Taux de conversion amélioré : 2.5% (meilleure expérience utilisateur)
- Revenus SEO cible : 2500 × 2.5% × 85€ = 5312€/mois
- Gain mensuel supplémentaire : 4462€/mois à partir du mois 13
Coût freelance : 2000€/mois × 12 = 24k€/an
ROI année 1 : -24k€ (investissement pur)
ROI année 2+ : +4462€/mois = +53k€/an (net après coût freelance)
Délai de rentabilité : 6-7 mois en année 2.
Ce calcul montre pourquoi le SEO n’est pas un coût mais un investissement. Mais il faut 12-18 mois de patience.
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.
Les Pièges à Éviter Absolument
Avant de signer avec un freelance SEO, méfiez-vous de ces 5 signaux rouges :
1. Promet du top 3 « garanti » : Google n’est pas manipulable ainsi. Qui promet des résultats garantis ment
2. Refuse l’accès à Search Console/Analytics : Comment vérifiez-vous le travail ? C’est suspect
3. Pas de rapport mensuel chiffré : Le SEO se mesure par du hard data (impressions GSC, clics, position moyenne, trafic organique). Des rapports « fluffy » sans chiffres = mystère
4. Vend « du SEO généraliste » : Pas de spécialité mentionnée ? Prob bluff. Les vrais seniors disent « je fais du SEO technique pour e-commerce » ou « SEO stratégique pour SaaS B2B »
5. Plateforme freelance ultra-bon marché sans avis : 300€/mois sur Fiverr sans portfolio vérifiable = risque. Cherchez plutôt des freelances référencés Source: Website Planet 2026 qui testent les meilleurs sites de recrutement freelance
Questions Clés à Poser Avant Signature
- « Avez-vous travaillé sur un site comme le mien (secteur + taille) ? Résultats concrets ? »
- « Qui est responsable du contenu : vous, moi, ou partagé ? »
- « Quels outils utilisez-vous ? (Semrush, Ahrefs, autres) J’y aurai accès ? »
- « Que se passe-t-il si vous partez malade 2 mois ? Existe-t-il un backup ? »
- « Quel KPI principal trackez-vous : trafic, classements, conversions ? »
- « Avez-vous une clause de délai de résiliation (ex: 2 mois) ? »
Conclusion : Le Bon Freelance SEO Marketing Coûte Ce Qu’il Coûte
Un freelance SEO marketing compétent facture entre 1500€ et 3500€/mois pour un retainer. C’est le prix du marché en 2026. Moins, risque de qualité insuffisante. Plus, posez des questions (ultra-spécialisation, réseau unique, etc.).
L’essentiel : payez une stratégie sur-mesure et un résultat mesurable, pas du temps flou. Un audit technique gratuit limité, des rapports chiffrés mensuels, un partenariat de 6-12 mois minimum. C’est comme ça que vous créez les conditions d’un vrai ROI en freelance SEO marketing.
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 fréquentes
Quel est le tarif d’un freelance SEO ?
Un freelance SEO facture entre 500€-1200€/mois (junior), 1500€-3500€/mois (senior), ou 30€-150€/heure selon expérience. Les retainers mensuels sont préférables aux projets ponctuels car ils créent une vraie responsabilité de résultats. Méfiez-vous des tarifs trop bas (< 500€/mois) : qualité douteuse.
Quel est le salaire d’un freelance SEO ?
Un freelance SEO junior gagne 25k€-35k€/an nets, un senior 60k€-100k€/an nets. Rappelez-vous : il paie cotisations sociales (~45%), impôts, outils d’analyse. Un freelance au tarif de 2500€/mois ne s’engraisse pas comparé à un salarié, mais bénéficie de flexibilité.
Comment devenir freelance SEO ?
Qui est le meilleur consultant SEO freelance ?
Aucun meilleur absolu, le meilleur dépend de votre secteur. Identifiez-le via : portfolio de cas clients similaires au vôtre, réponse solide à des questions techniques pointues, accès transparent à GSC/Analytics, 4.9/5 étoiles sur plateforme reconnue.
Combien de temps avant de voir des résultats SEO ?
2-3 mois (niche peu compétitive), 6-9 mois (secteur moyen), 12-18 mois (très concurrentiel). ROI visible généralement en année 2. Qui promet top 3 en 3 mois sur mots concurrentiels = bluff flagrant.
Freelance SEO ou agence : lequel choisir ?
Freelance : 30-40% moins cher, plus réactif, spécialisé (risque de turnover zéro backup). Agence : équipe de continuité, infrastructure, coût 3x-4x+ élevé, plans moins flexibles. Choisissez freelance senior si vous êtes PME ; agence si besoin couverture multi-services.
Comment vérifier la qualité d’un freelance SEO ?
Demandez audit technique gratuit limité (2-3h) : rapport crawl, Core Web Vitals, diagnostic concurrence, 5-10 quick-wins. Posez question piégée : « Cas où vous aviez aucune chance de ranker et action pour l’éviter ». Accès en lecture GSC/Analytics non-négociable.
Quel ROI attendre du SEO freelance ?
Année 1 : coût pur (ex: 24k€ investi). Année 2+ : récupération rapidement. Pour e-commerce (exemple courant) : 2000€/mois investissement → +4k€/mois revenu supplémentaire année 2. Patience obligatoire, mais calcul montre c’est investissement, pas dépense.
📚 Sources & références
- 4 formations pour devenir expert en SEO — Blog du Modérateur
- Les 8 meilleurs sites pour recruter des freelances en 2026 — Website Planet
- Fiverr en 2026 : plateforme freelance fiable ? Fonctionnement, avis, alternatives — Le Big Data
- Directeur Marketing Digital : études, missions, salaires — Cadremploi
- Backlinko SEO Research & Insights — Backlinko
/* 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




