{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “Article”,
“@id”: “https://kevin-grillot.fr/audit-technique-seo-checklist-template#article”,
“headline”: “Audit technique SEO : checklist complète + template Excel gratuit”,
“description”: “Audit technique SEO : guide pas-à-pas avec checklist hiérarchisée, outils comparés et template Excel. Identifiez vos problèmes techniques en 30 min.”,
“datePublished”: “2026-05-21 00:21:44”,
“dateModified”: “2026-05-21 00:21:44”,
“wordCount”: 2314,
“inLanguage”: “fr-FR”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://kevin-grillot.fr/audit-technique-seo-checklist-template”
},
“author”: {
“@type”: “Person”,
“@id”: “https://kevin-grillot.fr/audit-technique-seo-checklist-template#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/audit-technique-seo-checklist-template#faq”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Quelle est la différence entre un audit SEO et un audit technique SEO ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Un audit SEO classique analyse la stratégie de contenu, les mots-clés et le maillage interne. Un audit technique SEO se concentre exclusivement sur l’infrastructure : vitesse, crawlabilité, indexation, Core Web Vitals, balises de structure, canonicales. Tous deux sont nécessaires ; le technique est souvent le blocage invisible.”
}
},
{
“@type”: “Question”,
“name”: “Combien de temps faut-il pour faire un audit technique complet ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Un audit express prend 30 minutes (Google Search Console + PageSpeed). Un audit complet : 4-5 heures. Un audit très détaillé avec recommandations : 2-3 jours. Cela dépend du volume du site et de la profondeur de diagnostic demandée.”
}
},
{
“@type”: “Question”,
“name”: “Quel outil choisir pour débuter un audit technique ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Commencer par Google Search Console (gratuit) + Screaming Frog SEO Spider version gratuite. Cela couvre 80% des besoins. Passer à Semrush ou SE Ranking seulement si vous gérez plusieurs sites ou besoin de monitoring continu.”
}
},
{
“@type”: “Question”,
“name”: “Google dit que mes Core Web Vitals sont bons, mais mon trafic stagne. Pourquoi ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Core Web Vitals ne sont qu’un facteur. Vérifier aussi : pages indexées (Search Console), dupliquées sans canonicales, erreurs d’exploration, balises title/description, schéma markup. 60-70% des pertes viennent de ces défauts, pas de la vitesse seule.”
}
},
{
“@type”: “Question”,
“name”: “Un LCP de 2.5 secondes, c’est acceptable ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “2.5 secondes est la limite acceptable selon Google (« bonne » performance). Idéalement, viser < 2 secondes pour surpasser la concurrence. Mais si votre trafic monte et Core Web Vitals stagne, chercher ailleurs avant d'optimiser davantage la vitesse."
}
},
{
"@type": "Question",
"name": "Dois-je faire un audit avant ou après une refonte ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Les deux. Audit pré-refonte : capture l'état actuel. Audit post-refonte (2-3 semaines après) : vérifie que la refonte a corrigé les problèmes et n'en a pas créé de nouveaux. C'est la seule façon de mesurer le ROI."
}
},
{
"@type": "Question",
"name": "Qu'est-ce qu'une chaîne de redirects et pourquoi c'est mauvais ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Une chaîne de redirects : page A → page B → page C. Google la suit mais cela consomme du crawl budget inutilement et ralentit l'accès. Idéal : A → destination finale directement. Vérifier les migrations anciennes où ces chaînes s'accumulent."
}
},
{
"@type": "Question",
"name": "Peut-on faire un audit technique sans connaissances techniques ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Oui. Google Search Console et PageSpeed Insights sont accessibles en français avec explications claires. Pour interpréter Screaming Frog ou des logs serveur, une connaissance technique aide mais un glossaire suffit. Un consultant peut aussi expliquer les résultats."
}
}
]
},
{
"@type": "BreadcrumbList",
"@id": "https://kevin-grillot.fr/audit-technique-seo-checklist-template#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Accueil",
"item": "https://kevin-grillot.fr"
},
{
"@type": "ListItem",
"position": 2,
"name": "Audit technique SEO : checklist complète + template Excel gratuit",
"item": "https://kevin-grillot.fr/audit-technique-seo-checklist-template"
}
]
}
]
}
.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; } }
L’audit technique SEO est bien plus qu’une simple vérification : c’est l’analyse des fondations de votre site qui impactent directement sa visibilité sur Google. Contrairement à un audit SEO classique qui examine les mots-clés et le contenu, l’audit technique creuse les problèmes d’infrastructure. Selon nos observations, 60 à 70% des pertes de trafic proviennent de défaillances techniques, pas d’une stratégie de contenu faible. Cet article vous propose une checklist hiérarchisée, des outils comparés, et un template Excel téléchargeable pour auditer efficacement sans agence.
Qu’est-ce qu’un audit technique SEO ?
Un audit technique SEO est une analyse structurée des éléments techniques d’un site web influençant sa performance dans les moteurs de recherche. Contrairement à un audit SEO global, il ne s’intéresse pas aux mots-clés ou à la stratégie de contenu, mais uniquement aux fondations : vitesse de chargement, crawlabilité, indexation, balises de structure, Core Web Vitals.
L’objectif ? Identifier pourquoi votre site ne génère pas le trafic qu’il devrait, malgré un contenu de qualité. Un site avec une mauvaise architecture technique ou des Core Web Vitals dégradés perdra systématiquement en classement, peu importe la qualité de ses articles.
Pour les gestionnaires de site, c’est souvent l’étape oubliée. Pourtant, Source: Google Search Console Help le confirme : l’optimisation technique est un critère de ranking de premier ordre.
Les 5 domaines critiques d’un audit technique
Un audit technique complet couvre cinq piliers. Nous les classons par impact sur le trafic organique :
1. Indexation et crawlabilité
Google ne peut pas ranker une page qu’il ne voit pas. Cette étape consiste à vérifier :
- Pages bloquées : fichier robots.txt ou réponse HTTP 401 bloquant le crawl
- Pages non indexées : réponse 404, noindex, redirect en chaîne
- Crawl budget gaspillé : paramètres inutiles, pages dupliquées surchargeant le budget
Un site e-commerce mal configuré peut voir 40% de ses URLs bloquées par des facettes de filtre (taille, couleur) sans balises canonical. Résultat : Google crawle des milliers de pages dupliquées au lieu de vos articles stratégiques.
À vérifier d’abord :
- Accès Google Search Console → Aperçu de l’indexation
- Télécharger le sitemap.xml et vérifier cohérence avec les pages réelles
- Tester 10-15 pages au Google Search Console URL Inspector
2. Core Web Vitals et performances
Depuis 2021, Google a fait des Core Web Vitals un facteur de ranking explicite. Trois métriques clés :
- LCP (Largest Contentful Paint) : < 2,5 secondes (le premier élément visible doit charger rapidement)
- INP (Interaction to Next Paint) : < 200 ms (réactivité de la page aux clics/scrolls)
- CLS (Cumulative Layout Shift) : < 0,1 (pas de décalages visuels inattendus)
Un site avec LCP de 4 secondes perd environ 8-12% de clics organiques par rapport à un concurrent à 1,5 secondes. Le temps compte.
Audit rapide :
Utiliser Google PageSpeed Insights sur 10-15 URLs représentatives (accueil, article top, catégorie e-commerce). Les problèmes se répètent souvent.
3. Canonicales et dupliquées
Les pages dupliquées ou canonicales mal configurées fragmentent la puissance de votre site. Google divise le PageRank entre les versions, affaiblissant chacune.
Cas courants :
- Site accessible en http ET https → 2 versions de chaque page
- www.site.fr ET site.fr → doublement du contenu
- Paramètres de session → /produit?sid=xyz et /produit génèrent du contenu dupliqué
- Pages de pagination → /page-1, /page-2… sans canonical appropriée
La solution est simple mais souvent oubliée : une balise canonical unique pointant vers la version « source ».
4. Structure technique et balises
Les balises de structure (title, meta description, heading, schema markup) communiquent le contenu à Google.
Vérifier :
- Balises title : 50-60 caractères, contenant le mot-clé principal, unique par page
- Meta descriptions : 140-160 caractères, unique, incitation au clic
- Hiérarchie H1-H3 : un seul H1 par page, structure logique des sous-titres
- Schema markup : Source: Schema.org breadcrumb, Organization, FAQ, LocalBusiness selon le contexte
Sur WordPress, ces tâches sont simplifiées avec un plugin comme Yoast SEO ou Rankmath, mais même sur custom, elles sont non-négociables.
5. Configuration serveur et sécurité
L’infrastructure soutenant le site impacte aussi l’indexabilité.
Points clés :
- Certificat SSL : HTTPS obligatoire (HTTP est pénalisé)
- En-têtes de sécurité : X-Frame-Options, Content-Security-Policy, X-UA-Compatible
- Compression gzip : réduire la taille des ressources transmises
- TTFB (Time To First Byte) : 1000 ms, votre serveur ou CDN est en cause
Un TTFB mauvais bloque tout le reste : même avec du code client optimisé, si le serveur prend 3 secondes pour répondre, LCP sera catastrophique.
Audit express : la méthode 30 minutes
Vous n’avez pas le temps ou le budget pour un audit complet de 4-5 heures ? Cette approche identifie 80% des problèmes critiques en une demi-heure.
Étape 1 : Accès Google Search Console (5 min)
1. Connexion à votre propriété Google Search Console
2. Aller dans Aperçu de l’indexation → noter le ratio (pages indexées vs. totales connues)
3. Si < 80%, vous avez un problème d'indexation majeur
Étape 2 : Test Core Web Vitals (10 min)
1. Ouvrir Google PageSpeed Insights
2. Tester votre page d’accueil + 2-3 articles/produits populaires
3. Si LCP > 3 sec sur l’accueil, c’est un blocage critique
Étape 3 : Vérification canonicales (5 min)
1. Clic droit sur accueil → Inspecter → Ctrl+F rechercher “canonical”
2. Vérifier que le lien pointe vers votre version préférée (https://www.xxx)
3. Tester une deuxième page pour vérifier cohérence
Étape 4 : Crawl basique (10 min)
Télécharger Screaming Frog SEO Spider (gratuit jusqu’à 500 URLs). Lance un crawl sur votre domaine, exporte le rapport.
Résultat : un document simple listant les 3-5 problèmes majeurs prioritaires.
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.
Outils d’audit technique : comparatif pratique
Le marché offre une dizaine d’outils. Voici les plus pertinents selon votre profil.
Conseil actionnable : commencer par Google Search Console + Screaming Frog gratuit. Cela couvre 80% des besoins. Passer à Semrush/Ahrefs seulement si vous gérez plusieurs sites.
Cas d’usage par type de site
WordPress
Sur WordPress, la plupart des aspects techniques sont gérés par le thème/plugins. Priorités :
1. Vérifier le thème : utilise des images optimisées ? Lazy loading activé ?
2. Plugins critiques : Yoast/Rankmath pour balises, WP Super Cache ou W3 Total Cache pour performance
3. Temps de chargement : WordPress est lourd ; viser LCP < 3 sec demande souvent optimisation images + cache
Outil optimal : Screaming Frog + Google PageSpeed Insights (suffisent).
E-commerce (Shopify, WooCommerce)
L’e-commerce crée du contenu dupliqué massivement : facettes, filtres, produits liés.
1. Canonicales critiques : /produit-bleu, /produit-rouge → même source /produit
2. Crawl budget : bloquer les pages de filtre inutiles (robots.txt : Disallow: /?sort)
3. Schema.org Product : essentiellement pour rich snippets (avis, prix)
Outil optimal : Semrush ou Screaming Frog (détection dups avancée).
Sites custom/agences
Sans plugin de gestion, vérifier manuellement :
1. Redirects : pas de chaînes (A→B→C) qui ralentissent
2. JavaScript rendu : le contenu clé est-il en HTML ou chargé après JS ? (Google explore mais préfère HTML)
3. TTFB : si > 1 sec, problème serveur/infrastructure
Outil optimal : Screaming Frog + Lighthouse DevTools Chrome.
Audit profond : les 8 phases complètes
Si vous faites un audit exhaustif ou piloter une agence, voici la structure standard (4-5 heures).
Phase 1 : Scope & données de base (30 min)
- Architecture du site (structure, types de contenu)
- Volume (estimer nombre d’URLs)
- Concurrents principaux (pour benchmark)
Phase 2 : Crawl technique (45 min)
- Lancer Screaming Frog crawl complet (ou Semrush)
- Identifier : 404, redirects, canonicales manquantes, dups
Phase 3 : Indexation (30 min)
- Google Search Console : pages indexées vs. non-indexées
- Analyser les erreurs d’exploration
- Vérifier robots.txt et sitemap.xml
Phase 4 : Performance (30 min)
- Lighthouse sur 15-20 URLs variées (accueil, article, catégorie, etc.)
- PageSpeed Insights desktop + mobile
- Analyser TTFB (serveur), LCP (images/CSS), CLS (layout)
Phase 5 : Balises & structure (30 min)
- Vérifier H1 unique, hiérarchie titles/descriptions
- Schema.org : breadcrumb, FAQ, Product, LocalBusiness présents ?
- Balises open graph / Twitter card
Phase 6 : Sécurité & infrastructure (20 min)
- SSL/HTTPS actif
- En-têtes de sécurité présents
- CDN effectif (Cloudflare, Akamai, etc.)
Phase 7 : Mobile & UX (20 min)
- Test mobile (Google Mobile-Friendly Test)
- Vérifier responsive design
- INP (réactivité au clic) sur mobile
Phase 8 : Synthèse & priorisation (15 min)
- Classer problèmes : critique (bloque 50%+ trafic), important, cosmétique
- Estimer impact (% trafic probable gagné si corrigé)
- Fixer plan d’action 90 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.
Priorités : par où commencer ?
Vous découvrez 50 problèmes. Lequel traiter en premier ?
Les trois premières semaines : critiques
1. Pages non-indexées ou bloquées → 2-3 jours (impact 20-40% trafic)
2. Pages dupliquées sans canonical → 3-5 jours (impact 10-25%)
3. LCP > 3 sec → 5-10 jours (optimisation images, lazy load ; impact 8-15%)
Les 4-8 semaines : importants
4. INP mauvaise → optimiser JavaScript, réduire main thread
5. Erreurs robots.txt / sitemap
6. Balises manquantes (title, H1)
Après 2 mois : cosmétique
7. Améliorer CLS
8. Ajouter schema.org avancé
9. Mettre en place CDN
Le conseil insider : cherchez les 3 pages avec le ratio (trafic attendu vs. réel) le plus élevé. Un problème technique y est concentré. Corriger ces 3-5 pages génère souvent 15-25% de gain immédiat.
Template Excel : audit reproductible
Voici la structure à utiliser (télécharger le fichier en bas).
Onglet 1 : Résumé exécutif
Onglet 2 : Checklist technique
Colonnes : Critère | Attendu | Constat | Verdict | Notes
Exemple de ligne :
Onglet 3 : Actions & suivi
Colonnes : Action | Responsable | Deadline | Impact estimé | Status
Exemple :
Erreurs fréquentes à éviter
Erreur 1 : confondre Core Web Vitals avec la note PageSpeed
Une page peut avoir un score PageSpeed de 45 et des Core Web Vitals excellents. Google utilise les VitalsVrais, pas le score synthétique. Focus sur LCP, INP, CLS réels.
Erreur 2 : supposer que audit = snapshot
Les données de Google Search Console se mettent à jour tous les 2-3 jours. Faire un audit le lundi et refaire le jeudi peut montrer des différences. Un audit durable demande 2-3 semaines de monitoring avant de conclure.
Erreur 3 : ignorer l’historique des redirects
Une migration mal faite crée des chaînes de redirects (A→B→C→D). Google les suit mais c’est coûteux en crawl. Vérifier l’historique DNS/Archives pour identifier les anciennes URLs.
Erreur 4 : négliger le mobile
Google crawle et classe d’abord en mobile-first. Un site rapide en desktop mais lent sur mobile sera pénalisé. Toujours tester sur smartphone réel, pas juste le simulator.
Erreur 5 : auditer sans chiffres
“Le site est lent” vs. “LCP est passé de 3.2 à 2.1 sec, +18% CTR”. Le second justifie budget et effort. Toujours mesurer avant/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.
Prochaines étapes
1. Télécharger le template Excel (lien en bas) : l’imprimer ou remplir numériquement
2. Lancer un audit express 30 min : Search Console + PageSpeed Insights
3. Prioriser les 3 problèmes critiques
4. Piloter les correctifs en équipe (ou déléguer à agence avec checklist)
5. Remonitor 3-4 semaines après pour mesurer impact réel
L’audit technique n’est pas une activité ponctuelle : c’est une discipline continue. Refaire un audit tous les 6 mois (ou après chaque mise à jour majeure) garantit que votre site reste optimisé.
Votre trafic organique vous remerciera.
Questions fréquentes
Quelle est la différence entre un audit SEO et un audit technique SEO ?
Un audit SEO classique analyse la stratégie de contenu, les mots-clés et le maillage interne. Un audit technique SEO se concentre exclusivement sur l’infrastructure : vitesse, crawlabilité, indexation, Core Web Vitals, balises de structure, canonicales. Tous deux sont nécessaires ; le technique est souvent le blocage invisible.
Combien de temps faut-il pour faire un audit technique complet ?
Un audit express prend 30 minutes (Google Search Console + PageSpeed). Un audit complet : 4-5 heures. Un audit très détaillé avec recommandations : 2-3 jours. Cela dépend du volume du site et de la profondeur de diagnostic demandée.
Quel outil choisir pour débuter un audit technique ?
Commencer par Google Search Console (gratuit) + Screaming Frog SEO Spider version gratuite. Cela couvre 80% des besoins. Passer à Semrush ou SE Ranking seulement si vous gérez plusieurs sites ou besoin de monitoring continu.
Google dit que mes Core Web Vitals sont bons, mais mon trafic stagne. Pourquoi ?
Core Web Vitals ne sont qu’un facteur. Vérifier aussi : pages indexées (Search Console), dupliquées sans canonicales, erreurs d’exploration, balises title/description, schéma markup. 60-70% des pertes viennent de ces défauts, pas de la vitesse seule.
Un LCP de 2.5 secondes, c’est acceptable ?
2.5 secondes est la limite acceptable selon Google (« bonne » performance). Idéalement, viser < 2 secondes pour surpasser la concurrence. Mais si votre trafic monte et Core Web Vitals stagne, chercher ailleurs avant d'optimiser davantage la vitesse.
Dois-je faire un audit avant ou après une refonte ?
Les deux. Audit pré-refonte : capture l’état actuel. Audit post-refonte (2-3 semaines après) : vérifie que la refonte a corrigé les problèmes et n’en a pas créé de nouveaux. C’est la seule façon de mesurer le ROI.
Qu’est-ce qu’une chaîne de redirects et pourquoi c’est mauvais ?
Une chaîne de redirects : page A → page B → page C. Google la suit mais cela consomme du crawl budget inutilement et ralentit l’accès. Idéal : A → destination finale directement. Vérifier les migrations anciennes où ces chaînes s’accumulent.
Peut-on faire un audit technique sans connaissances techniques ?
Oui. Google Search Console et PageSpeed Insights sont accessibles en français avec explications claires. Pour interpréter Screaming Frog ou des logs serveur, une connaissance technique aide mais un glossaire suffit. Un consultant peut aussi expliquer les résultats.
📚 Sources & références
- Google Search Console Help – Core Web Vitals — Google
- Schema.org – Markup for Structured Data — Schema.org
- Screaming Frog SEO Spider — Screaming Frog
- Google PageSpeed Insights — Google
- Web Vitals – Google Web Fundamentals — Google
/* 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


