← Back to blogGoogle & Local SEO

Schema markup pour les salles de sport : les balises invisibles qui expliquent votre activité à Google

Schema markup pour les salles de sport : les balises invisibles qui expliquent votre activité à Google

Le schema markup est du code invisible sur votre site web qui indique à Google, sans ambiguïté : "c'est une salle de sport, à cette adresse précise, ouvre à 7h00, abonnement à partir de 29€ par mois, voici le numéro de téléphone." Vos visiteurs ne le voient jamais. Les machines qui décident quand et comment vous afficher, si. Vous le configurez une fois, en un après-midi, et il travaille indéfiniment.

Avertissement d'entrée : ce n'est pas une fusée. Ajouter du schema ne vous fera pas gagner trois positions la semaine prochaine. Ce qu'il fait est différent, tout aussi utile mais moins spectaculaire : il élimine l'ambiguïté sur qui vous êtes et vous rend éligible aux résultats enrichis. Et en 2026, il y a une nouvelle raison de le prendre au sérieux qui n'existait pas il y a trois ans : les moteurs de recherche avec IA.

Ce que c'est, clairement

Quand Google explore votre site, il lit du texte. Et le texte est ambigu pour une machine. "Ouvert de 7h à 22h" peut être un horaire ou un titre de film. "À partir de 29€" peut être votre cotisation mensuelle, le prix de chaussures recommandées dans un article de blog, ou une coquille.

Le schema markup (données structurées, selon le standard schema.org) résout cette ambiguïté avec des balises : au lieu de forcer Google à deviner, vous le déclarez explicitement. "openingHours": "Mo-Fr 07:00-22:00" ne laisse aucune place à l'interprétation. Le format moderne est JSON-LD : un bloc de code placé dans le <head> de votre page, sans aucun effet sur le design ni sur ce que voient les utilisateurs.

La meilleure analogie : votre site web est la vitrine pour les personnes, et le schema est la fiche technique pour les machines. Les deux disent la même chose, chacun dans la langue de son lecteur.

Pourquoi c'est plus important maintenant : la recherche avec IA

L'argument classique en faveur du schema était l'éligibilité aux résultats enrichis : étoiles de notation, FAQ dépliables, événements avec date directement dans le résultat de recherche. Cela reste valable.

Le nouvel argument : les moteurs génératifs (les synthèses IA de Google, ChatGPT avec recherche, Perplexity) construisent leurs réponses à partir de sources qu'ils peuvent interpréter avec confiance. Une donnée structurée, c'est exactement ça : une information que la machine n'a pas à deviner. Quand quelqu'un demande à un assistant "salles avec cours de crossfit qui ouvrent avant 7h près de Chamberí", le moteur doit résoudre horaires, localisation et service. Si votre site déclare les trois en JSON-LD, vous êtes citable avec un coût d'interprétation quasi nul. Si les trois sont enfouies dans un PDF d'horaires ou dans une image, vous n'existez pas pour cette réponse.

Cela se relie à la recherche de proximité classique : la requête à proximité était déjà le terrain de bataille du SEO local, et l'IA la rend conversationnelle. Les données structurées sont votre façon de vous présenter à cet examen avec les réponses déjà écrites.

Ce que le schema ne fait pas : il ne remplace pas votre fiche Google Business Profile. Pour le pack local sur la carte, la fiche garde la main. Le schema agit sur votre site, renforce la cohérence entre les deux et couvre ce que la fiche n'atteint pas.

Les types qui s'appliquent à une salle de sport

Sur les centaines de types schema.org, une salle de sport en concernant cinq. Par ordre de priorité :

LocalBusiness / HealthClub : la base obligatoire

HealthClub est le sous-type spécifique pour les salles de sport (il est sous ExerciseGym, qui est sous SportsActivityLocation, qui est sous LocalBusiness, utilisez toujours le plus spécifique). C'est lui qui déclare l'essentiel : nom, adresse, coordonnées, téléphone, horaires, site web, fourchette de prix. Si vous n'en implémentez qu'un, c'est celui-là. L'adresse et le téléphone doivent correspondre caractère par caractère à ceux de votre fiche Google et du reste de votre présence en ligne ; la cohérence de ces données est un pilier du SEO local, et le schema est un endroit de plus où elle peut se rompre.

FAQPage : les 5 questions que tout le monde pose

Toute salle reçoit les mêmes questions : combien ça coûte, y a-t-il un engagement, peut-on essayer gratuitement, y a-t-il un parking, que faut-il pour le premier cours. Si votre site a une section FAQ (et il devrait), marquez-la avec FAQPage. Google a réduit la fréquence d'affichage de ce format dans les résultats, donc n'attendez plus les dépliants d'avant sur toutes les recherches, mais le contenu balisé reste du matériel de premier choix pour les moteurs IA, qui adorent le format question-réponse.

Offer : votre offre d'entrée

La promo d'inscription gratuite ou le mois d'essai peuvent être déclarés comme Offer avec prix, devise et date de validité. Gardez-le synchronisé : une offre expirée dans le schema est pire qu'aucune offre.

Event : portes ouvertes et défis

Si vous organisez des journées portes ouvertes, des masterclasses ou des défis de 6 semaines, le type Event les rend éligibles pour apparaître avec date et lieu dans les résultats de recherche. Surtout utile si vous publiez les événements sur des pages propres avec une URL stable.

Review / AggregateRating : selon les règles de Google

Vous pouvez baliser des notes agrégées (AggregateRating) pour viser les étoiles dans le résultat de recherche. Mais selon les règles de Google, qui est strict ici : uniquement des avis collectés sur votre propre site, sur votre propre activité. Il est interdit de baliser des avis copiés depuis Google ou des tiers, et le markup auto-promotionnel sur des avis non vérifiables sur votre page est également interdit. En cas d'infraction, la sanction habituelle est la perte de tous les résultats enrichis du site. Si vous ne collectez pas vos propres avis sur votre site, passez ce type sans regret, votre stratégie d'avis sur Google continue de fonctionner de son côté.

Le code : JSON-LD complet pour une salle de sport

Exemple pour une salle fictive. Copiez, remplacez les valeurs, c'est prêt. Cela va dans une balise <script type="application/ld+json"> dans le <head> de votre page d'accueil.

{
  "@context": "https://schema.org",
  "@type": "HealthClub",
  "name": "Forja Fitness Club",
  "image": "https://www.forjafitness.es/img/sala-principal.jpg",
  "url": "https://www.forjafitness.es",
  "telephone": "+34 912 345 678",
  "priceRange": "29€-59€/mois",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Calle de la Forja, 12",
    "addressLocality": "Madrid",
    "postalCode": "28012",
    "addressCountry": "ES"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.4123,
    "longitude": -3.7038
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "07:00",
      "closes": "22:30"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday", "Sunday"],
      "opens": "09:00",
      "closes": "14:00"
    }
  ],
  "sameAs": [
    "https://www.instagram.com/forjafitness",
    "https://www.facebook.com/forjafitness"
  ],
  "makesOffer": {
    "@type": "Offer",
    "name": "Inscription gratuite",
    "description": "Frais d'inscription offerts pour toute nouvelle adhésion en octobre",
    "price": "0",
    "priceCurrency": "EUR",
    "validThrough": "2026-10-31"
  }
}

Les coordonnées exactes se trouvent dans Google Maps : clic droit sur votre établissement et copiez les deux nombres. Le champ sameAs lie vos profils sociaux et aide les machines à unifier votre identité. priceRange accepte du texte libre, soyez concret, "€€" ne dit rien à personne.

Pour la page FAQ, un bloc séparé :

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Quel est le tarif de la cotisation mensuelle ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "La cotisation standard est de 39€/mois sans engagement. Le forfait avec cours collectifs illimités est à 59€/mois."
      }
    },
    {
      "@type": "Question",
      "name": "Peut-on essayer avant de s'inscrire ?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Oui, la première séance est gratuite et sans engagement. Réservez par WhatsApp ou sur le site."
      }
    }
  ]
}

Règle d'or dans les deux cas : le schema ne peut déclarer que ce que la page affiche visiblement. Baliser du contenu que l'utilisateur ne voit pas est une violation directe des consignes de Google.

Comment l'ajouter selon votre site

WordPress. La voie facile. Des plugins comme Rank Math ou Yoast génèrent le bloc LocalBusiness de base depuis un formulaire, sans toucher au code. Pour affiner le sous-type en HealthClub ou ajouter une Offer, la plupart permettent de coller du JSON-LD personnalisé. Dix minutes.

Site sur mesure. Demandez à votre développeur de coller le bloc dans le <head> de la page d'accueil (et le bloc FAQPage sur la page FAQ). C'est littéralement un copier-coller ; s'il vous facture plus d'une demi-heure pour ça, demandez pourquoi.

Builders (Wix, Squarespace, Webflow). Tous ont une option "code personnalisé" dans l'en-tête, par page ou global. Wix génère également un peu de schema automatiquement ; vérifiez que vous ne dupliquez pas de types, car deux blocs LocalBusiness contradictoires sur la même page brouillent plus qu'ils n'aident.

Validation. Avant de considérer le travail terminé : passez l'URL dans l'outil de test des résultats enrichis de Google (search.google.com/test/rich-results). Il vous indique quels types sont détectés et quelles erreurs existent. Erreurs en rouge : corrigez-les. Avertissements en orange : facultatifs, généralement des champs recommandés non remplis. Refaites le test après tout redesign du site, c'est là que le schema se casse silencieusement.

Quel impact attendre, sans fioriture

Honnêtement : modeste, gratuit et permanent. C'est la combinaison.

Le schema n'est pas un facteur de classement direct confirmé. Ce qu'il vous apporte : l'éligibilité aux résultats enrichis (qui améliorent le taux de clic quand ils apparaissent), une meilleure compréhension de votre activité par Google, et la citabilité par les moteurs IA. Compromis transparent : si votre site a de vrais problèmes, lent, peu de contenu, SEO de base insuffisant, le schema ne les compense pas ; réparez d'abord la maison, puis posez les balises. Mais comme tâche d'un après-midi à effet indéfini, le rapport effort-retour est l'un des meilleurs du SEO local.

Il y a un bénéfice collatéral que presque personne ne mentionne : rédiger le schema vous oblige à auditer vos propres données. Plus d'un gérant découvre, en remplissant le JSON, que son site affiche un horaire, sa fiche Google un autre, et son Instagram un troisième. Cette incohérence vous coûte des positions dès aujourd'hui, et le reste de votre présence technique locale dépend de la résoudre.

Le plan concret : cette semaine, générez votre bloc HealthClub avec l'exemple ci-dessus, collez-le, validez-le. La semaine suivante, le FAQPage. Et notez dans le calendrier de revoir le schema à chaque changement de tarif, d'horaire ou d'offre. Chez Pilotium, nous le voyons quotidiennement avec les salles qui acquièrent des membres via des campagnes : l'annonce amène le trafic, mais ce que ce trafic trouve quand il vous recherche, une fiche cohérente, un site que les machines comprennent, détermine combien remplissent finalement le formulaire. Le schema est la part de ce travail que vous faites une fois et ne retouchez plus jamais.

Gardez une longueur d'avance

Des insights marketing IA chaque semaine. Pas de spam. Désabonnement à tout moment.