Schema.org · Schema
Schema.org HowTo
Instructions that explain how to achieve a result by performing a sequence of steps.
Schema.orgStructured DataLinked DataJSON-LDVocabularySEOWeb StandardsRDFOntology
Properties
| Name | Type | Description |
|---|---|---|
| @type | string | The Schema.org type. |
| @context | string | |
| name | string | The name of the how-to guide. |
| description | string | A description of the how-to guide. |
| url | string | URL of the how-to guide. |
| image | object | An image of the completed how-to. |
| totalTime | string | The total time required to perform all steps in ISO 8601 duration format. |
| prepTime | string | The length of time it takes to prepare the items in ISO 8601 duration format. |
| performTime | string | The length of time it takes to perform instructions in ISO 8601 duration format. |
| estimatedCost | object | The estimated cost of the supply or supplies consumed when performing instructions. |
| supply | object | A sub-property of instrument. A supply consumed when performing instructions or a direction. |
| tool | object | A sub-property of instrument. An object used (but not consumed) when performing instructions. |
| step | array | The steps in the how-to. |
| yield | string | The quantity that results by performing instructions. |
| author | object | The author of this how-to guide. |
| datePublished | string | Date of first publication. |
| video | object | A video of the how-to. |
| sameAs | object | URL of a reference Web page that unambiguously indicates the item's identity. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schema.org/schemas/how-to.json",
"title": "Schema.org HowTo",
"description": "Instructions that explain how to achieve a result by performing a sequence of steps.",
"type": "object",
"required": ["@type", "name", "step"],
"properties": {
"@type": {
"type": "string",
"description": "The Schema.org type.",
"enum": ["HowTo", "Recipe"]
},
"@context": {
"type": "string",
"default": "https://schema.org"
},
"name": {
"type": "string",
"description": "The name of the how-to guide."
},
"description": {
"type": "string",
"description": "A description of the how-to guide."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the how-to guide."
},
"image": {
"oneOf": [
{ "type": "string", "format": "uri" },
{ "$ref": "schema-org-image-object-schema.json" }
],
"description": "An image of the completed how-to."
},
"totalTime": {
"type": "string",
"description": "The total time required to perform all steps in ISO 8601 duration format."
},
"prepTime": {
"type": "string",
"description": "The length of time it takes to prepare the items in ISO 8601 duration format."
},
"performTime": {
"type": "string",
"description": "The length of time it takes to perform instructions in ISO 8601 duration format."
},
"estimatedCost": {
"type": "object",
"description": "The estimated cost of the supply or supplies consumed when performing instructions.",
"properties": {
"@type": { "type": "string", "const": "MonetaryAmount" },
"currency": { "type": "string" },
"value": { "type": "number" }
}
},
"supply": {
"oneOf": [
{ "$ref": "#/$defs/HowToSupply" },
{ "type": "array", "items": { "$ref": "#/$defs/HowToSupply" } }
],
"description": "A sub-property of instrument. A supply consumed when performing instructions or a direction."
},
"tool": {
"oneOf": [
{ "$ref": "#/$defs/HowToTool" },
{ "type": "array", "items": { "$ref": "#/$defs/HowToTool" } }
],
"description": "A sub-property of instrument. An object used (but not consumed) when performing instructions."
},
"step": {
"type": "array",
"description": "The steps in the how-to.",
"items": {
"$ref": "#/$defs/HowToStep"
}
},
"yield": {
"type": "string",
"description": "The quantity that results by performing instructions."
},
"author": {
"oneOf": [
{ "$ref": "schema-org-person-schema.json" },
{ "$ref": "schema-org-organization-schema.json" }
],
"description": "The author of this how-to guide."
},
"datePublished": {
"type": "string",
"format": "date",
"description": "Date of first publication."
},
"video": {
"$ref": "schema-org-video-object-schema.json",
"description": "A video of the how-to."
},
"sameAs": {
"oneOf": [
{ "type": "string", "format": "uri" },
{ "type": "array", "items": { "type": "string", "format": "uri" } }
],
"description": "URL of a reference Web page that unambiguously indicates the item's identity."
}
},
"$defs": {
"HowToStep": {
"type": "object",
"description": "A step in the instructions for how to achieve a result.",
"properties": {
"@type": { "type": "string", "const": "HowToStep" },
"name": { "type": "string", "description": "The name of the step." },
"text": { "type": "string", "description": "The text directions for the step." },
"url": { "type": "string", "format": "uri", "description": "A URL linking to the step." },
"image": { "oneOf": [{ "type": "string", "format": "uri" }, { "$ref": "schema-org-image-object-schema.json" }], "description": "An image for the step." },
"position": { "type": "integer", "description": "The position of the step." },
"itemListElement": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@type": { "const": "HowToDirection" },
"text": { "type": "string" }
}
},
"description": "Detailed elements of this step."
}
}
},
"HowToSupply": {
"type": "object",
"description": "A supply consumed when performing instructions.",
"properties": {
"@type": { "type": "string", "const": "HowToSupply" },
"name": { "type": "string", "description": "The name of the supply." },
"requiredQuantity": { "type": "number", "description": "The required quantity." },
"image": { "type": "string", "format": "uri", "description": "An image of the supply." },
"estimatedCost": { "type": "object", "properties": { "@type": { "const": "MonetaryAmount" }, "currency": { "type": "string" }, "value": { "type": "number" } } }
}
},
"HowToTool": {
"type": "object",
"description": "A tool used (but not consumed) when performing instructions.",
"properties": {
"@type": { "type": "string", "const": "HowToTool" },
"name": { "type": "string", "description": "The name of the tool." },
"image": { "type": "string", "format": "uri", "description": "An image of the tool." }
}
}
}
}