On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

cookTime

cookTime · Recommended

Appears in

Recipe

What is it?

cookTime records how long a dish spends actively cooking after preparation is complete. It covers oven time, stovetop time, grill time, or any other active cooking phase. The value uses ISO 8601 duration format.

Why this matters for AEO

When a user asks "how long does banana bread take to bake," AI answer engines pull cookTime directly from Recipe schema to give a specific number. Without it, the engine has to parse free text from instruction steps, which is less reliable and less likely to surface your recipe as the answer.

What the specs say

Schema.org:Duration. The time it takes to actually cook the dish, in ISO 8601 duration format. Source

Google: Recommended. "The time it takes to actually cook the dish in ISO 8601 format, if applicable." Source

Google notes "if applicable" because not all recipes involve cooking. Salads, no-bake desserts, and cold preparations do not need cookTime.

How to find your value

  • Recipe card — The "Cook" or "Bake" time listed separately from prep
  • Kitchen timer — Actual measured time from heat on to heat off
  • Cookbook — The time range given in the method section

Convert to ISO 8601: 45 minutes = PT45M. 1 hour 10 minutes = PT1H10M. 2 hours = PT2H.

Format and code

Type: Duration (ISO 8601)

Pattern:PT[hours]H[minutes]M where components are optional.

{
  "@type": "Recipe",
  "name": "Banana Bread",
  "cookTime": "PT1H10M"
}
  • PT30M — 30 minutes
  • PT1H — 1 hour
  • PT1H10M — 1 hour 10 minutes
  • PT2H30M — 2 hours 30 minutes

Do not include prep time or resting time in cookTime. Those belong in prepTime and can be reflected in totalTime.

Webflow implementation

Static pages

Add to Page Settings > Custom Code (Before ):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Banana Bread",
  "cookTime": "PT1H10M"
}
</script>

CMS template pages

Create a plain text CMS field called "Cook Time" and enter the ISO 8601 value (e.g., PT45M). Reference it in your embed:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "{{wf {"path":"name","type":"PlainText"} }}",
  "cookTime": "{{wf {"path":"cook-time","type":"PlainText"} }}"
}
</script>

In Schema HQ

The value is read from cook time from your Webflow CMS fields and converts it to valid ISO 8601 duration format automatically. No manual formatting required.

Real examples

King Arthur Baking (source):

{
  "cookTime": "PT1H10M"
}

Love and Lemons (source):

{
  "cookTime": "PT55M"
}

Related fields

FAQ

Is cookTime required for recipe rich results?

No. Google lists it as Recommended. However, recipes with time data appear more complete in search results and are more likely to be selected by AI answer engines responding to time-based queries.

What if my recipe has no cooking step?

Omit cookTime entirely. Google explicitly notes "if applicable." For no-bake recipes, salads, or cold preparations, leave this field out and use totalTime for the overall duration.

Should cookTime include resting or cooling time?

No. cookTime covers only active cooking. Resting, cooling, marinating, and rising time should be factored into totalTime but not cookTime or prepTime.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us