Catégorie : Audit & technique

Audits SEO, Core Web Vitals, schema, indexation, log analysis.

  • Schema.org pour entreprises marocaines — Organization, LocalBusiness, Product

    Circuit imprimé en gros plan, motif géométrique structuré évoquant les données structurées

    Schema.org pour entreprises marocaines — Organization, LocalBusiness, Product

    Si vous tapez le nom d’une grande marque internationale dans Google, vous voyez souvent un encadré à droite avec l’adresse, le logo, les avis, les réseaux sociaux. Pour une requête produit, les étoiles et le prix apparaissent directement dans les résultats. Et depuis l’arrivée des AI Overviews, certaines réponses de Google citent des entreprises avec leurs coordonnées, leurs horaires, leurs offres — sans même que l’utilisateur clique. Derrière tout ça, il y a Schema.org. Au Maroc, c’est l’un des leviers les moins exploités par les entreprises. La concurrence est quasi nulle sur ce terrain, et c’est exactement pour ça que je recommande de s’y attaquer en priorité.

    Dans cet article, je détaille les cinq types de schémas les plus utiles pour une entreprise marocaine, avec des exemples JSON-LD complets et commentés, les erreurs à éviter, et une méthode de validation pas à pas.

    Qu’est-ce que Schema.org — en clair

    Schema.org est un vocabulaire commun créé en 2011 par Google, Bing, Yahoo et Yandex. L’idée est simple : au lieu de laisser les moteurs de recherche deviner ce que contient une page, vous leur dites explicitement. Votre site vend des produits ? Vous déclarez @type: Product. C’est une entreprise physique à Casablanca ? Vous déclarez @type: LocalBusiness avec les coordonnées GPS. Vous publiez un article de blog ? Vous déclarez @type: Article.

    Ce vocabulaire se place dans le HTML sous forme de JSON-LD (JavaScript Object Notation for Linked Data) — un bloc de code dans une balise <script type="application/ld+json">. Google le lit, le comprend, et peut l’utiliser pour enrichir l’affichage de vos résultats (rich snippets) ou pour alimenter ses réponses génératives. C’est du balisage invisible pour l’utilisateur, mais très lisible pour les crawlers.

    En clair : Schema.org, c’est la façon dont vous présentez votre entreprise à Google dans une langue qu’il comprend parfaitement — sans ambiguïté, sans interprétation.

    Les 5 types prioritaires pour une entreprise marocaine

    Parmi les centaines de types disponibles sur Schema.org, cinq couvrent l’essentiel des cas d’usage au Maroc. Je les classe par priorité d’implémentation.

    1. Organization — toujours

    À déployer sur chaque site, même sans adresse physique. Il déclare le nom légal, le logo, l’URL, les réseaux sociaux (sameAs). C’est la base du Knowledge Graph de votre marque.

    2. LocalBusiness — entreprises avec adresse physique

    Cabinet, boutique, restaurant, hôtel, agence — dès que vous avez une adresse marocaine, ce type s’impose. Il inclut les coordonnées GPS, les horaires, le numéro de téléphone local, la zone de service.

    3. Product / Offer — e-commerce

    Chaque fiche produit devrait porter ce schéma avec le prix en MAD, la disponibilité, les avis agrégés. C’est ce qui génère les rich snippets étoiles + prix directement dans les SERP Google.

    4. Article — blog et contenu éditorial

    Pour tous vos articles de blog ou pages ressources. Il indique l’auteur, la date de publication, la date de mise à jour — des signaux de fraîcheur que Google valorise dans ses réponses génératives.

    5. FAQPage — bonus pour les AI Overviews

    Les sections FAQ balisées en FAQPage sont régulièrement citées dans les réponses génératives de Google et Perplexity. Un des meilleurs ROI de l’investissement schema en 2026.

    Schema Organization — exemple concret JSON-LD

    Voici un exemple complet pour une agence marketing basée à Casablanca. Chaque champ est commenté pour que vous puissiez l’adapter à votre situation.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",    // vocabulaire de référence — toujours cette URL
      "@type": "Organization",             // type de base pour toute entreprise
      "name": "Mon Agence Marketing",      // nom légal, tel qu'il figure sur vos documents
      "url": "https://www.monagence.ma",   // URL canonique du site
      "logo": {
        "@type": "ImageObject",
        "url": "https://www.monagence.ma/logo.png",
        "width": 200,
        "height": 60
      },
      "description": "Agence de marketing digital basée à Casablanca, spécialisée en SEO et réseaux sociaux au Maroc.",
      "telephone": "+212-5XX-XXXXXX",      // format international obligatoire
      "email": "contact@monagence.ma",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "123, Boulevard Mohammed V",
        "addressLocality": "Casablanca",
        "postalCode": "20000",
        "addressCountry": "MA"            // code ISO pays : MA pour Maroc
      },
      "sameAs": [                          // vos profils vérifiés — ne pas laisser vide
        "https://www.facebook.com/monagence",
        "https://www.linkedin.com/company/monagence",
        "https://www.instagram.com/monagence"
      ],
      "foundingDate": "2018",             // année de création
      "areaServed": {                      // zones desservies
        "@type": "Country",
        "name": "Maroc"
      }
    }
    </script>

    Ce bloc se place idéalement dans le <head> de votre page d’accueil. Sur WordPress, un plugin comme Rank Math ou Yoast génère une partie de ce schema automatiquement — mais il manque souvent le champ sameAs ou le areaServed, que je configure manuellement.

    Code source coloré sur écran d'ordinateur en gros plan, ambiance JSON-LD et données structurées

    Schema LocalBusiness — adresse et géolocalisation Maroc

    Le type LocalBusiness hérite de Organization et ajoute des champs spécifiques aux établissements physiques. Deux éléments sont décisifs pour le Maroc : les coordonnées GPS précises (pas l’adresse approximative) et le champ areaServed qui liste vos villes de couverture.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "LocalBusiness",           // ou un sous-type : Restaurant, Hotel, LegalService…
      "name": "Mon Cabinet Comptable",
      "url": "https://www.moncabinet.ma",
      "telephone": "+212-5XX-XXXXXX",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
          "opens": "09:00",
          "closes": "18:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "09:00",
          "closes": "13:00"
        }
      ],
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "45, Rue Ibn Battouta, Maarif",
        "addressLocality": "Casablanca",
        "postalCode": "20100",
        "addressCountry": "MA"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 33.5731,              // latitude Casablanca centre
        "longitude": -7.5898             // longitude Casablanca centre — à ajuster précisément
      },
      "currenciesAccepted": "MAD",        // dirham marocain
      "priceRange": "$$",                 // $ à $$$$ selon votre positionnement tarifaire
      "areaServed": [                     // villes où vous intervenez
        "Casablanca", "Mohammedia", "Rabat", "Salé"
      ],
      "hasMap": "https://maps.google.com/?q=33.5731,-7.5898"
    }
    </script>

    Pour récupérer vos coordonnées GPS exactes, rendez-vous sur Google Maps, faites un clic droit sur votre adresse précise et copiez les coordonnées. Un écart de quelques rues peut affecter votre cohérence NAP (Name, Address, Phone) si votre fiche Google Business Profile a des coordonnées différentes.

    Note Maroc : le champ addressCountry: "MA" et currenciesAccepted: "MAD" aident Google à contextualiser votre établissement pour les recherches locales — notamment depuis l’étranger vers le Maroc ou en arabe.

    Schema Product — bonnes pratiques e-commerce

    Pour un site e-commerce marocain, le schema Product est celui qui offre le retour visible le plus rapide : les étoiles et le prix dans les résultats de recherche. Depuis 2023, Google exige que le prix soit précis et mis à jour — un prix en MAD périmé peut déclencher une pénalité de rich snippet.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Product",
      "name": "Caftan brodé Fès — modèle Sultana",
      "description": "Caftan traditionnel brodé à la main à Fès, soie et fil doré, disponible en 8 coloris.",
      "image": "https://www.monboutique.ma/images/caftan-sultana.jpg",
      "sku": "CAF-SULTANA-001",
      "brand": {
        "@type": "Brand",
        "name": "Mon Boutique"
      },
      "offers": {
        "@type": "Offer",
        "url": "https://www.monboutique.ma/produits/caftan-sultana",
        "priceCurrency": "MAD",          // devise marocaine — jamais EUR si le prix est en MAD
        "price": "1850",                  // prix sans virgule ni espace
        "priceValidUntil": "2026-12-31", // date limite de validité obligatoire depuis 2023
        "itemCondition": "https://schema.org/NewCondition",
        "availability": "https://schema.org/InStock"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.7",
        "reviewCount": "34"             // nombre d'avis réels — ne jamais gonfler
      }
    }
    </script>

    Sur WooCommerce, le plugin Rank Math ou Yoast génère ce schema automatiquement à partir des champs produit. Vérifiez cependant toujours que priceValidUntil est renseigné et que la disponibilité est synchronisée avec votre stock réel — c’est la source de 80 % des erreurs que je relève lors d’un audit SEO technique.

    Schema Article — pour blog

    Chaque article de blog que vous publiez mérite un schema Article (ou BlogPosting, sous-type plus précis). Il déclare l’auteur, la date de publication, la date de mise à jour et l’image principale. Ces champs alimentent directement les signaux d’autorité et de fraîcheur que Google utilise dans ses réponses génératives.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "BlogPosting",
      "headline": "Comment choisir une agence SEO au Maroc en 2026",
      "description": "Guide pratique pour sélectionner une agence SEO fiable à Casablanca ou Rabat — méthode, critères, red flags.",
      "image": "https://www.monsite.ma/images/guide-agence-seo-maroc.jpg",
      "datePublished": "2026-03-15T09:00:00+01:00",
      "dateModified": "2026-04-20T14:30:00+01:00",  // toujours mettre à jour à chaque révision
      "author": {
        "@type": "Person",
        "name": "Abdellah Rhillane",
        "url": "https://agenceseomaroc.ma/agence"
      },
      "publisher": {
        "@type": "Organization",
        "name": "Agence SEO Maroc",
        "logo": {
          "@type": "ImageObject",
          "url": "https://agenceseomaroc.ma/logo.png"
        }
      },
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://www.monsite.ma/blog/agence-seo-maroc"
      },
      "keywords": "agence SEO Maroc, référencement Casablanca, choisir agence SEO"
    }
    </script>

    Le champ dateModified est souvent oublié. C’est pourtant lui qui signale à Google qu’un contenu a été révisé — ce qui peut suffire à relancer son exploration et améliorer sa position sur les requêtes informationnelles. Je l’automatise systématiquement dans les sites que je construis. Retrouvez d’autres pratiques dans le lexique SEO si certains termes vous semblent flous.

    Schema FAQPage — bonus pour les AI Overviews

    Le schema FAQPage est l’un des rares types qui génère encore régulièrement des rich snippets visibles en 2026, et il est massivement repris par les moteurs génératifs — Google AI Overviews, Perplexity, et dans une certaine mesure Bing Copilot. La structure est simple : une liste de paires question/réponse.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Combien coûte un audit SEO au Maroc ?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Un audit SEO technique au Maroc se facture généralement entre 3 000 et 15 000 MAD selon la taille du site et la profondeur de l'analyse. Des prestataires offshore proposent des tarifs inférieurs, mais sans connaissance du marché local."
          }
        },
        {
          "@type": "Question",
          "name": "Le SEO fonctionne-t-il en arabe au Maroc ?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Oui. Google Maroc indexe et classe correctement les contenus en arabe. La clé est d'utiliser l'arabe standard moderne pour les contenus SEO et le dialecte marocain (darija) uniquement pour les éléments conversationnels."
          }
        },
        {
          "@type": "Question",
          "name": "Dois-je avoir un site en français et en arabe pour le SEO au Maroc ?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Cela dépend de votre audience cible. Le français domine sur les requêtes B2B et services premium. L'arabe capte les volumes de recherche plus larges, notamment sur mobile. La stratégie multilingue avec hreflang est recommandée pour les sites à fort trafic."
          }
        }
      ]
    }
    </script>

    Chaque réponse doit contenir au moins 50 à 100 mots pour être reprise en AI Overview. Les réponses trop courtes sont souvent ignorées. Évitez également de répéter le mot-clé de la question dans la réponse — les moteurs génératifs privilégient les réponses directes et factuelles.

    Schema Person — important pour le GEO

    Si vous publiez du contenu sous votre nom — article, page à propos, profil d’expert — le schema Person est ce qui ancre votre identité dans le Knowledge Graph de Google. C’est un élément central de la stratégie GEO : les moteurs génératifs citent des personnes, pas seulement des organisations. Plus votre entité Person est bien définie dans le schema, plus vous avez de chances d’être mentionné nommément dans les réponses IA.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Person",
      "name": "Abdellah Rhillane",
      "jobTitle": "Consultant SEO",
      "url": "https://agenceseomaroc.ma/agence",
      "image": "https://agenceseomaroc.ma/photos/abdellah-rhillane.jpg",
      "knowsAbout": [
        "Référencement naturel (SEO)",
        "GEO — Generative Engine Optimization",
        "Audit SEO technique",
        "SEO au Maroc",
        "Architecture de l'information"
      ],
      "worksFor": {
        "@type": "Organization",
        "name": "Agence SEO Maroc",
        "url": "https://agenceseomaroc.ma"
      },
      "sameAs": [
        "https://www.linkedin.com/in/abdellah-rhillane",
        "https://twitter.com/abdellahrhillane"
      ]
    }
    </script>

    Le champ knowsAbout est particulièrement utile pour le GEO : il liste vos domaines d’expertise de façon structurée, ce qui renforce l’association entre votre nom et ces sujets dans les modèles de langage. C’est un levier que j’approfondis dans ma page dédiée aux moteurs IA et GEO.

    Comment valider votre schema

    Deux outils officiels, gratuits, à utiliser dans cet ordre.

    1. Schema Markup Validator — schema.org/validator

    Copiez votre JSON-LD ou entrez l’URL de votre page. L’outil vérifie la syntaxe et les types déclarés contre le vocabulaire Schema.org officiel. Aucun avertissement Google ici — c’est une validation de structure pure.

    2. Google Rich Results Test — search.google.com/test/rich-results

    Entrez l’URL de votre page. Google vous dit quels rich results sont éligibles (étoiles, FAQ, prix…), quels champs manquent et quelles erreurs bloquent l’affichage amélioré. C’est l’outil de référence pour le résultat final dans les SERP.

    Ma recommandation : validez d’abord sur Schema.org Validator pour corriger les erreurs de syntaxe, puis sur Rich Results Test pour voir ce que Google en fait concrètement. Un schema techniquement correct peut quand même être ignoré par Google si la page ne remplit pas ses critères de qualité de contenu — le schema amplifie, il ne compense pas.

    Erreurs fréquentes

    En auditant des sites marocains, je retrouve régulièrement les mêmes problèmes de schema. Les voici classés par fréquence.

    sameAs avec des profils vides ou inactifs

    Déclarer un compte LinkedIn jamais utilisé ou une page Facebook abandonnée dans sameAs affaiblit la cohérence de votre entité. Ne mettez que des profils actifs et vérifiés.

    Doublon Organization + LocalBusiness sur la même page

    Beaucoup de plugins génèrent les deux schemas séparément. Résultat : deux déclarations contradictoires du même nom sur la même URL. Choisissez l’un ou utilisez LocalBusiness qui hérite d’Organization.

    Mauvais type pour le secteur

    Utiliser LocalBusiness générique quand il existe un sous-type précis — Restaurant, Hotel, LegalService, MedicalClinic — prive le schema de champs spécifiques reconnus par Google (menu, étoiles Michelin, spécialités médicales…).

    Prix Product sans priceValidUntil

    Depuis la mise à jour des directives Google Merchant/Rich Results 2023, un champ price sans priceValidUntil sur les fiches produit peut être rejeté. La date doit être dans le futur et mise à jour régulièrement.

    Schema sur les pages non indexées

    Un schema sur une page bloquée par noindex ou disallow dans robots.txt est invisible pour Google. Vérifiez que vos pages portant des schemas sont bien indexées — un audit SEO technique le révèle systématiquement.

    FAQ schema.org pour entreprises marocaines

    Un site marocain a-t-il besoin de schema.org même s’il est petit ?

    Oui, et c’est même un avantage concurrentiel. Les petits sites marocains ont peu de concurrents directs avec un schema complet. Deux heures d’implémentation sur un site local peuvent suffire à décrocher des rich snippets que des concurrents sans schema n’obtiennent jamais.

    Faut-il déclarer les deux langues dans le schema pour un site bilingue français/arabe ?

    Le schema utilise la langue de la page où il est placé. Sur une page en français, écrivez les valeurs en français. Sur la version arabe de la même page, dupliquez le schema en arabe. Le plugin Rank Math gère cela automatiquement avec Polylang ou WPML.

    Le schema.org améliore-t-il directement le classement Google ?

    Google l’affirme officiellement : le schema n’est pas un facteur de classement direct. Son impact est indirect — les rich snippets améliorent le CTR, et un meilleur CTR peut influer sur le classement. L’impact le plus mesurable reste l’apparition dans les AI Overviews et les réponses de ChatGPT Search.

    Quelle est la différence entre microdata et JSON-LD pour le schema ?

    Microdata intègre le balisage directement dans le HTML visible (attributs itemscope, itemprop). JSON-LD est un bloc de code séparé dans la balise <script>. Google recommande officiellement JSON-LD — il est plus facile à maintenir, à dupliquer et à déboguer, sans risquer de casser le rendu visuel de la page.

    Votre schema.org est à vérifier ou à implémenter ?

    Je fais un audit complet de vos données structurées, je corrige les erreurs et j’implémente les types manquants — résultats en 5 à 7 jours ouvrés.

    Demander un audit schema — WhatsApp
  • Core Web Vitals + INP — impact réel sur le ranking en 2026

    Tableau de bord d'analyse de performance web avec graphiques Core Web Vitals et INP sur écran

    Core Web Vitals + INP — impact réel sur le ranking en 2026

    En mars 2024, Google a retiré le FID (First Input Delay) de ses signaux de classement et l’a remplacé par l’INP (Interaction to Next Paint). Ce changement est passé relativement inaperçu dans beaucoup d’équipes marketing, mais il a bouleversé la manière dont on diagnostique et améliore la performance d’un site. Deux ans plus tard, en 2026, les Core Web Vitals sont bien ancrés dans l’algorithme — et comprendre exactement ce qu’ils mesurent, comment les lire et comment les corriger est devenu une compétence SEO de base. Dans cet article, je vous explique tout, sans jargon superflu.

    Les trois métriques Core Web Vitals — en clair

    Google mesure l’expérience utilisateur à travers trois métriques principales. Chacune capture un aspect différent de la qualité perçue d’une page. Elles ne mesurent pas les performances en laboratoire, mais les données réelles collectées sur de vraies connexions, via le Chrome User Experience Report (CrUX).

    LCP (Largest Contentful Paint) — le chargement

    Le LCP mesure le temps nécessaire pour que l’élément visuel le plus grand visible à l’écran au moment du chargement soit rendu. Il s’agit le plus souvent d’une image hero, d’un bloc de titre volumineux ou d’une vidéo. C’est la métrique qui traduit le mieux la perception qu’a l’utilisateur de la vitesse de chargement : si le contenu principal met du temps à apparaître, la page semble lente, même si d’autres éléments secondaires se sont chargés rapidement.

    INP (Interaction to Next Paint) — la réactivité (remplace FID depuis mars 2024)

    L’INP est la nouveauté structurante de 2024. Là où le FID ne mesurait que le délai avant la première interaction, l’INP capture la latence de toutes les interactions significatives pendant la durée de vie de la page — clics, touches, saisies clavier. Il retient le 98e percentile de ces interactions, ce qui en fait un indicateur bien plus exigeant. Une page peut avoir un bon FID et un INP catastrophique si des scripts tiers alourdissent le fil JavaScript au fil de la navigation.

    CLS (Cumulative Layout Shift) — la stabilité visuelle

    Le CLS quantifie les déplacements visuels inattendus pendant le chargement — le texte qui saute quand une publicité s’insère, le bouton qui se déplace juste au moment où l’utilisateur va cliquer dessus. C’est une expérience frustrante que tout le monde a vécue, et Google la pénalise. Le score est calculé à partir du rapport entre la zone déplacée et la taille de la fenêtre, multiplié par la distance de déplacement.

    Seuils 2026 et impact sur le ranking

    Google publie trois zones pour chaque métrique. Les voici avec les valeurs actuelles :

    Métrique Bon À améliorer Mauvais
    LCP ≤ 2,5 s 2,5 – 4 s > 4 s
    INP ≤ 200 ms 200 – 500 ms > 500 ms
    CLS ≤ 0,1 0,1 – 0,25 > 0,25

    Sur l’impact ranking, soyons précis : Google applique le signal à l’échelle de l’URL, pas du domaine. Une page qui passe dans la zone verte ne « booste » pas les autres pages du site. L’effet est donc granulaire. En pratique, sur des requêtes très compétitives où les pages en lice ont des profils éditoriaux proches, les Core Web Vitals peuvent faire basculer le classement. Sur des requêtes moins disputées, l’effet est moindre — mais l’expérience utilisateur, elle, s’améliore toujours, ce qui réduit le taux de rebond et augmente le temps passé, deux signaux comportementaux que Google observe.

    Comment je mesure les Core Web Vitals

    Quatre outils constituent ma boîte à outils standard, et je les utilise en combinaison — chacun apporte une couche d’information différente.

    PageSpeed Insights est mon point de départ. Il combine données de terrain (CrUX, issues de Chrome sur de vraies connexions) et données de laboratoire (Lighthouse). C’est l’outil officiel de Google, accessible sans installation, et il donne une lecture mobile + desktop distincte. Je commence toujours par la version mobile, qui est celle que Google utilise pour l’indexation.

    CrUX (Chrome User Experience Report) est la source brute des données de terrain. On peut l’interroger directement via l’API CrUX ou via la Search Console, onglet « Expérience de la page ». Il agrège les données sur 28 jours glissants — utile pour suivre l’évolution après une correction, à condition d’attendre ce délai avant de tirer des conclusions.

    Lighthouse est l’outil de diagnostic en laboratoire, intégré dans Chrome DevTools. Il simule une connexion lente sur mobile (4G lent), ce qui permet de reproduire des conditions proches du pire cas. Je l’utilise pour identifier les causes racines d’un mauvais score — il liste les opportunités d’amélioration avec un gain estimé en secondes.

    WebPageTest offre les tests les plus détaillés : waterfall de chargement, comparaison multi-navigateurs, tests depuis différentes localisations géographiques (y compris depuis des serveurs en Afrique). Je l’utilise quand je cherche à comprendre un problème de LCP lié à l’hébergement ou au CDN.

    LCP — les 5 leviers d’amélioration les plus efficaces

    Le LCP est souvent le plus actionnable des trois métriques. Voici les cinq interventions qui produisent les gains les plus rapides.

    1. Convertir les images en WebP (ou AVIF). Une image JPEG de 400 Ko peut descendre à 80 Ko en WebP sans perte de qualité perceptible. Sur mobile, cela représente facilement 1 à 2 secondes de LCP en moins. WordPress génère désormais du WebP nativement depuis la version 6.1 ; sinon, le plugin ShortPixel ou Imagify font le travail.

    2. Ajouter fetchpriority="high" et rel="preload" sur l’image LCP. Par défaut, le navigateur ne sait pas quelle image est la plus importante. En lui signalant explicitement l’élément LCP, on déclenche son téléchargement dès que possible, avant même que le CSS soit entièrement analysé.

    3. Éliminer le CSS bloquant le rendu. Chaque feuille de style chargée en <link rel="stylesheet"> dans le <head> bloque l’affichage jusqu’à son téléchargement complet. Extraire le CSS critique (above-the-fold) et le placer inline, puis charger le reste de manière asynchrone, peut gagner plusieurs dixièmes de seconde.

    4. Activer un cache serveur efficace. Un site WordPress sans cache génère une page HTML dynamiquement à chaque requête. Avec un plugin comme WP Rocket ou LiteSpeed Cache (si l’hébergeur tourne sur LiteSpeed), le HTML est mis en cache et servi directement — le temps de réponse serveur passe souvent de 600 ms à moins de 80 ms.

    5. Utiliser un CDN avec edge nodes proches des utilisateurs. Si votre hébergeur est en Europe et vos visiteurs sont au Maroc, chaque requête traverse plusieurs milliers de kilomètres. Cloudflare gratuit suffit pour rapprocher les assets statiques. Pour aller plus loin, voir la section sur l’hébergement Maroc plus bas.

    INP — pourquoi c’est devenu critique

    L’INP est la métrique la moins bien comprise, et pourtant celle qui est la plus souvent dans la zone rouge sur les sites que j’audite. Le problème central est le main thread JavaScript blocking : quand le fil d’exécution principal du navigateur est occupé à traiter un script, il ne peut pas répondre aux interactions de l’utilisateur. Le délai visible s’accumule.

    JavaScript bloat. Les sites qui ont accumulé des plugins, des widgets, des bibliothèques tierces sur plusieurs années se retrouvent avec 2 à 5 Mo de JavaScript à parser au chargement. Chaque kilooctet de JS coûte du temps de parsing CPU — et les appareils mobiles bas de gamme, très répandus au Maroc, sont particulièrement sensibles à cela. Un audit du bundle avec Chrome DevTools (onglet Coverage) permet d’identifier le code non utilisé — souvent 40 à 60 % du total.

    Scripts tiers. Chatbots, pixels de conversion, scripts de A/B testing, widgets réseaux sociaux — chacun se charge indépendamment et peut déclencher de longs tasks sur le main thread. La règle que j’applique : charger les scripts tiers non critiques avec defer ou async, et décaler les moins urgents (widget de chat, scripts de heatmap) via un setTimeout ou une interaction utilisateur.

    Choix de framework. React, Vue, Angular peuvent produire d’excellents INP ou de catastrophiques, selon la manière dont ils sont utilisés. L’hydratation côté client d’une application React volumineuse peut monopoliser le main thread pendant 3 à 5 secondes après le chargement. Les frameworks récents (Astro, Qwik, les React Server Components) ont été conçus précisément pour limiter ce phénomène via la partial hydration ou le streaming.

    Espace de travail avec ordinateur portable affichant outils de mesure performance Core Web Vitals

    CLS — pièges fréquents

    Le CLS est souvent le plus facile à corriger une fois les coupables identifiés. Les trois sources les plus communes :

    Images sans dimensions explicites. Quand une image n’a pas d’attributs width et height dans le HTML, le navigateur ne peut pas réserver l’espace avant que l’image soit téléchargée. Le contenu sous l’image est repoussé vers le bas au moment du chargement. La correction est d’une ligne : ajouter width="800" height="450" (ou les dimensions réelles) à chaque balise <img>. WordPress le fait automatiquement depuis la version 5.5 pour les images insérées via l’éditeur — mais les thèmes anciens ou les constructeurs de pages peuvent contourner ce comportement.

    Publicités et emplacements dynamiques. Les espaces publicitaires dont la taille n’est pas réservée à l’avance provoquent des shifts importants quand le réseau publicitaire répond. La solution est de définir une hauteur fixe minimale pour chaque emplacement via CSS, même si l’annonce n’est pas encore chargée.

    Polices web avec substitution tardive (FOUT/FOLS). Quand une police personnalisée remplace une police système après le chargement, le rendu des textes peut changer de dimensions et déplacer le contenu. L’attribut font-display: optional ou swap combiné à un préchargement de la police via <link rel="preload"> limite ce phénomène. L’outil web.dev/cls donne les détails techniques complets.

    Cas — comment on a passé un site WordPress de 2,8 s à 1,4 s de LCP

    Un client dans le secteur des services professionnels à Casablanca m’a contacté après avoir constaté une dégradation de son trafic organique sans changement de contenu. PageSpeed Insights affichait un LCP de 2,8 s sur mobile — dans la zone orange — et un CLS de 0,18, légèrement au-dessus du seuil acceptable.

    L’audit Lighthouse a identifié trois problèmes principaux : une image hero de 1,2 Mo en JPEG sans preload, un CSS bloquant le rendu provenant de deux plugins désactivés mais pas supprimés, et un widget de chat chargé en synchrone dès le démarrage de la page.

    Les corrections ont pris une journée de travail. Compression WebP de l’image hero (passée à 180 Ko), ajout du fetchpriority="high", suppression des plugins orphelins et chargement différé du widget de chat via une interaction utilisateur. Résultat mesuré 28 jours après les corrections sur les données CrUX réelles : LCP à 1,4 s, CLS à 0,06. Le trafic organique a progressé de 14 % sur les deux mois suivants — difficile d’isoler l’effet CWV pur, mais la corrélation est nette.

    Outils dev pour les Core Web Vitals

    Chrome DevTools — onglet Performance. C’est l’outil de diagnostic le plus précis disponible sans installation supplémentaire. Il affiche le waterfall complet, les Long Tasks (tâches JavaScript bloquant le main thread plus de 50 ms), le moment exact du LCP et les sources de CLS. Pour l’INP, l’onglet Performance Insights (disponible depuis Chrome 98) identifie les interactions lentes et les scripts responsables.

    web-vitals.js. Cette bibliothèque JavaScript open source, maintenue par l’équipe Chrome, permet de mesurer les Core Web Vitals directement sur les utilisateurs réels de votre site — et d’envoyer les données vers votre analytics (Google Analytics 4, Datadog, un endpoint custom). C’est ainsi que les équipes produit suivent l’évolution de leur INP en production, là où les outils de lab ne peuvent pas aller. La documentation complète est disponible sur web.dev/vitals.

    Hébergement Maroc — impact direct sur les Core Web Vitals

    La latence réseau entre le serveur et l’utilisateur a un impact direct sur le LCP, notamment le Time to First Byte (TTFB) — le temps que met le serveur à commencer à répondre. Sur un hébergement mutualisé en France avec un utilisateur à Casablanca, le TTFB seul peut atteindre 400 à 600 ms. C’est déjà une grande partie du budget LCP consommée avant même que le navigateur commence à rendre quoi que ce soit.

    LiteSpeed. Les hébergeurs qui utilisent LiteSpeed Web Server (au lieu d’Apache ou Nginx) offrent nativement HTTP/3, une gestion du cache plus efficace et une meilleure compression. Le plugin LiteSpeed Cache pour WordPress est l’un des plus performants du marché — et gratuit. Si votre hébergeur marocain tourne sur LiteSpeed, c’est un avantage concret.

    Cloudflare. Activer Cloudflare (plan gratuit) place un réseau de nœuds entre vos visiteurs et votre serveur. Les assets statiques (images, CSS, JS) sont mis en cache au niveau du nœud Cloudflare le plus proche — pour un visiteur à Marrakech, ce sera probablement un nœud en Europe du Sud ou en Afrique de l’Est selon la configuration. Le gain sur le LCP est mesurable et souvent significatif sans aucun changement de code.

    CDN local. Pour les sites à trafic marocain majoritaire, un CDN avec des points de présence au Maghreb (Bunny CDN dispose de nœuds à Casablanca) réduit la latence de manière plus agressive que Cloudflare seul. Le coût est marginal (quelques euros par mois selon le trafic) et le gain en LCP peut atteindre 0,5 à 1 seconde sur mobile.

    Pour aller plus loin sur l’audit technique complet de votre site, consultez ma page dédiée à l’audit SEO technique. Et pour comprendre le vocabulaire utilisé dans cet article, le lexique SEO donne les définitions de référence.

    FAQ Core Web Vitals

    Les Core Web Vitals sont-ils un facteur de classement direct ?

    Oui, Google a confirmé qu’ils font partie du signal « page experience ». Ils ne surpassent pas la pertinence du contenu, mais sur des requêtes compétitives où deux pages sont proches en qualité éditoriale, les CWV peuvent faire la différence. En pratique, leur amélioration réduit aussi le taux de rebond et augmente le temps passé sur la page, ce qui renforce indirectement le signal comportemental.

    Quelle est la différence entre données de laboratoire et données de terrain ?

    Les données de laboratoire (Lighthouse, WebPageTest) simulent un chargement dans des conditions contrôlées — connexion lente définie, appareil simulé, cache vide. Les données de terrain (CrUX, PageSpeed Insights onglet « Terrain ») agrègent les expériences réelles de vrais utilisateurs sur leurs appareils et connexions. Google utilise les données de terrain pour le ranking. Les données de lab servent au diagnostic — elles sont reproductibles et plus détaillées.

    Mon site n’a pas assez de trafic Chrome pour avoir des données CrUX — que faire ?

    En dessous d’un certain volume de visiteurs Chrome, Google ne dispose pas de données CrUX suffisantes pour votre URL ou votre domaine. Dans ce cas, PageSpeed Insights n’affiche que les données de laboratoire. La solution est d’utiliser Lighthouse et WebPageTest pour le diagnostic, et de prioriser les optimisations qui améliorent les scores de lab — les gains sont réels même sans validation CrUX immédiate.

    Combien de temps après une correction les données CrUX se mettent-elles à jour ?

    Le rapport CrUX est calculé sur une fenêtre glissante de 28 jours. Si vous corrigez un problème aujourd’hui, il faudra attendre 28 jours pour que les données reflètent entièrement l’amélioration — les vieux jours sortent progressivement de la fenêtre. La Search Console affiche des données hebdomadaires qui permettent de voir l’évolution plus tôt, mais avec moins de précision.

    Un bon score sur mobile suffit-il si mes utilisateurs sont majoritairement desktop ?

    Google utilise le score mobile pour le ranking, quelle que soit la répartition de vos visiteurs. Si votre audience est desktop, un mauvais score mobile peut quand même vous pénaliser dans les résultats de recherche. La bonne pratique est d’optimiser les deux, mais de prioriser mobile si les ressources sont limitées — c’est là que Google regarde en premier.

    Le score PageSpeed Insights (0-100) est-il ce que Google utilise pour le ranking ?

    Non. Le score PageSpeed (aussi appelé score Lighthouse) est un agrégat pondéré de plusieurs métriques de performance — utile pour le diagnostic, mais ce n’est pas ce que Google utilise pour le ranking. Google utilise les données CrUX brutes sur LCP, INP et CLS. Un site peut avoir un score PageSpeed de 65 et être dans la zone verte sur les trois CWV — ce qui compte pour Google, ce sont ces trois métriques, pas le score global.

    Vos Core Web Vitals sont dans la zone orange ou rouge ?

    Je réalise un diagnostic complet — LCP, INP, CLS, hébergement, JavaScript — et je priorise les corrections selon leur impact réel sur votre ranking.

    Discuter de mes performances via WhatsApp
  • Audit SEO — ce qu’un livrable sérieux doit contenir (et ce qu’il ne doit jamais contenir)

    Documents d'audit étalés sur bureau en bois avec graphiques d'analyse et rapports détaillés

    Audit SEO — ce qu’un livrable sérieux doit contenir (et ce qu’il ne doit jamais contenir)

    Au Maroc, un « audit SEO » peut désigner à peu près n’importe quoi. J’ai vu des PDF de douze pages générés en trois clics depuis Semrush, des rapports Screaming Frog bruts exportés sans commentaire, des présentations PowerPoint avec des captures d’écran de scores et zéro recommandation actionnelle. Ces documents circulent comme livrables professionnels, se facturent entre 2 000 et 8 000 MAD, et ne permettent pas au client de prendre une seule décision concrète une fois la réunion terminée.

    Ce n’est pas un problème de prix. C’est un problème de définition. Un audit SEO défendable est un diagnostic structuré : il part d’objectifs business, traverse douze zones du site, produit des constats vérifiables, et débouche sur trois priorités hiérarchisées plus une roadmap à quatre-vingt-dix jours. Tout le reste est un dump d’outil habillé en rapport.

    Ce billet documente ce que j’attends d’un livrable sérieux — et ce que je refuse d’y mettre.

    Sommaire-type d’un audit défendable

    Un audit complet couvre douze sections. Chaque section peut tenir en une à trois pages selon la taille du site, mais aucune n’est facultative. Voici la structure que j’utilise :

    1. Cadrage business
    2. État de l’indexation
    3. Architecture et maillage interne
    4. Audit de contenu
    5. Audit technique
    6. Autorité et backlinks
    7. Concurrence organique
    8. Présence GEO (IA générative)
    9. Tracking et mesure
    10. Trois priorités hiérarchisées
    11. Roadmap quatre-vingt-dix jours
    12. Annexes vérifiables

    Ce cadre n’est pas décoratif. L’ordre est délibéré : on commence par le business, on finit par l’action, et tout ce qui est entre les deux doit justifier son existence par rapport à ces deux pôles.

    Section 1 — Cadrage business

    Un audit sans cadrage business produit des constats déconnectés de toute réalité commerciale. La première section répond à trois questions simples : quels sont les objectifs mesurables du site sur douze mois ? Qui est l’audience cible et comment cherche-t-elle ? Sur quels marchés géographiques le site est-il censé exister ?

    Ce cadrage conditionne tout ce qui suit. Si l’objectif est la génération de leads B2B à Casablanca, les critères d’évaluation du contenu ne sont pas les mêmes que pour un e-commerce national. Si l’audience cherche en arabe dialectal autant qu’en français, l’audit de l’indexation doit en tenir compte. Sans ce socle, chaque section suivante risque de produire des recommandations pertinentes en théorie et inutiles en pratique.

    Section 2 — État de l’indexation

    L’audit d’indexation est souvent le premier endroit où les surprises surviennent. Le rapport doit répondre à des questions précises : combien de pages le site a-t-il en tout ? Combien Google en a-t-il indexées ? Parmi les pages non indexées, combien ont reçu un statut « crawlée mais non indexée » — ce qui signale un problème de qualité perçue, pas un problème technique ? Y a-t-il des pages indexées que le client ne veut pas positionner (pages de tags, résultats de recherche interne, paramètres URL) ?

    Ces données proviennent de la Google Search Console, pas d’un outil tiers. Les outils tiers estiment l’indexation en crawlant — Google Search Console la mesure. Ce n’est pas la même chose. Un livrable sérieux cite ses sources.

    Bureau d'audit avec carnet ouvert et stylo, ambiance examen rigoureux et inspection détaillée

    Section 3 — Architecture et maillage interne

    L’architecture d’un site traduit une logique éditoriale dans une logique de crawl. Un bon audit cartographie les silos thématiques existants, identifie les pages orphelines (crawlables mais sans lien entrant interne), repère les nœuds où tout le PageRank converge et ceux que le crawler atteint en six clics ou plus.

    Le maillage interne est l’un des leviers les plus sous-estimés en SEO francophone. Il coûte zéro euro, n’exige aucune ressource externe, et produit des effets mesurables sur des sites dont l’autorité de domaine est faible. L’audit doit produire une liste nominative de liens à ajouter, pas une observation générique du type « le maillage interne peut être amélioré ».

    Section 4 — Audit de contenu

    L’audit de contenu examine trois phénomènes distincts. Le premier est l’écart d’intention : des pages existent-elles pour des requêtes que personne ne cherche, ou dont l’intention de recherche (informationnelle, transactionnelle, navigationnelle) ne correspond pas au type de page produit ? Le deuxième est la cannibalisation : plusieurs pages ciblent-elles des variantes si proches qu’elles se concurrencent mutuellement pour les mêmes positions ? Le troisième est la profondeur : les pages qui visent des requêtes compétitives ont-elles un traitement suffisant pour justifier leur positionnement ?

    Cette section est celle où l’on découvre le plus souvent le vrai problème d’un site. Ce n’est presque jamais le manque de contenu — c’est la présence de contenu mal orienté, ou de contenu qui se nuit à lui-même. L’audit doit lister les pages à fusionner, les pages à supprimer (avec leur traitement redirect), et les pages à approfondir.

    Section 5 — Audit technique

    L’audit technique couvre quatre sous-domaines. Les Core Web Vitals (LCP, INP, CLS) mesurés depuis les données réelles de terrain dans Search Console, pas depuis un test Lighthouse en laboratoire. Le schema markup : est-il présent, valide, et cohérent avec le contenu visible ? Le fichier robots.txt : bloque-t-il des ressources utiles au rendu, ou laisse-t-il passer des sections qu’il devrait restreindre ? Le rendu JavaScript : Google accède-t-il au même contenu qu’un utilisateur, ou certaines sections ne sont-elles visibles qu’après exécution JS que le crawler n’a pas attendue ?

    Ces quatre points suffisent à produire des recommandations actionnelles pour la grande majorité des sites. Les listes de deux cents points techniques génériques que certains outils génèrent automatiquement produisent l’effet inverse : noyer les vraies priorités dans du bruit.

    Section 6 — Audit autorité et backlinks

    L’audit de backlinks examine le profil de liens entrants sous deux angles. La quantité et la qualité des domaines référents — pas le nombre brut de liens, qui peut être gonflé artificiellement, mais le nombre de domaines distincts avec un trafic organique vérifiable. Et la structure de ce profil : les liens pointent-ils vers les bonnes pages, avec des ancres thématiquement cohérentes, ou convergent-ils tous vers la page d’accueil avec des ancres génériques du type « cliquez ici » ?

    La section doit aussi inventorier les liens toxiques identifiés et proposer une décision : désavouer ou ne pas désavouer, avec la justification. Une recommandation de désaveu sans liste nominative de domaines ni argumentation n’est pas une recommandation — c’est une intention.

    Section 7 — Concurrence organique

    La section concurrence identifie qui occupe réellement les positions que le site devrait viser — et pourquoi. Ce ne sont pas nécessairement les concurrents commerciaux directs. Un site institutionnel, un média spécialisé ou une page Wikipédia peut occuper la position 1 sur une requête transactionnelle. Dans ce cas, la stratégie à adopter n’est pas la même que face à un concurrent commercial.

    L’analyse doit couvrir au minimum les dix requêtes prioritaires du site, avec pour chacune : qui est en position 1, quelle est la nature de cette page (type, longueur, structure), et quel est l’écart d’autorité entre ce concurrent et le site audité. Ces informations permettent d’estimer un délai réaliste avant d’atteindre les premières pages — sans ça, toute roadmap est une projection dans le vide.

    Section 8 — Présence GEO

    Les moteurs d’intelligence artificielle (ChatGPT, Perplexity, Gemini, Claude) citent des marques et des sites dans leurs réponses. Cette présence — appelée Generative Engine Optimization ou GEO — n’est pas aléatoire : elle suit des signaux proches de ceux du SEO traditionnel, avec une pondération plus forte accordée aux sources structurées, aux données vérifiables et à la cohérence des informations de la marque sur le web.

    L’audit GEO vérifie si le site est cité dans les réponses des principaux moteurs IA sur ses requêtes cibles, si les informations (nom, localisation, services, tarifs) sont cohérentes entre le site, les annuaires, les réseaux sociaux et les pages Wikipédia ou Wikidata éventuelles. C’est une section récente dans ma pratique, mais elle devient difficilement omissible pour des clients dont une part de leur découvrabilité passe par les assistants conversationnels. Pour approfondir ce point, je vous renvoie à la page méthode dédiée à l’audit.

    Détail technique évoquant l'audit infrastructure et indexation

    Section 9 — Tracking et mesure

    Un audit SEO qui ignore l’état du tracking est incomplet. Si les conversions ne sont pas remontées correctement dans Google Analytics 4, si la Search Console n’est pas connectée à GA4, si des filtres excluent une partie du trafic (trafic interne de l’équipe, bots connus), les données sur lesquelles reposent toutes les décisions suivantes sont biaisées à la source.

    La section tracking liste les balises en place, vérifie la cohérence entre les volumes Search Console et GA4 (un écart de plus de 30 % doit être expliqué), et identifie les événements de conversion manquants. Elle recommande les corrections avant de lancer quoi que ce soit d’autre — parce que mesurer l’impact d’une action sur des données corrompues revient à naviguer avec un compas défaillant.

    Section 10 — Trois priorités hiérarchisées

    C’est la section que beaucoup d’audits omettent — ou remplacent par une liste de cinquante recommandations non priorisées. Une liste de cinquante points sans hiérarchie force le client à prendre les décisions de priorisation lui-même, avec moins d’information que le consultant. C’est l’inverse de ce qu’un livrable doit faire.

    Je synthétise systématiquement en trois priorités, ordonnées par rapport impact/effort. Chaque priorité est nommée, justifiée par les données des sections précédentes, et assortie d’un critère de succès mesurable. « Améliorer le maillage interne » n’est pas une priorité — « créer trente-deux liens internes manquants entre les pages de services et les articles de blog, mesurés à J+30 par une augmentation de pages crawlées par session dans Search Console » en est une.

    Section 11 — Roadmap quatre-vingt-dix jours

    La roadmap traduit les priorités en séquence opérationnelle. Elle indique qui fait quoi, dans quel ordre, avec quel livrable attendu. Elle distingue les actions réalisables sans ressources externes (corrections techniques, maillage, canoniques) de celles qui dépendent d’une production de contenu ou d’une campagne de netlinking.

    Quatre-vingt-dix jours est l’horizon pertinent pour une roadmap SEO initiale : assez long pour que les premières actions aient des effets observables, assez court pour que le plan reste ancré dans la réalité du site tel qu’il est au moment de l’audit. Au-delà de ce délai, les conditions changent — SERP, concurrents, algorithme — et le plan doit être révisé.

    Section 12 — Annexes vérifiables

    Les annexes sont ce qui distingue un audit défendable d’un document de bonne foi. Elles contiennent les exports bruts des outils utilisés, les captures Search Console datées, les listes d’URLs citées dans le corps du rapport, et les requêtes SQL ou filtres Screaming Frog utilisés pour produire certains chiffres. Ces annexes permettent au client — ou à un autre consultant — de reproduire les constats et d’en vérifier la validité.

    Un audit sans annexes vérifiables demande une confiance aveugle dans le prestataire. C’est raisonnable dans certaines relations, mais c’est un mauvais contrat intellectuel. Les données et les constats doivent résister à un regard extérieur. Les recommandations peuvent légitimement varier selon le consultant — les faits, non.

    Ce que l’audit ne doit pas contenir

    Autant que le contenu attendu, il faut être explicite sur ce qu’un livrable sérieux exclut.

    Les scores à trois chiffres. Ahrefs Domain Rating, Moz DA, scores Semrush — ces métriques sont des proxies propriétaires calculés selon des algorithmes opaques et révisés régulièrement. Elles peuvent orienter une analyse comparative mais ne méritent pas d’être citées comme des constats dans un livrable. Quand un audit commence par « votre score est de 34/100 » sans définir ce que mesure ce score ni comment l’améliorer concrètement, il utilise un chiffre pour simuler une rigueur qu’il n’a pas.

    Les mentions vagues. « Votre contenu pourrait être amélioré. » « Votre vitesse de chargement est perfectible. » « Votre profil de backlinks manque de diversité. » Ces formulations ne permettent aucune action. Elles constatent sans diagnostiquer, décrivent sans expliquer. Un rapport professionnel dit quelle page, quel problème précis, quelle correction, dans quel ordre.

    Les recommandations génériques détachées du site. « Publiez du contenu régulièrement. » « Utilisez des mots-clés dans vos titres. » « Construisez des backlinks de qualité. » Ces conseils sont vrais pour cent pour cent des sites sur terre. Les énoncer dans un audit payant signifie que le consultant n’a pas regardé le site spécifiquement — il a livré une liste de bonnes pratiques universelles emballée dans un PDF à la charte graphique soignée.

    La documentation officielle Google Search Central publie ses propres lignes directrices d’audit — gratuitement, en accès libre. Si les recommandations d’un audit payant ne vont pas plus loin que ce que cette documentation décrit, le client a payé pour une reformulation.

    Combien coûte un audit honnête au Maroc

    La fourchette de marché que j’observe pour des audits SEO au Maroc s’étale de 1 500 MAD à 25 000 MAD selon la taille du site et le niveau d’expertise du prestataire. Un audit conforme à la structure décrite dans ce billet — douze sections, données vérifiables, roadmap actionnelle — demande entre trente et cinquante heures de travail pour un site de taille moyenne (cent à cinq cents pages).

    En deçà de 5 000 MAD pour un site de cette taille, une des deux choses suivantes est vraie : soit le prestataire travaille très vite avec des outils très automatisés, auquel cas la profondeur d’analyse est limitée ; soit il sous-value son travail, ce qui est son droit mais devrait susciter une question sur la pérennité de la relation. Un audit sérieux n’est pas un coût — c’est la condition qui détermine si tout l’investissement SEO qui suit sera bien orienté ou gaspillé.

    Si votre prestataire propose un audit complet pour un tarif qui semble incompatible avec le nombre d’heures décrites ci-dessus, posez-lui une seule question : « Pouvez-vous me montrer la liste des URLs que vous avez analysées manuellement ? » La réponse sera instructive.

    Sommaire-type téléchargeable

    J’ai condensé la structure décrite dans ce billet en un document de référence que j’utilise comme base pour chaque audit client. Il liste les douze sections, les questions auxquelles chacune doit répondre, les sources de données à citer et les livrables attendus. Ce document est disponible en PDF sur demande — il suffit de me contacter via le formulaire ou WhatsApp ci-dessous.

    Ce n’est pas un template à remplir mécaniquement. C’est un cadre de rigueur qui garantit qu’aucune zone n’est oubliée et que le client reçoit un document dont il peut vérifier la cohérence de bout en bout. Si votre prochain audit ne suit pas une structure similaire, vous pouvez demander à votre prestataire pourquoi certaines sections sont absentes — et évaluer sa réponse.


    Vous souhaitez discuter de votre prochain audit SEO technique ou obtenir le sommaire-type en PDF ? Contactez-moi directement sur WhatsApp — je réponds personnellement.