Schema Markup LocalBusiness : Guide Technique SEO en 2026
Google lit votre site web. Il voit du texte. Il interprète. Parfois correctement. Parfois non. Le balisage Schema markup élimine l'ambiguïté. Il dit à Google exactement ce qu'est votre entreprise, où elle se trouve et comment la contacter. En langage machine. Sans interprétation. Sans doute.
Le Schema markup LocalBusiness est l'outil technique qui traduit votre NAP en données structurées que les moteurs de recherche comprennent nativement. Ce guide vous montre comment l'implémenter correctement en JSON-LD.
Qu'est-ce que le Schema markup LocalBusiness ?
Schema.org est un vocabulaire standardisé créé conjointement par Google, Microsoft, Yahoo et Yandex. Il définit un ensemble de types et de propriétés pour décrire des entités sur le web.
LocalBusiness est un type Schema.org dédié aux entreprises ayant un emplacement physique. Il contient des propriétés spécifiques : nom, adresse, téléphone, horaires, coordonnées géographiques, zone de service, etc.
Le format JSON-LD (JavaScript Object Notation for Linked Data) est la méthode recommandée par Google pour implémenter le balisage Schema. Il se place dans une balise <script> dans le code HTML de votre page.
Pourquoi c'est pertinent pour le SEO local
Le Schema markup LocalBusiness fait le lien entre votre site web et vos citations locales. Quand Google lit le même NAP sur votre site (via Schema) et sur 50 annuaires, la concordance est parfaite. Le signal de confiance est maximal.
Le balisage ouvre aussi la porte aux rich snippets : note étoilée, horaires d'ouverture, fourchette de prix affichés directement dans les résultats de recherche. Ces éléments visuels augmentent votre taux de clic de 20 à 30%.
Le code JSON-LD de base
Voici un balisage LocalBusiness complet pour une entreprise française. Copiez ce code et adaptez chaque valeur à votre entreprise.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Boulangerie Dupont",
"image": "https://example.fr/images/boulangerie-dupont.jpg",
"url": "https://boulangerie-dupont.fr",
"telephone": "+33679573286",
"email": "contact@boulangerie-dupont.fr",
"description": "Boulangerie artisanale au coeur de Lyon. Pain au levain, viennoiseries maison et patisseries fines depuis 1985.",
"address": {
"@type": "PostalAddress",
"streetAddress": "42 Rue de la République",
"addressLocality": "Lyon",
"postalCode": "69001",
"addressRegion": "Auvergne-Rhône-Alpes",
"addressCountry": "FR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.7640,
"longitude": 4.8357
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday"],
"opens": "06:30",
"closes": "19:30"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "06:30",
"closes": "19:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday",
"opens": "07:00",
"closes": "13:00"
}
],
"priceRange": "€",
"currenciesAccepted": "EUR",
"paymentAccepted": "Cash, Credit Card",
"sameAs": [
"https://www.facebook.com/boulangerie.dupont",
"https://www.instagram.com/boulangerie_dupont",
"https://www.yelp.fr/biz/boulangerie-dupont-lyon"
]
}
</script>
Chaque propriété expliquée
Les propriétés obligatoires
@type : le type d'entreprise. Utilisez un sous-type spécifique quand il existe (voir section suivante).
name : le nom exact de votre entreprise. Identique à votre fiche Google Business Profile et à vos citations NAP. Pas de mots-clés ajoutés.
address : l'adresse structurée avec chaque composant séparé (rue, ville, code postal, pays).
telephone : au format international (+33...). Google recommande ce format pour le Schema markup même si vous affichez le numéro au format national sur votre site.
Les propriétés recommandées
geo : les coordonnées GPS exactes. Récupérez-les depuis Google Maps (clic droit sur votre emplacement).
openingHoursSpecification : vos horaires détaillés, jour par jour. Google les affiche dans les résultats de recherche.
url : l'URL de votre site web.
image : une image représentative (logo ou photo de l'établissement). Utilisez une URL absolue.
sameAs : les URLs de vos profils sur les réseaux sociaux et annuaires. Cela aide Google à relier toutes vos présences en ligne.
priceRange : de "$" (économique) à "$$$$" (premium). Google peut l'afficher dans les résultats.
Les sous-types LocalBusiness à utiliser
Schema.org propose des sous-types plus précis que le générique "LocalBusiness". Utilisez toujours le plus spécifique disponible.
| Activité | Sous-type Schema |
|---|---|
| Restaurant | Restaurant |
| Boulangerie | Bakery |
| Dentiste | Dentist |
| Médecin | Physician |
| Avocat | Attorney |
| Plombier | Plumber |
| Électricien | Electrician |
| Garage auto | AutoRepair |
| Coiffeur | HairSalon |
| Hôtel | Hotel |
| Agence immobilière | RealEstateAgent |
| Comptable | AccountingService |
| Pharmacie | Pharmacy |
| Opticien | Optician |
| Fleuriste | Florist |
| Animalerie / Vétérinaire | VeterinaryCare |
Remplacez simplement "LocalBusiness" par le sous-type dans votre code :
"@type": "Restaurant"
ou pour un plombier :
"@type": "Plumber"
Propriétés avancées selon le secteur
Pour les restaurants
"servesCuisine": "Cuisine française",
"menu": "https://restaurant-dupont.fr/menu",
"acceptsReservations": "True",
"hasMenu": {
"@type": "Menu",
"url": "https://restaurant-dupont.fr/menu"
}
Pour les professionnels de santé
"medicalSpecialty": "Dentistry",
"availableService": {
"@type": "MedicalProcedure",
"name": "Détartrage",
"procedureType": "http://schema.org/NoninvasiveProcedure"
}
Pour les entreprises de services (zone de couverture)
"areaServed": [
{
"@type": "City",
"name": "Lyon"
},
{
"@type": "City",
"name": "Villeurbanne"
},
{
"@type": "AdministrativeArea",
"name": "Rhône"
}
]
Balisage multi-établissements
Si votre entreprise a plusieurs établissements, chaque page de localisation doit avoir son propre balisage. Utilisez le type Organization comme parent et LocalBusiness pour chaque établissement :
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Optique Martin",
"url": "https://optique-martin.fr",
"subOrganization": [
{
"@type": "Optician",
"name": "Optique Martin - Lyon 3ème",
"address": {
"@type": "PostalAddress",
"streetAddress": "15 Cours Gambetta",
"addressLocality": "Lyon",
"postalCode": "69003",
"addressCountry": "FR"
},
"telephone": "+33679573286"
},
{
"@type": "Optician",
"name": "Optique Martin - Villeurbanne",
"address": {
"@type": "PostalAddress",
"streetAddress": "88 Cours Emile Zola",
"addressLocality": "Villeurbanne",
"postalCode": "69100",
"addressCountry": "FR"
},
"telephone": "+33679573286"
}
]
}
</script>
Où placer le balisage sur votre site
- Page d'accueil : balisage LocalBusiness complet. C'est la page la plus crawlée par Google.
- Page contact : même balisage LocalBusiness. La redondance est bienvenue.
- Pages de localisation (multi-établissements) : balisage spécifique à chaque établissement.
- Placement technique : dans la section
<head>ou juste avant</body>. Google traite les deux de la même manière.
Les erreurs techniques à éviter
1. Le NAP qui ne correspond pas
Le NAP dans votre Schema markup doit être identique -- au caractère près -- à celui affiché en texte sur votre page et à celui de vos citations locales. Si votre Schema dit "42 Rue de la République" mais que votre footer affiche "42 R. de la République", vous créez une contradiction sur votre propre site.
2. Le type trop générique
Utiliser "LocalBusiness" quand un sous-type spécifique existe. Google comprend mieux "Restaurant" que "LocalBusiness" pour un restaurant. Vérifiez la liste des sous-types sur schema.org/LocalBusiness.
3. Les horaires manquants ou incorrects
Des horaires erronés dans le Schema peuvent déclencher l'affichage "Fermé" dans les résultats Google au moment où vous êtes ouvert. Vérifiez minutieusement. Mettez à jour lors des changements d'horaires (été/hiver, jours fériés).
4. Les coordonnées GPS inversées
Latitude et longitude sont parfois inversées. Vérifiez en collant vos coordonnées dans Google Maps. Si elles pointent vers l'océan, c'est qu'elles sont inversées.
5. Le format de téléphone incorrect
Le Schema attend le format international : +33679573286. Pas "04 72 00 00 00". Pas "0472000000". Le format international avec le préfixe pays.
Valider votre balisage
Outil 1 : Rich Results Test de Google
Accédez à search.google.com/test/rich-results. Collez l'URL de votre page ou le code HTML brut. L'outil vérifie si votre balisage est éligible aux rich snippets Google. Il signale les erreurs et les avertissements.
Outil 2 : Schema Markup Validator
Accédez à validator.schema.org. Cet outil vérifie la conformité technique avec le standard Schema.org. Il est plus strict que l'outil Google et détecte des problèmes que Google ignore silencieusement.
Outil 3 : Inspection d'URL dans Search Console
Utilisez l'outil "Inspecter une URL" dans Google Search Console. Il montre comment Google a interprété votre balisage. La section "Données structurées détectées" liste tous les types Schema identifiés sur la page.
Testez après chaque modification. Une erreur de syntaxe (virgule manquante, guillemet oublié) invalide tout le bloc JSON-LD.
Schema LocalBusiness et les fondamentaux du SEO local
Le Schema markup s'inscrit dans l'écosystème complet du SEO local. Il confirme techniquement ce que vos citations affirment factuellement. Quand Google voit le même NAP dans votre Schema, dans votre fiche GBP et dans 50 annuaires, la concordance est totale.
Le balisage n'est pas un facteur de classement direct. Mais il facilite la compréhension de vos données par Google. Et ce que Google comprend bien, il le classe mieux. Combiné avec une cohérence NAP parfaite et un audit de citations régulier, le Schema forme la couche technique de votre stratégie de citations.
Implémentation pratique sur les CMS courants
WordPress
Deux options :
- Plugin Rank Math : configurez le Schema LocalBusiness dans Rank Math > Titres & Méta > Local SEO. Le plugin génère automatiquement le JSON-LD.
- Plugin Yoast SEO : l'extension Yoast Local SEO (payante) ajoute le balisage LocalBusiness.
- Manuellement : ajoutez le script JSON-LD dans le header.php de votre thème ou via un plugin d'insertion de code (WPCode).
Wix
Wix génère automatiquement un balisage LocalBusiness basique à partir des informations de votre profil. Pour un balisage avancé, utilisez la section "Tracking & Analytics" pour insérer du JSON-LD personnalisé dans le head.
Shopify
Modifiez le fichier theme.liquid pour ajouter le script JSON-LD dans la section head. Alternativement, utilisez une application comme JSON-LD for SEO ou Schema Plus.
FAQ : Schema Markup LocalBusiness
Le Schema markup LocalBusiness améliore-t-il directement le classement ?
Le Schema markup n'est pas un facteur de classement direct. Cependant, il aide Google à comprendre vos informations avec certitude, ce qui renforce la confiance dans votre NAP. Il peut aussi déclencher des rich snippets (note étoilée, horaires, prix) qui augmentent votre taux de clic.
Où placer le balisage Schema LocalBusiness sur mon site ?
Placez le JSON-LD dans la section head ou juste avant la balise fermante body de votre page d'accueil et de votre page contact. Pour les entreprises multi-établissements, chaque page de localisation doit avoir son propre balisage avec les données spécifiques à cet établissement.
Quelle est la différence entre LocalBusiness et ses sous-types ?
LocalBusiness est le type générique. Schema.org propose des sous-types plus précis : Restaurant, Dentist, Plumber, AutoRepair, etc. Utilisez toujours le sous-type le plus spécifique disponible pour votre activité. Google comprend mieux votre métier avec un sous-type précis.
Comment valider mon balisage Schema LocalBusiness ?
Utilisez deux outils : le Rich Results Test de Google (search.google.com/test/rich-results) vérifie l'éligibilité aux rich snippets. Le Schema Markup Validator (validator.schema.org) vérifie la conformité technique du balisage. Testez après chaque modification.