Les rich snippets boostent le CTR de 35% en moyenne sur les requêtes locales, selon l'étude SISTRIX 2026 sur 12 millions de SERPs. Pourtant, 78% des sites WordPress sénégalais n'ont aucun schema markup valide en 2026. Voici le guide complet pour implémenter un schema LocalBusiness JSON-LD parfait, validé par Google Rich Results Test.
TL;DR
- Format recommandé par Google 2026 : JSON-LD dans le head HTML
- Type LocalBusiness obligatoire + sous-type précis (Restaurant, Hotel, MedicalClinic)
- Champs critiques : name, address, geo, openingHoursSpecification, telephone
- sameAs : lier 5+ profils (Facebook, LinkedIn, Instagram, GBP) pour entité forte
- Validation : Google Rich Results Test + Schema.org Validator
Pourquoi le schema markup change tout en 2026
Le schema markup est un code structuré (vocabulaire schema.org) qui explique à Google le sens des données de votre page. Sans schema, Google devine. Avec un schema LocalBusiness complet, Google peut afficher :
- Horaires d'ouverture directement dans la SERP
- Note d'avis (étoiles dorées) sous le titre
- Plage de prix ($ à $$$$)
- Bouton d'appel direct sur mobile
- Carte Google Maps embeddée
L'impact mesuré sur le CTR
Notre data interne Kolonell sur 24 clients WordPress montre un gain moyen de +47% CTR sur les requêtes brand+local après implémentation d'un schema LocalBusiness complet, mesuré sur 90 jours avant/après dans Google Search Console.
Structure JSON-LD recommandée par Google 2026
Le squelette minimum LocalBusiness
Un schema LocalBusiness valide doit obligatoirement comprendre :
- @context : "https://schema.org"
- @type : "LocalBusiness" ou sous-type précis
- name : raison sociale exacte
- address : PostalAddress structurée
- telephone : format E.164 (+221 77 596 93 33)
- url : URL canonique du site
- image : URL absolue, format 1200x630
Sous-types LocalBusiness à privilégier
Google reconnaît 35+ sous-types spécialisés. Utiliser le plus précis possible :
| Activité | @type recommandé | Champs spécifiques |
|---|---|---|
| Restaurant | Restaurant | servesCuisine, menu, acceptsReservations |
| Hôtel | Hotel | starRating, checkinTime, amenityFeature |
| Clinique | MedicalClinic | medicalSpecialty, availableService |
| Agence web | ProfessionalService | priceRange, areaServed |
| École | School | numberOfStudents, hasCredential |
| Avocat | LegalService | knowsAbout, knowsLanguage |
| Boutique | Store | currenciesAccepted, paymentAccepted |
| Coiffeur | HairSalon | priceRange, openingHoursSpecification |
Les 8 champs critiques à ne jamais oublier
Champ 1 : PostalAddress structurée
L'address doit être un objet PostalAddress, pas une string. Exemple pour Kolonell :
- streetAddress : "12 rue Mohamed V, Plateau"
- addressLocality : "Dakar"
- addressRegion : "Dakar"
- postalCode : "11000"
- addressCountry : "SN"
Champ 2 : GeoCoordinates précises
Google a besoin des coordonnées latitude/longitude pour le pack local. Pour Plateau Dakar, valeur typique :
- latitude : 14.6709
- longitude : -17.4309
À récupérer via Google Maps : clic droit sur l'adresse → "Plus Codes" ou copier les coordonnées.
Champ 3 : OpeningHoursSpecification
C'est le champ qui débloque l'affichage horaires dans la SERP. Format obligatoire :
- dayOfWeek : ["Monday", "Tuesday", ...]
- opens : "09:00"
- closes : "18:00"
Pour les horaires variables (lundi-vendredi vs samedi), créer plusieurs objets OpeningHoursSpecification dans un array.
Champ 4 : sameAs (signal entité)
Lier vos profils sociaux et tiers pour renforcer votre Knowledge Graph entity :
- URL Facebook Page
- URL LinkedIn Company
- URL Instagram Business
- URL Twitter/X
- URL Google Business Profile (g.page/...)
- URL Wikipédia si applicable
Champ 5 : AggregateRating (étoiles dorées)
Pour afficher les étoiles dans la SERP, le schema doit contenir :
- ratingValue : 4.7
- reviewCount : 47
- bestRating : 5
- worstRating : 1
Important : ces données doivent être réellement présentes sur la page (avis visibles), sinon Google considère le markup comme manipulateur.
Champ 6 : priceRange
Format simple : "$$" ou "1000-5000 FCFA". Influe sur le filtrage des résultats Google Maps.
Champ 7 : areaServed
Besoin d'un site web professionnel ?
Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.
Pour les services itinérants (consultants, plombiers), définir une zone de service :
- areaServed : { "@type": "City", "name": "Dakar" }
Permet de ranker sur "consultant SEO Dakar" même sans adresse physique au centre.
Champ 8 : hasMap
Lien direct vers la fiche Google Maps : "https://maps.app.goo.gl/...". Renforce la cohérence entre site et GBP.
Implémenter le schema sur WordPress
Via plugin SEO (méthode recommandée)
- RankMath : inclut LocalBusiness schema gratuit, paramétrage onglet "Local SEO"
- Yoast SEO Premium : add-on Local SEO 79 EUR/an
- Schema Pro : 99 USD/an, 35+ types schema
- WPSSO Schema JSON-LD : 79 USD/an, le plus complet techniquement
Implémentation manuelle (Next.js, sites custom)
Pour les sites custom (comme kolonell.com sur Next.js 14), injecter le JSON-LD via un composant React serveur dans le head ou via next-seo JsonLd component.
Validation obligatoire
Après implémentation, toujours valider sur :
- Google Rich Results Test : rich-results.google.com — outil officiel Google
- Schema.org Validator : validator.schema.org — validateur sémantique
- Search Console → Enhancements → Local Business : remontée des erreurs
Erreurs schema les plus fréquentes
Erreur 1 : @type LocalBusiness sans sous-type
Trop générique. Google ne sait pas afficher les rich snippets spécifiques (étoiles hôtel, menu restaurant). Toujours utiliser le sous-type précis.
Erreur 2 : adresse en string au lieu de PostalAddress
Casse complètement le rendu de localisation Google.
Erreur 3 : telephone sans format E.164
"77 596 93 33" est rejeté. Toujours "+221 77 596 93 33" en E.164.
Erreur 4 : OpeningHoursSpecification en string
Beaucoup d'anciens templates utilisent "Mo-Fr 09:00-18:00" en format texte. Obsolète depuis 2020. Toujours en objet structuré.
Erreur 5 : AggregateRating sans avis visibles
Google sanctionne dès qu'il détecte un ratingValue sans avis affichés sur la page. Pénalité manuelle possible.
FAQ
Q : Faut-il un schema sur chaque page ou seulement la home ?
R : LocalBusiness sur la home + page contact suffit. Ajouter BreadcrumbList sur toutes les pages internes. Pour un blog, Article schema sur chaque post.
Q : Combien de temps pour voir les rich snippets après implémentation ?
R : 2 à 8 semaines selon la fréquence de crawl Google. Forcer un re-crawl via Search Console → Inspecter l'URL → Demander l'indexation.
Q : Le schema fait-il vraiment ranker plus haut ?
R : Le schema n'est PAS un facteur de ranking direct selon Google. Mais le gain de CTR via rich snippets améliore indirectement le ranking (signal d'engagement).
Q : Faut-il payer un développeur pour le schema ?
R : Pour un WordPress, non — RankMath gratuit suffit. Pour un site custom (Next.js, React), compter 50 000 à 150 000 FCFA pour l'implémentation initiale.
Conclusion : le schema, levier SEO local sous-utilisé
Un schema LocalBusiness JSON-LD parfaitement implémenté est probablement le meilleur ROI SEO local pour une PME sénégalaise en 2026 : +35 à +47% de CTR, validation Google en moins de 2 mois, coût marginal.
Chez Kolonell, nous implémentons et validons votre schema LocalBusiness en 3 jours ouvrés (audit + code + Rich Results Test) pour 120 000 FCFA. Demandez un audit gratuit de votre schema actuel ou contactez-nous sur WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.

