Was macht astudio · Schema-Markup?
<root> = zwei Ebenen über dem Basisverzeichnis dieses Skills. Lint: <root>/scripts/schema_lint.py. Status der Typen:
<root>/reference/facts.md § Rich-Results-Status.
Strukturierte Daten sind für KI-Antworten nicht erforderlich (laut Google), aber sie geben Fakten eindeutig wieder: wer Sie sind, was das Produkt kostet, wo Sie sind, wer den Artikel geschrieben hat. Das hilft bei Rich Results, Knowledge Panels und jedem Konsumenten, der JSON-LD liest. Es hilft nur, wenn es mit dem übereinstimmt, was die Seite zeigt.
Arbeitsablauf
- Seitenvorlagen inventarisieren (Startseite, Kategorie, Produkt, Artikel, Kontakte, Veranstaltungen, Stellenanzeigen).
- Bestehendes Markup prüfen:
schema_lint.py <url>pro Vorlage. - Typen pro Vorlage auswählen (Tabelle unten). Ein
@graphpro Seite; Entitäten stabile@id-Werte geben (https://site.ru/#organization) und referenzieren statt wiederholen. - JSON-LD aus derselben Datenquelle wie die Seite schreiben (CMS-Felder), niemals durch manuelles Kopieren von Zahlen.
- Validieren:
schema_lint.py, dann Google Rich Results Test und Schema Markup Validator, sowie für Russland den Yandex.Webmaster-Microdata-Validator. Ergebnisse in den Bericht einfügen. - Diff zeigen; nach Freigabe deployen.
Typen nach Vorlage
| Vorlage | Typen | Muss mit der Seite übereinstimmen |
|---|---|---|
| Startseite | Organization (oder LocalBusiness-Untertyp), WebSite | Name, Logo, Kontakte; sameAs zu offiziellen Profilen (VK, Telegram, Яндекс Карты, 2ГИС, Wikipedia) |
| Produkt | Product + Offer (+ AggregateRating, Review falls angezeigt) | Preis, Währung RUB, Verfügbarkeit, Bewertungswert und -anzahl |
| Kategorie | BreadcrumbList, ItemList (optional) | Breadcrumb-Text |
| Artikel / Blog | Article/BlogPosting + Person (Autor) | Überschrift, Autorenname mit Profilseite, Daten |
| Kontakte / Filiale | LocalBusiness-Untertyp mit address, geo, openingHoursSpecification, telephone | dieselbe NAP wie in Karten und Verzeichnissen |
| Video-Seite | VideoObject | Vorschaubild, Upload-Datum, Dauer |
| Veranstaltungen / Kurse / Stellen | Event, Course, JobPosting | Daten, Preis, Ort, Gehalt |
| Q&A-Forum-Seite | QAPage | echte Benutzerfragen und -antworten |
Ausgemusterte oder wirkungslose Typen (nicht als Gewinn verkaufen)
FAQPage (kein Google Rich Result mehr seit 2026-05-07), HowTo (2023), ClaimReview, EstimatedSalary, Learning Video, SpecialAnnouncement, Vehicle Listing, Book Actions (2025-06-12). FAQPage/HowTo nur behalten, wenn sie sichtbaren Inhalt spiegeln und jemand anderes sie konsumiert; darauf hinweisen, dass es keinen Google-SERP-Effekt gibt.
Regeln
- Nur das auszeichnen, was Benutzer sehen können. Versteckte Bewertungen, selbstlobende Kritiken der eigenen Organisation und vom Seitentext abweichende Preise verstoßen gegen die Google-Richtlinien und können zu manuellen Maßnahmen führen.
- Preise: Zahl ohne Leerzeichen in
price(„4990“),priceCurrency: "RUB"; denselben Preis im HTML anzeigen. - Daten im ISO-8601-Format mit Zeitzone (
2026-11-06T10:00:00+03:00). - Eine Organisationsentität pro Website, referenziert über
@id.
Beispiel: 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"]}]}