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.
À 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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…).
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.
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
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.
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.
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.
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