Cookies & analytics

    We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.

    SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact
      Stack

      Recipe + HowTo Stack

      Recipe pages paired with HowTo steps, FAQs, and breadcrumb context for cooking guides.

      Open generatorValidate in Rich Results Test

      When to use this stack

      • Recipe pages that also include step-by-step how-to guidance
      • Cooking guides where FAQs and navigation improve clarity
      • Pages with both ingredients and structured steps

      What's included

      • Core recipe entity with ingredients, instructions, times, and yields.

      • Structured how-to steps with supplies/tools where applicable.

      • Frequently Asked Questions
        Open generator

        Answer common cooking questions and substitutions.

      • Breadcrumb
        Open generator

        Navigation context.

      Required properties (stack union)

      Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).

      description
      itemListElement[].name
      mainEntity[].@type=Question
      mainEntity[].acceptedAnswer.text
      name
      recipeIngredient[]
      recipeInstructions
      step[].text

      Recommended properties (stack union)

      aggregateRating.ratingValue
      aggregateRating.reviewCount
      author.name
      cookTime
      estimatedCost
      image
      itemListElement[].item
      mainEntity[].acceptedAnswer.text
      mainEntity[].author.name
      mainEntity[].name
      prepTime
      recipeYield
      supply[].name
      tool[].name
      totalTime

      Combined JSON-LD

      Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.

      Validate
      [
        {
          "@context": "https://schema.org",
          "@type": "Recipe",
          "@id": "https://www.example.com/recipes/lemon-pasta#recipe",
          "name": "Creamy Lemon Pasta",
          "description": "Bright, creamy lemon pasta ready in 25 minutes.",
          "image": [
            "https://www.example.com/images/lemon-pasta-hero.webp"
          ],
          "recipeIngredient": [
            "12 oz spaghetti",
            "2 lemons",
            "1/2 cup heavy cream",
            "1/2 cup grated parmesan",
            "2 tbsp butter",
            "Salt",
            "Pepper"
          ],
          "recipeInstructions": [
            "Cook pasta in salted boiling water until al dente.",
            "Reserve 1 cup of pasta water, then drain.",
            "In a pan, melt butter, add cream, lemon zest, and juice; simmer 2 minutes.",
            "Toss pasta with sauce, parmesan, and pasta water to desired consistency; season with salt and pepper."
          ],
          "totalTime": "PT25M",
          "recipeYield": "4 servings",
          "author": { "@type": "Person", "name": "Chef Lee" },
          "aggregateRating": {
            "@type": "AggregateRating",
            "ratingValue": 4.8,
            "reviewCount": 220
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "HowTo",
          "@id": "https://www.example.com/recipes/lemon-pasta#howto",
          "name": "How to make creamy lemon pasta",
          "totalTime": "PT25M",
          "supply": [
            { "@type": "HowToSupply", "name": "Spaghetti" },
            { "@type": "HowToSupply", "name": "Lemons" },
            { "@type": "HowToSupply", "name": "Cream" }
          ],
          "tool": [
            { "@type": "HowToTool", "name": "Large pot" },
            { "@type": "HowToTool", "name": "Skillet" }
          ],
          "step": [
            { "@type": "HowToStep", "text": "Boil pasta in salted water until al dente." },
            { "@type": "HowToStep", "text": "Simmer butter, cream, and lemon zest/juice for 2 minutes." },
            { "@type": "HowToStep", "text": "Combine pasta, sauce, parmesan, and pasta water to desired consistency." }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "FAQPage",
          "mainEntity": [
            {
              "@type": "Question",
              "name": "Can I swap cream for milk?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Use half-and-half or add 1 tbsp butter to milk for a creamier result."
              }
            },
            {
              "@type": "Question",
              "name": "How do I prevent curdling?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Temper the cream off heat before adding lemon, and avoid rapid boiling once citrus is in the sauce."
              }
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "BreadcrumbList",
          "itemListElement": [
            { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
            { "@type": "ListItem", "position": 2, "name": "Recipes", "item": "https://www.example.com/recipes" },
            { "@type": "ListItem", "position": 3, "name": "Creamy Lemon Pasta", "item": "https://www.example.com/recipes/lemon-pasta" }
          ]
        }
      ]

      Implementation steps

      1. Start from your live product detail page content; ensure titles, prices, and availability match the page.
      2. Embed one JSON-LD script in the head or just before the closing body tag using the combined example as a template.
      3. Fill shipping details for each region you serve and keep them aligned with on-page shipping tables.
      4. Attach your canonical MerchantReturnPolicy URL and keep the policy text in sync with Merchant Center.
      5. Add 3–6 FAQs that address purchase blockers (shipping, returns, compatibility) and keep answers consistent with visible content.
      6. Validate in the Rich Results Test and revalidate after price/availability/policy changes.

      Common errors and fixes

      FAQs

      Do I need both Recipe and HowTo?

      Use both when you want full recipe eligibility plus structured steps/tools/supplies. If you only need recipe eligibility, you can omit HowTo.

      How should I handle times?

      Include totalTime and prep/cook times on the recipe; use totalTime on the HowTo if helpful.

      References