Directory
- Welcome
Vimeo Component
The Vimeo component provides a performant, accessible way to embed Vimeo videos in your application. It features lazy loading, custom thumbnails, and structured data support for better SEO.
Key Features
-
Performance-First: Loads video player only on interaction
-
SEO-Friendly: Includes structured data and semantic markup
-
Customizable: Supports custom thumbnails and player parameters
Basic Usage

<Vimeo src="22439234" title="The Mountain" description="A video by TSO Photography" />
Features
Video ID Support
The component accepts both full Vimeo URLs and video IDs:
<!-- Using Video ID --><Vimeo src="22439234" />
<!-- Using Full URL -->
<Vimeo src="https://vimeo.com/22439234" />
Custom Thumbnails
Override the default Vimeo thumbnail with your own image:
Player Parameters
Customize the Vimeo player behavior with URL parameters:
<Vimeo src="22439234" params="color=ff0000&background=1"/>
Vimeo Component Props API
Prop | Type | Default | Description |
---|---|---|---|
src | string | - | Vimeo video ID or URL |
title | string | Video title for accessibility and SEO | |
description | string | Video description for SEO | |
params | string | Additional Vimeo player parameters | |
thumbnailProps | ImageProps | Custom thumbnail configuration | |
buttonProps | ButtonProps | Play button customization | |
structuredData | boolean | true | Enable/disable structured data |
uploadDate | Date | Video upload date for SEO |
Structured Data SEO Optimization
The component automatically generates VideoObject structured data:
<Vimeo src="22439234" title="Video Title" description="Video description" uploadDate={new Date('2024-02-24')} structuredData={true}/>
Functions
The component exposes the following function for you to use:
play(): Promise<void>;
Limited Time Launch Sale
Start embedding professional-quality videos in your Astro project. Get our starter template with the Vimeo component and more.
GET 60% OFF!