Search engine optimization plugin


About

The Search engine optimization (SEO) plugin helps search engines understand your video. It adds important video details to the page where the video appears, so the video can be found more easily in search results (using a Schema.org VideoObject in JSON-LD format). This helps improve visibility and reach a wider audience.

Setup

To enable the plugin on the player, see Integrations tab.

What kind of metadata is embedded?

This plugin inserts basic video metadata properties into the hosting webpage. The following properties are indexed:

  • Video name
  • Description
  • Thumbnail URL
  • Upload date
  • Expiration date
  • Duration
  • Content URL

To add the following additional metadata properties, you must also enable preload in the Player settings tab.

  • Keywords and tags
  • Transcript - up to 4,000 characters
    • Will add captions if captions have been uploaded to the media.
    • Will add a transcript if the Transcript plugin is also enabled.
  • Chapters - names and timing when chapters are set on the video

If your video includes a summary and chapters, this information can also appear in search results by enabling the Summary & Chapters plugin on the player. If it isn’t enabled, the information won’t appear, even if the SEO plugin is turned on.

Example of the generated SEO data

The example below shows the JSON-LD structured data generated by the SEO plugin when additional features are enabled:

  • Transcript information appears as "transcript" when captions are available or when the Transcript plugin is enabled
  • Chapters information appears as "hasPart" when the Summary & Chapters plugin is enabled, and chapters are defined on the video.
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Nice video clip",
  "thumbnailUrl": "https://cfvod.kaltura.com/.../thumbnail/entry_id/...",
  "uploadDate": "2025-09-11T07:25:42+00:00",
  "duration": "PT25M38S",
  "contentUrl": "https://cdnapisec.kaltura.com/.../playManifest/entryId/...",
  "abstract": "Short summary of what the video is about.",
  "hasPart": [
    {
      "@type": "Clip",
      "name": "Chapter 1 title",
      "startOffset": 0,
      "endOffset": 205.603,
      "url": "https://www.example.com/watch?v=123&t=0",
      "description": "Short description of this chapter."
    },
    {
      "@type": "Clip",
      "name": "Chapter 2 title",
      "startOffset": 205.603,
      "endOffset": 348.764,
      "url": "https://www.example.com/watch?v=123&t=205",
      "description": "Short description of this chapter."
    }
  ],
  "transcript": "Transcript text appears here (up to 4,000 characters)."
}


Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

In this article
Related articles