KOSTENLOSES TOOL · RECIPE SCHEMA GENERATOR
Recipe Schema Generator: strukturierte Daten für Rezepte
Füg ein Rezept ein und erhalte Recipe-JSON-LD mit den Schritten als HowToStep und den Zeiten in echtem ISO 8601 — plus eine Warnung, sobald zwei Angaben einander widersprechen. Gramm, EL, „1 Std. 30 Min.“ und kcal schreibst du so, wie sie in deutschen Rezepten stehen.
Auch aufEnglish繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)
Pflicht. Ein Foto des fertigen Gerichts, crawlbar und indexierbar.
Nur zusätzliche Begriffe — Saison, Anlass, „schnell“. Ein Stichwort, das Gang oder Küche wiederholt, will Google hier ausdrücklich nicht.
Schreib sie, wie du willst: 20 Min., 1 Std. 30 Min., 1,5 Std., 1:30, 90 oder PT20M.
Googles Regel: immer zusammen mit der Vorbereitungszeit.
Entweder diese — oder die beiden anderen zusammen.
Nur die Zahl der Portionen. Andere Einheiten dürfen folgen, die Zahl steht vorn.
Pro Portion, nicht pro 100 g — und nur zusammen mit der Portionszahl, so knüpft Google die beiden aneinander.
Nur, was man zum Kochen braucht. Gramm, EL, TL und Prise schreibst du wie im Rezept; keine Erklärungen, keine Einkaufstipps.
Jede Zeile wird ein HowToStep. „Schritt 1“, „Zubereitung:“ und „Video ansehen“ lässt du weg.
Alles läuft auf dieser Seite. Kein Rezept, keine Foto-URL und keine Zutatenliste verlässt deinen Browser.
Quellen: Google Search Central — Strukturierte Daten für Rezepte (Recipe, HowTo, ItemList); schema.org/Energy; Bundesministerium für Landwirtschaft, Ernährung und Heimat — Pflichtangaben der Lebensmittelkennzeichnung (Nährwerte je 100 g oder 100 ml). Chefkoch-Markup im Quelltext zweier Rezeptseiten gelesen; Stand: September 2026.
So erstellst du strukturierte Rezeptdaten
Bei Recipe hängen mehrere Properties voneinander ab, und Google hat jede dieser Abhängigkeiten in einen Satz gefasst. Der Generator schreibt Markup und Rezeptkarte aus denselben Werten und meldet jeden Widerspruch, den er sehen kann.
- Das Gericht benennen und ein Foto hinzufügen. Beides ist Pflicht. Das Foto zeigt das fertige Gericht, die URL muss crawlbar sein, und Google empfiehlt dasselbe Motiv in mehreren Seitenverhältnissen.
- Die Zeiten als passendes Paar angeben. Entweder eine Gesamtzeit oder Vorbereitungs- und Kochzeit zusammen. Tipp sie, wie du sie denkst — „20 Min.“, „1 Std. 30 Min.“, „1,5 Std.“ —, heraus kommt ISO 8601.
- Kalorien an die Portionszahl binden. Kalorien gelten pro Portion, also ist eine Kalorienangabe ohne Portionszahl unvollständig. Der Generator macht daraus einen Fehler, weil Google die Anforderung in einem einzigen Satz festhält.
- Zutaten und Zubereitung zeilenweise schreiben. Eine Zutat pro Zeile, ein Schritt pro Zeile. Jeder Schritt wird ein HowToStep, den Google einem Textblock vorzieht, den es sonst selbst zerlegen müsste.
- Beide Ausgaben einfügen. Das JSON-LD kommt in die Rezeptseite, die Karte trägt dieselben Zutaten und dieselben Schritte — hier besonders wichtig, denn genau diese Texte verarbeitet Google.
Die drei Zeitangaben — und welche Paare erlaubt sind
Ein Recipe-Schema-Generator macht aus einem Rezept strukturierte Daten vom Typ Recipe — das JSON-LD, aus dem Google Zutaten, Zubereitung, Zeiten und Nährwerte liest und mit dem ein Rezept als Rich Result erscheinen kann. Pflicht sind nur name und image. Spannend wird es bei den empfohlenen Properties, denn mehrere davon sind nur in Gesellschaft gültig.
Zu cookTime schreibt Google: Sollte immer in Kombination mit prepTime verwendet werden. Zu prepTime steht dasselbe umgekehrt, und zu totalTime: totalTime oder eine Kombination aus cookTime und prepTime. Es gibt also genau zwei zulässige Formen — und eine unzulässige, die das Formular abfängt:
| Was du angibst | Urteil |
|---|---|
totalTime allein | In Ordnung |
prepTime + cookTime (mit oder ohne totalTime) | In Ordnung |
cookTime allein — das „45 Minuten im Ofen“-Rezept | Falsch. Die Regel nennt genau diesen Fall. |
| Gar keine Zeiten | Gültig, aber das Ergebnis hat keine Zeitangabe zu zeigen. |
Alle drei erwarten ISO-8601-Dauern: PT1H30M, nicht „1,5 Stunden“. Das Formular nimmt, was im Rezept steht — „20 Min.“, „1 Std. 30 Min.“, „1,5 Std.“, „1:30“, „90“ oder den ISO-String — und gibt die ISO-Form aus.
Was keine Google-Regel ist: totalTime muss nicht prepTime plus cookTime ergeben. Gehzeit für den Hefeteig, eine Nacht im Kühlschrank, Ziehenlassen — das ist echte Zeit, die in die Gesamtzeit gehört und in keine der beiden anderen. Der Generator warnt trotzdem, wenn die Gesamtzeit kleiner ist als die Summe, denn das ist Arithmetik, keine Richtlinie — und oft ein Tippfehler.
Portionen und kcal: eine Angabe, nicht zwei
Googles Satz zu Nährwerten ist kurz genug zum Zitieren: Wenn nutrition.calories angegeben wird, muss die Anzahl der Portionen über recipeYield definiert sein. Und zu recipeYield: die Zahl der Portionen als Zahl, weitere Einheiten dürfen zusätzlich folgen.
Hier liegt eine deutsche Falle. Auf verpackten Lebensmitteln stehen Brennwert und Nährstoffe laut Bundesministerium für Landwirtschaft, Ernährung und Heimat immer bezogen auf 100 Gramm oder 100 Milliliter; Angaben pro Portion sind dort nur zusätzlich erlaubt. Wer die Nährwerte eines Rezepts nach dieser Etikettenlogik ausrechnet, hat schnell einen Wert je 100 g in der Hand. Google definiert nutrition.calories aber als Anzahl der Kalorien pro Portion — ein Wert je 100 g gehört dort nicht hinein.
Bei der Einheit ist schema.org großzügig: Werte vom Typ Energy haben die Form „Zahl Energieeinheit“. Googles eigenes Beispiel schreibt 120 calories; in deutschen Rezepten steht kcal. Chefkoch, das auf seiner Rezeptsuche 380.000 Rezepte nennt, zeichnet es genauso aus — zwei Rezeptseiten, die wir im September 2026 geprüft haben, tragen recipeYield als ["4", "4 Portionen"] und calories als „315 kcal“ beziehungsweise „864 kcal“.
"recipeYield": "4",
"nutrition": { "@type": "NutritionInformation", "calories": "680 kcal" }
"recipeYield": ["4", "4 Portionen"] // Zahl zuerst, dann die Einheit
Der Generator macht eine fehlende Portionszahl bei vorhandenen Kalorien zum Fehler, nicht zur Warnung: Die Property ist ohne sie nicht bloß unvollständig, Google nennt die Portionszahl Pflicht.
Zutaten in Gramm und Esslöffeln, Schritte ohne „Schritt 1“
recipeIngredient ist freier Text, eine Zutat pro Eintrag. Google verlangt nur Disziplin: Gib nur die Zutaten an, die für die Zubereitung des Rezepts erforderlich sind, und keine unnötigen Informationen wie Definitionen der Zutaten. Einheiten schreibt Google nicht vor — sein eigenes Beispiel steht selbst in der deutschen Doku noch in Cups und Teaspoons. Schreib die Zeile so, wie sie auf deiner Seite steht: „500 g frische Spätzle“, „3 EL Butter“, „1 Prise Salz“. Chefkochs Markup macht es genauso, mit Zeilen wie „1 EL Öl“ oder „1 Bund Frühlingszwiebel(n)“.
Für recipeInstructions gibt es drei Wege, und sie sind nicht gleichwertig. Ein einzelner Textblock lässt Google selbst in Schritte zerlegen und Abschnittsnamen und Schrittnummern herausfiltern; Google empfiehlt ausdrücklich, die Schritte stattdessen mit HowToStep unmissverständlich anzugeben. HowToSection fasst Schritte zu Abschnitten zusammen, laut Google nur dann, wenn ein Rezept wirklich mehrere Abschnitte hat — Teig, Füllung, Guss.
Dieser Generator schreibt einen HowToStep pro Zeile und setzt die Anweisung durch, die dazugehört: Gib nur Text an, der die Zubereitung des Rezepts beschreibt, und lass sonstigen Text wie z. B. „Anleitung“, „Video ansehen“ oder „Schritt 1“ weg. Beginnt eine Zeile mit „Schritt 1“, „Zubereitung:“ oder „Anleitung:“ — oder den englischen Gegenstücken —, meldet er das. „Video ansehen“ erkennt er nicht; das streichst du selbst. Die Nummer gehört dem Markup, nicht dem Satz.
Gang, Küche, Stichwörter: Googles deutsche Beispiele
Die deutsche Fassung der Google-Doku ist hier ungewöhnlich konkret. recipeCategory ist die Art der Mahlzeit oder der Gang: „Abendessen“, „Hauptgericht“ oder „Dessert, Snack“. recipeCuisine ist die Region, aus der das Rezept stammt: „Französisch“, „Mediterran“ oder „Amerikanisch“. keywords sind weitere Begriffe — die Saison („Sommer“), der Anlass („Weihnachten“) oder Schlagworte wie „schnell“, „einfach“ und „authentisch“.
Die Regel dazu: Verwende kein Tag, das eine recipeCategory- oder recipeCuisine-Property ist. Googles Negativbeispiel lautet "dessert, American" — dessert gehört in recipeCategory, American in recipeCuisine. Steht „Hauptgericht“ schon als Gang da, gehört es nicht noch einmal in die Stichwörter; der Generator meldet genau diese Doppelung.
Und eine Grenze, die leicht übersehen wird: Recipe-Markup ist Inhalten vorbehalten, die die Zubereitung eines bestimmten Gerichts beschreiben. „Gesichtspeeling“ oder „Partyideen“ sind laut Google keine gültigen Namen für ein Gericht — die Anleitung für die Badekugel ist kein Recipe. Wer mehrere Rezepte als Karussell zeigen will, braucht zusätzlich ItemList-Markup und eine Übersichtsseite mit allen Rezepten der Sammlung.
Was ein Rezept als Nächstes braucht: Sterne und ein Video
Bewertungen. aggregateRating ist eine empfohlene Property von Recipe und folgt den Richtlinien für Rezensions-Snippets vollständig: mindestens ratingCount oder reviewCount, keine übernommenen Durchschnitte anderer Websites, keine verschwiegen bezahlten Rezensionen. Für Rezepte ergänzt Google einen eigenen Satz: Enthält das Markup nur eine einzige Rezension, muss der Name des Rezensenten eine gültige Person oder Organisation sein — „50 % Rabatt auf die Zutaten“ wäre kein gültiger Name. Das alles prüft der Review Schema Generator, samt dem, was das UWG zu Kundenbewertungen verlangt.
Ein Video. video nimmt ein vollständiges VideoObject mit denselben Pflichtangaben wie jedes Video: ein eindeutiger Titel, ein Vorschaubild unter stabiler URL und ein Upload-Datum, das am besten seine Zeitzone trägt — in Deutschland +01:00 oder +02:00, je nach Jahreszeit. Ein Rezeptvideo, dessen contentUrl auf die Rezeptseite statt auf die Videodatei zeigt, ist ein Fehler, den der Video Schema Generator gar nicht erst schreibt.
FAQ
Was ist ein Recipe-Schema-Generator?
Ein Recipe-Schema-Generator macht aus einem Rezept strukturierte Daten vom Typ Recipe — das JSON-LD, aus dem Google Zutaten, Zubereitung, Zeiten und Nährwerte liest. Dieser schreibt die Schritte als HowToStep, wandelt die Zeiten in ISO 8601 um und meldet die Stellen, an denen sich zwei Angaben widersprechen.
Welche Angaben sind in strukturierten Rezeptdaten Pflicht?
Zwei: name und image, wobei das Bild das fertige Gericht zeigt. Zutaten, Zubereitung, Zeiten, Portionen, Nährwerte, Gang, Küche, Autor und Bewertungen sind empfohlen — wertvoll, aber nicht das, was über die Gültigkeit des Markups entscheidet.
Darf ich cookTime ohne prepTime angeben?
Nein. Google schreibt bei beiden Properties, dass sie immer in Kombination miteinander verwendet werden sollen. Kennst du nur eine Zahl, setz sie in totalTime; totalTime allein ist eine der beiden zulässigen Formen.
Muss totalTime die Summe aus Vorbereitungs- und Kochzeit sein?
Nein, das verlangt keine Google-Regel. Gehzeit, Kühlzeit und Ziehenlassen sind echte Zeit, die in die Gesamtzeit gehört, aber in keine der beiden anderen. Der Generator warnt nur, wenn die Gesamtzeit kleiner ist als die Summe, weil das rechnerisch unmöglich ist und meist ein Tippfehler.
Schreibe ich die Kalorien als kcal oder calories?
Beides hat die Form, die schema.org für Energie verlangt: Zahl und Energieeinheit. In deutschen Rezepten ist 680 kcal üblich; Googles Beispiel schreibt 120 calories. Entscheidend ist etwas anderes: Der Wert gilt pro Portion, nicht pro 100 g, und ohne Portionszahl in recipeYield ist er unvollständig.
Wie schreibe ich Zutaten mit EL, TL und Gramm?
So, wie sie auf deiner Seite stehen, eine Zutat pro Zeile: 500 g frische Spätzle, 3 EL Butter, 1 Prise Salz. Google schreibt keine Einheiten vor, verlangt aber, nur den Text anzugeben, der für die Zubereitung nötig ist — keine Definitionen der Zutaten, keine Einkaufstipps.
Warum darf „Schritt 1“ nicht im Zubereitungstext stehen?
Weil Google genau diesen Fall nennt: nur Text, der die Zubereitung beschreibt, und keine Zusätze wie Anleitung, Video ansehen oder Schritt 1. Die Nummer ergibt sich aus der Position in der Liste; im Text wiederholt, ist sie Rauschen, das im Rich Result landen kann.
Welche deiner Rezepte hat Google wirklich?
Den Check für die eigene Domain gibt es umsonst: jede Seite mit live abgerufenem HTTP-Status und Indexurteil, Impressionen und Durchschnittsposition gegen den vorigen Zeitraum, Traffic nach Quelle mit KI-Suchmaschinen für sich gezählt. Ein Befehl, direkt aus deinem Agenten.
$ npm i -g @clize/clize && clize install $ clize seo check --domain deinfoodblog.de[ Agent SEO von Clize → ]