WordPress plugin
On this page
The Pellio plugin needs WordPress 6.5 or later and PHP 8.1 or later. It works on its own as a video player, and connects to a Pellio account for hosting, analytics and private videos.
Without an account: the Pellio player
Add a Pellio Video block and paste a YouTube or Vimeo link, or pick a video from the Media Library. It plays in the Pellio player, in your colours (Pellio → Settings → Player). Nothing loads from YouTube or Vimeo until the visitor presses play: the thumbnail is saved to your site. See YouTube, Vimeo and Media Library videos.
Connect your Pellio account
- Go to Pellio → Settings and click Connect to Pellio.
- Sign in if asked, check the workspace and click Connect site.
Your site’s domain is added to the workspace’s allowed domains, and the site appears in Pellio under Settings → General → Connected WordPress sites, where you can disconnect it. If you change your site’s address later, the new domain is added automatically.

Pellio → Settings is one page, in sections. Some only appear when they apply:
- Player: colour and corner radius, Embeds (see YouTube, Vimeo and Media Library videos), Google Analytics, Viewer analytics (share signed-in users’ email addresses with Pellio) and Viewer watermark.
- Automations, when FluentCRM or WP Fusion is active. See Automations and analytics.
- Courses, when an LMS is active: watch evidence, progress reports and, for LearnDash, Tutor LMS and Sensei LMS, the Lesson videos rules.
- Access: which roles can use Pellio (see below).
- Pellio account: the connection, with Disconnect.
- Status: checks for the Pellio connection, embed signing, the server clock, the allowed domain, Content Security Policy, the REST API, and caching and optimisation plugins. Results are kept for 10 minutes; Run checks again refreshes them. The same checks appear as one test in Tools → Site Health.
The WordPress dashboard also gets a Pellio: top videos (30 days) widget.
Adding Pellio videos
- Block editor: add a Pellio Video block, then drop in files or choose from your library. Files upload straight from the browser to Pellio, not through your server, and large uploads resume if interrupted. The block’s Playback panel has Autoplay, Muted, Loop, Captions on by default and Start at (seconds). The Pellio Playlist and Pellio Lightbox blocks show several videos, or open one over the page from its thumbnail or a button.
- Classic editor: click Add Pellio video above the editor.
- Shortcode:
[pellio id="VIDEO_ID"], with optionaltitle="",autoplay="1",muted="1",loop="1",captions="1",start="90"andvisibility="logged-in"(orvisibility="members").[pellio url="https://youtu.be/…"]plays a YouTube, Vimeo or file URL in the Pellio player; it ignoresautoplayandcaptions. - A Pellio link: paste a Pellio share link (
pellio.io/v/…) into the editor and it becomes the signed Pellio player, private videos included. - Page builders: an Elementor widget, a Bricks element and an ACF field. See Page builders, SEO and caching.

Pages show a lightweight thumbnail until someone presses play. On a connected site, pages with a Pellio-hosted video that’s ready and not Private also carry VideoObject structured data for search engines.
Managing videos in WordPress
Pellio → Videos is your Pellio library inside WordPress. Search it, filter by folder, and click Upload videos or drop files anywhere on the page. Open a video for:
- Details: title, description, Who can watch (Public, Unlisted or Private), Folder, Copy shortcode, Replace file and Move to Trash.
- Thumbnail: Upload an image, Reset to default, or Or use the frame at (m:ss) → Use this frame.
- Chapters and Captions (.vtt or .srt).
- Analytics: plays, play rate, unique viewers and average watched for a Period of 7, 30 or 90 days or 12 months, with audience retention, Where it was watched and Site members who watched.
The Trash view lists trashed videos, with Restore, for 30 days.

Everyone uses your site’s connection, so your team doesn’t need their own Pellio accounts. In Pellio → Settings → Access, choose the roles that Can upload and embed (by default Administrator, Editor and Author) and that Can manage the library (by default Administrator and Editor). Administrators always have both.
Who can watch
Embeds from a connected site are signed for each page view, so Private and domain-restricted videos play on your site and nowhere else. In the block’s Access panel, limit a video to logged-in users or to members of chosen plans. Logged-in users are recorded as viewers in your analytics. With Viewer analytics on in Pellio → Settings, their email addresses are shared too, so they’re named in analytics and skip email forms.
Migrating embeds
Pellio → Migration has two parts.
- Replace Vimeo, Wistia and YouTube embeds. Scan this site looks through every post type and custom field for raw iframes, Wistia embeds,
shortcodes and bare links, Presto Player blocks, Media Hub items and[presto_player]shortcodes, and LifterLMS and Sensei video fields. It shows which videos are already in your Pellio library: import your Vimeo or Wistia library in Pellio first (see Importing videos). Preview changes shows what would change, and Replace embeds does it. Each run is backed up and listed under Previous runs, with Undo. - Move Media Library videos to Pellio. Move videos to Pellio uploads your Media Library video files to Pellio. Tick Also replace Video blocks and shortcodes that use them to switch those embeds too (backed up, and can be undone).
YouTube embeds aren’t replaced by migration: Pellio can’t import from YouTube, so they would need their original files uploaded. To play them in the Pellio player instead, turn on Use the Pellio player for YouTube and Vimeo embeds in Pellio → Settings. Presto Player’s YouTube, Vimeo and Media Library videos switch to the Pellio player straight away; its Bunny.net videos switch once they’re imported.

WP-CLI
wp pellio status # connection and migration summary
wp pellio scan [--format=table|json] # embeds found, and which are in Pellio
wp pellio migrate --dry-run # what would change
wp pellio migrate # replace embeds (backed up)
wp pellio rollback [run-id] # undo a run; without an id, the latest
wp pellio offload [--limit=<n>] [--replace] # move Media Library videos to Pellio
wp pellio evidence COURSE_ID > evidence.csv # a course’s watch evidence
Run ids are listed under Previous runs on Pellio → Migration.
For developers
pellio_capabilityfilters the capability needed to upload and embed, or to manage the library.pellio_embed_attsfilters an embed’s attributes (video, autoplay, start and so on) before it’s rendered.pellio_video( $id, $atts )returns the player HTML for templates.
Uninstalling
Deleting the plugin removes its settings, caches and scheduled tasks. It also removes what it stored about learners in WordPress: verified watches, attestations, course completion flags and automation records. After a reinstall, the watch evidence CSV’s Watch verified, Attested and Signed as columns are empty for earlier learners; Pellio’s own learner log keeps everything. Posts keep their Pellio blocks and shortcodes, and migration backups stay so a reinstall can still undo a migration.
Was this article helpful?
Related articles
- Members-only videosLimit a video to members of chosen plans in MemberPress, Paid Memberships Pro, Restrict Content, WooCommerce Memberships or LifterLMS.
- YouTube, Vimeo and Media Library videosPlay YouTube, Vimeo and your own files in the Pellio player, with no account needed.
- Page builders, SEO and cachingElementor, Bricks, ACF, Yoast SEO, Rank Math and page caching plugins.
- Cookie consent pluginsHow the Pellio player works with WP Consent API, Complianz, CookieYes, Real Cookie Banner and Borlabs Cookie.