Do you run a food blog and wonder if you really need a plugin just to add recipe schema? You don’t. In this post we will show you what recipe schema is, which fields Google asks for, and how to add it by hand to a WordPress post. We will also tell you honestly where a plugin is the better choice.
So, let’s start.
What is recipe schema?
Schema (also called structured data) is a small block of code that describes your page to search engines in a fixed format. For a recipe, it says things like “this is the dish name, this is the photo, this is the cooking time, these are the ingredients.” Visitors never see it. Google reads it.
Google’s own Recipe structured data documentation says the markup can help your recipe appear in richer results, but it is clear that required properties do not guarantee a rich result. Think of schema as a clear label on a jar, not a promise of a better ranking.
Which fields does Google need?
Only two properties are required according to that same documentation: the image and the name. Everything else is recommended. Adding the recommended fields gives Google a fuller picture, so we suggest including as many as you can honestly fill in.
| Field | Status | What it means |
|---|---|---|
| name | Required | The name of the dish |
| image | Required | A photo of the finished dish. Google suggests several high-resolution images in 16×9, 4×3 and 1×1 ratios, at least 50K pixels each |
| author | Recommended | The person or organization that wrote the recipe |
| prepTime, cookTime, totalTime | Recommended | Durations in ISO 8601 format, such as PT10M for 10 minutes |
| recipeYield | Recommended | How many servings or items the recipe makes |
| recipeIngredient | Recommended | One ingredient per entry |
| recipeInstructions | Recommended | Steps, ideally as HowToStep items with a text field |
| aggregateRating, video, nutrition | Recommended | Only add these if the data is real and visible on the page |
How to add recipe schema without a plugin?
The simplest method is JSON-LD, the format used in Google’s examples. You paste it into a Custom HTML block on the post. Here is the plan:
- Write the recipe on your page first, with the real ingredients, steps and photo.
- Copy the example below into a text editor and replace every value with the details from your own recipe.
- In the WordPress editor, add a Custom HTML block at the end of the post and paste your finished code.
- Update the post and test the live URL (more on testing below).
Here is a small example. Every value is a placeholder, so replace all of it:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Simple Garlic Butter Fish",
"image": ["https://example.com/photos/fish-16x9.jpg", "https://example.com/photos/fish-4x3.jpg", "https://example.com/photos/fish-1x1.jpg"],
"author": { "@type": "Person", "name": "Your Name" },
"datePublished": "2026-10-21",
"description": "A quick pan-fried fish with garlic butter.",
"prepTime": "PT10M",
"cookTime": "PT12M",
"totalTime": "PT22M",
"recipeYield": "2 servings",
"recipeCategory": "Dinner",
"recipeIngredient": ["2 fish fillets", "2 tbsp butter", "3 cloves garlic, minced"],
"recipeInstructions": [
{ "@type": "HowToStep", "text": "Pat the fish dry and season it." },
{ "@type": "HowToStep", "text": "Melt the butter, add the garlic, then cook the fish for about 5 minutes per side." }
]
}
</script>Two small details trip people up. First, times must use the ISO 8601 style, so 1 hour 30 minutes is PT1H30M. Second, Google asks you not to put extras like “Step 1” or “Directions” inside the instruction text.
How do you test it?
Open Google’s Rich Results Test, enter your post URL, and fix any critical errors it shows. Then use the URL Inspection tool in Search Console to confirm Google can reach the page, and check that nothing blocks it with robots.txt, a noindex tag or a login wall. Google says it can take several days to crawl and index the change, so don’t panic if nothing moves on day one.
What have we seen on our own sites?
We work on therecipeworld.com, so this topic is close to home. Its 90-day Search Console report showed 951 impressions, 1 click and 391 queries, and most of the fish-related queries sat at positions 55 to 90. At those positions, almost nobody scrolls far enough to see a rich result, so schema is not the first thing to fix there. Better content and internal links come first.
Where are we less sure?
- We have not measured how recipe schema changes clicks or impressions on therecipeworld.com, so we won’t give you a number.
- We cannot tell you when, or whether, Google will show a rich result for your page. Google itself says it does not guarantee it.
- If your theme or an SEO plugin already outputs recipe markup, we have not tested every combination, so check for duplicates in the Rich Results Test.
Our opinion: hand-written or plugin?
Our view: if you have a handful of recipes, writing the JSON-LD by hand is fine and teaches you what the fields mean. If you have dozens or hundreds, don’t do it by hand. Typos in a time value or a missing comma become very easy to make, and one broken comma can invalidate the whole block. At that scale, use a recipe plugin or have a developer generate the markup from fields in a template. The reason is simple: consistency matters more than avoiding a plugin.
What are the common mistakes?
- Using Recipe markup on pages that are not a specific dish, such as a list of “10 best soups”. Google says to use it for preparing one specific dish.
- Marking up ratings or reviews that visitors cannot see or that you made up.
- Forgetting the image, which is a required property.
- Adding nutrition calories without a recipeYield. Google says nutrition needs a yield value.
- Leaving the placeholder text in from the example.
- Publishing two different Recipe blocks on one page.
FAQ
Is recipe schema required to rank?
No. Google’s documentation describes the markup as a way to be eligible for richer results, not as a ranking requirement. Your page can still appear in search without it.
Which format should I use?
Google’s recipe page shows its examples in JSON-LD, and it is easy to paste into a Custom HTML block, so we use it in this guide.
Will schema guarantee a rich result?
No. Google states that meeting the requirements makes a page eligible but does not guarantee the result will appear.
Quick checklist
- Recipe is visible on the page
- Name and image included
- Times in ISO 8601 format
- Ingredients and steps match the page text
- No made-up ratings
- Tested in the Rich Results Test
- Checked in URL Inspection
Sources
- Google Search Central: Recipe structured data
- Google Rich Results Test
- Our own Search Console data for therecipeworld.com (90-day period)

