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.

totalTime

totalTime · Recommended

Appears in

Recipe

What is it?

totalTime records the full duration from start to finish for completing a recipe. This includes preparation, cooking, and any resting, cooling, rising, or marinating time. The value uses ISO 8601 duration format.

Why this matters for AEO

When a user asks "how long does banana bread take," AI answer engines pull totalTime as the definitive answer. This is the single most queried time field for recipes. Without it, the engine must calculate from prepTime + cookTime (if both exist) or guess from instruction text, which reduces confidence in your recipe as a source.

What the specs say

Schema.org:Duration. The total time required to perform instructions or a direction (including time to prepare the supplies), in ISO 8601 duration format. Source

Google: Recommended. "The total time it takes to prepare the cook the dish, in ISO 8601 format." Source

Like prepTime, Recipe inherits totalTime from the HowTo type.

How to find your value

  • Recipe card — The "Total Time" listed in the recipe header
  • Calculation — prepTime + cookTime + any resting/cooling time
  • Real timing — Start to table, including all passive steps

Convert to ISO 8601: 90 minutes = PT1H30M. 3 hours = PT3H. 70 minutes = PT70M (or PT1H10M).

totalTime should always be greater than or equal to prepTime + cookTime. If a recipe has 10 minutes of prep, 65 minutes of baking, and 2 hours of cooling, totalTime could be PT3H while cookTime is only PT1H5M.

Format and code

Type: Duration (ISO 8601)

Pattern:PT[hours]H[minutes]M

{
  "@type": "Recipe",
  "name": "Banana Bread",
  "prepTime": "PT20M",
  "cookTime": "PT1H10M",
  "totalTime": "PT1H30M"
}

Google displays totalTime prominently in recipe rich results. Providing all three time fields gives the most complete picture.

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",
  "totalTime": "PT1H30M"
}
</script>

CMS template pages

Create a plain text CMS field called "Total Time" with the ISO 8601 value. Reference it:

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

In Schema HQ

The value is read from Webflow CMS time fields and outputs valid ISO 8601 durations. It can also calculate totalTime from prep and cook times if you prefer not to maintain a separate field.

Real examples

King Arthur Baking (source):

{
  "totalTime": "PT1H30M"
}

Love and Lemons (source):

{
  "totalTime": "PT70M"
}

Note: Both formats are valid. PT70M and PT1H10M represent the same duration. Most implementations use the hours+minutes format for readability.

Related fields

FAQ

Should totalTime equal prepTime plus cookTime?

Not always. totalTime can include resting, cooling, marinating, or rising time that neither prepTime nor cookTime covers. Sally's Baking Addiction uses PT3H for a recipe with 10 minutes of prep and 65 minutes of baking because it includes cooling time.

Which time field is most important for rich results?

Google displays all three when available, but totalTime appears most prominently. If you can only provide one time field, totalTime gives users the most useful information.

Can I use PT70M instead of PT1H10M?

Yes. Both are valid ISO 8601. PT70M and PT1H10M are equivalent. Choose whichever is easier to maintain in your CMS.

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