Schema
Video
Schema.org Video
- Type:
defineVideo(input?: Video)
Describes an individual video (usually in the context of an embedded media object). - Component:
SchemaOrgVideo
(see how components work)
Useful Links
Required properties
- name
string
The title of the video.
Can be provided using route meta on thetitle
key, see defaults. - description
string
A description of the video (falling back to the caption, then to 'No description').
Can be provided using route meta on thedescription
key, see defaults. - thumbnail
ImageObject
An image of the video thumbnail.
Can be provided using route meta on theimage
key, see defaults. - thumbnailUrl
string | string[]
A URL pointing to the video thumbnail image file. Follow the thumbnail image guidelines. - uploadDate
string
The date the video was published, in ISO 8601 format
Can be provided using route meta on thedatePublished
key, see defaults.
Defaults
- @type:
VideoObject
- @id:
${canonicalUrl}#/schema/video/${hash(image.url)}
- inLanguage:
options.defaultLanguage
(only when caption is provided) (see: user Config) - contentUrl: is set to
url
Resolves
See Global Resolves for full context.
width
andheight
must be provided for either to be included
Example
defineVideo({
name: 'My cool video',
uploadDate: new Date(Date.UTC(2020, 10, 10)),
url: '/image.png',
})
Types
export interface VideoSimple extends Thing {
/**
* The title of the video.
*/
name?: string
/**
* A description of the video (falling back to the caption, then to 'No description').
*/
description?: string
/**
* A reference-by-ID to an imageObject.
*/
thumbnailUrl?: NodeRelation<ImageObject>
/**
* The date the video was published, in ISO 8601 format (e.g., 2020-01-20).
*/
uploadDate?: ResolvableDate
/**
* Whether the video should be considered 'family friendly'
*/
isFamilyFriendly?: boolean
/**
* The URL of the image file (e.g., /images/cat.jpg).
*/
url: string
/**
* The fully-qualified, absolute URL of the image file (e.g., https://www.example.com/images/cat.jpg).
* Note: The contentUrl and url properties are intentionally duplicated.
*/
contentUrl?: string
/**
* A text string describing the image.
* - Fall back to the image alt attribute if no specific caption field exists or is defined.
*/
caption?: string
/**
* The height of the image in pixels.
* - Must be used with width.
*/
height?: number
/**
* The width of the image in pixels.
* - Must be used with height.
*/
width?: number
/**
* The language code for the textual content; e.g., en-GB.
* - Only needed when providing a caption.
*/
inLanguage?: string
/**
* The duration of the video in ISO 8601 format.
*/
duration?: string
/**
* A URL pointing to a player for the video.
*/
embedUrl?: string
}