Communitygithub.com

astudio · Balisage Schema

Génère et valide les données structurées schema.org (JSON-LD) pour les types encore pertinents en 2026 (Organization, LocalBusiness, Product+Offer+AggregateRating, Article, BreadcrumbList, VideoObject, Event, JobPosting, Course, QAPage), en les faisant correspondre au contenu visible de la page, et signale les types retirés (FAQPage, HowTo et le lot 2025). Couvre le Google Rich Results Test et le validateur Yandex. Utilisez pour « микроразметка », « schema.org », « JSON-LD », « rich snippets », « расширенные сниппеты », « разметка товара », « разметка организации ». Fait partie de astudio-ai-seo.

Qu'est-ce que astudio · Balisage Schema ?

Cette compétence permet de générer et de valider des données structurées schema.org au format JSON-LD pour un site web, en se concentrant sur les types qui conservent une utilité réelle pour les rich snippets et les knowledge panels jusqu'en 2026. Elle aide à choisir les types appropriés pour chaque modèle de page (accueil, produit, article, contacts, etc.), à écrire le JSON-LD à partir des mêmes sources de données que la page (champs CMS) sans copie manuelle, et à valider le résultat avec son propre outil de lint et les validateurs Google et Yandex. La compétence travaille avec les plateformes Google Rich Results Test, Schema Markup Validator et Yandex Webmaster microdata validator. Elle fonctionne en analysant les modèles de page du site, en appliquant des règles strictes de correspondance entre les données structurées et le contenu visible (pas de données cachées), et en signalant les types de données structurées qui ont été retirés des rich results de Google (FAQPage, HowTo, etc.) afin de ne pas les vendre comme un avantage SEO. Le marquage des données structurées n'est pas requis par l'IA, mais il établit les faits de manière non ambiguë (qui vous êtes, combien coûte le produit, où vous êtes), ce qui améliore les résultats enrichis et les panneaux de connaissance.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/whoamnesia/ai-seo/tree/HEAD/skills/schema-markup

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait astudio · Balisage Schema ?

<root> = deux niveaux au-dessus du répertoire de base de cette compétence. Lint : <root>/scripts/schema_lint.py. Statut des types : <root>/reference/facts.md § Statut des résultats enrichis.

Les données structurées ne sont pas requises pour les réponses IA (Google le dit), mais elles énoncent les faits sans ambiguïté : qui vous êtes, combien coûte le produit, où vous êtes, qui a écrit l'article. Cela aide les résultats enrichis, les panneaux de connaissance et tout consommateur qui lit le JSON-LD. Cela n'aide que lorsque cela correspond à ce que la page affiche.

Flux de travail

  1. Inventorier les modèles de page (accueil, catégorie, produit, article, contacts, événements, offres d'emploi).
  2. Linter ce qui existe : schema_lint.py <url> par modèle.
  3. Choisir les types par modèle (tableau ci-dessous). Un @graph par page ; donnez aux entités des valeurs @id stables (https://site.ru/#organization) et référencez-les au lieu de les répéter.
  4. Écrire le JSON-LD à partir de la même source de données que la page (champs CMS), jamais en copiant des nombres à la main.
  5. Valider : schema_lint.py, puis Google Rich Results Test et Schema Markup Validator, et pour la Russie le validateur de microdonnées Yandex Webmaster. Collez les résultats dans le rapport.
  6. Afficher le diff ; déployer après un accord.

Types par modèle

ModèleTypesDoit correspondre à la page
AccueilOrganization (ou sous-type LocalBusiness), WebSitenom, logo, contacts ; sameAs vers les profils officiels (VK, Telegram, Яндекс Карты, 2ГИС, Wikipedia)
ProduitProduct + Offer (+ AggregateRating, Review si affichés)prix, devise RUB, disponibilité, valeur et nombre d'évaluations
CatégorieBreadcrumbList, ItemList (facultatif)texte du fil d'Ariane
Article / blogArticle/BlogPosting + Person (auteur)titre, nom de l'auteur avec une page de profil, dates
Contacts / succursaleSous-type LocalBusiness avec adresse, geo, openingHoursSpecification, telephoneles mêmes NAP que les cartes et les annuaires
Page vidéoVideoObjectminiature, date de mise en ligne, durée
Événements / cours / offres d'emploiEvent, Course, JobPostingdates, prix, lieu, salaire
Page de forum Q&AQAPagevraies questions et réponses des utilisateurs

Types retirés ou sans effet (ne les vendez pas comme des gains)

FAQPage (aucun résultat enrichi Google depuis le 2026-05-07), HowTo (2023), ClaimReview, EstimatedSalary, Learning Video, SpecialAnnouncement, Vehicle Listing, Book Actions (2025-06-12). Conservez FAQPage/HowTo uniquement s'ils reflètent un contenu visible et que quelqu'un d'autre les consomme ; dites qu'il n'y a aucun effet SERP Google.

Règles

  • Ne balisez que ce que les utilisateurs peuvent voir. Les évaluations cachées, les avis élogieux de votre propre organisation et les prix différents de ceux de la page violent la politique de Google et peuvent entraîner une action manuelle.
  • Prix : nombre sans espaces dans price ("4990"), priceCurrency: "RUB" ; affichez le même prix dans le HTML.
  • Dates au format ISO 8601 avec fuseau horaire (2026-11-06T10:00:00+03:00).
  • Une seule entité organisation par site, référencée par @id.

Exemple : LocalBusiness

{"@context":"https://schema.org","@graph":[{"@type":"CafeOrCoffeeShop","@id":"https://zerno.ru/#org",
"name":"Кофейня «Зерно»","url":"https://zerno.ru/","logo":"https://zerno.ru/logo.svg","telephone":"+7 843 000-00-00",
"address":{"@type":"PostalAddress","streetAddress":"ул. Баумана, 1","addressLocality":"Казань","postalCode":"420111","addressCountry":"RU"},
"geo":{"@type":"GeoCoordinates","latitude":55.7887,"longitude":49.1221},
"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"opens":"08:00","closes":"22:00"}],
"sameAs":["https://vk.com/zerno","https://yandex.ru/maps/org/000"]}]}

Skills associés