How do I embed tweets, Spotify tracks, and other content in my posts?
VeloCMS supports oEmbed for Twitter/X, Spotify, Instagram, and CodePen — paste the URL and the editor handles the rest.
VeloCMS supports oEmbed for Twitter/X, Spotify, Instagram, CodePen, and any provider in the oEmbed standard — paste the content's URL on its own line in the TipTap editor and the platform-branded player or card renders automatically in your post.
Which platforms are supported out of the box?
The auto-embed engine recognizes URLs from Twitter/X (tweets and spaces), Spotify (tracks, albums, playlists, and podcast episodes), Instagram (posts and reels — public content only), YouTube (covered in a separate guide), CodePen (public pens), GitHub Gists, and SoundCloud (public tracks). For platforms not on this list, you can always fall back to the /embed slash command and paste in raw HTML if the platform provides an embed code — VeloCMS sanitizes iframes from a trusted domain allowlist.
How do I embed a Spotify track or playlist?
Open the track, album, or playlist in Spotify's web player (open.spotify.com), copy the URL from your browser's address bar, and paste it on a new line in the VeloCMS editor. The Spotify compact player widget appears automatically — it shows album art, the track title, and a 30-second preview that plays without leaving your post. If you're embedding a full playlist, readers can scroll through the tracks inside the embedded player. Spotify embeds work without your readers needing a Spotify account for the 30-second preview; full tracks require a free or paid Spotify account.
How do I embed a tweet or X post?
Grab the tweet's permalink URL from the post itself (the timestamp link at the bottom of any tweet, or the share button → 'Copy link') and paste it on its own line in the editor. VeloCMS uses Twitter's oEmbed API to pull the official tweet card, which includes the username, tweet text, images, and engagement counts. A note on current limitations: X/Twitter's oEmbed API occasionally returns errors for posts from accounts that have recently changed their privacy settings or from accounts that have blocked embedding. In those cases the editor shows a plain link fallback.
What about performance — do embeds slow down my page?
Third-party embeds always carry a performance cost because they require loading JavaScript and CSS from external domains. VeloCMS mitigates this with lazy loading — embedded players only initialize their JavaScript when they scroll into the reader's viewport. The initial page load stays fast because the embed placeholder is just a static HTML structure with no blocking scripts. That said, pages with many social embeds will still load slower than text-only posts. If Lighthouse performance matters to you, consider using screenshots of tweets with a link caption instead of live tweet embeds for articles that reference many social posts.
Instagram embeds require the content to be publicly accessible. If a post goes private after you embed it, the embed will break and show a fallback message. Twitter/X embeds from protected accounts (locked profiles) similarly fail silently — VeloCMS shows the URL as a plain text link in that case.