Joomla Video Extensions
Beyond plain editor embeds, YouTube videos often reach a Joomla page through a slider, gallery, or page-builder extension that wraps the embed in its own markup. Smart Local Youtube includes dedicated patterns for the most common of these so they are blocked without any extra configuration.
Built-in Extension Coverage
| Extension / source | How it's detected | Pattern |
|---|---|---|
| Joomla editor (TinyMCE / JCE) | Standard <iframe> embed, or an oEmbed youtu.be anchor with the oembed class |
Standard iframe, oEmbed link |
| Page builders (SP Page Builder, YOOtheme, etc.) | iframes stored HTML-entity-encoded (<iframe...>) |
Entity-encoded iframe |
| Smart Slider 3 | The n2_ss_video_player__cover element of a YouTube video layer |
Smart Slider 3 |
| YouTube Gallery component | Its player iframes (standard or nocookie) and its YoutubeGallery player script |
Standard / privacy-enhanced iframe, YouTube Gallery |
| YouTube IFrame API (custom players) | The youtube.com/iframe_api script tag |
IFrame API |
Because detection runs on the final rendered HTML, the plugin catches these regardless of which extension produced them — it matches the output, not the source extension.
Entity-Encoded Iframes
Some page builders and custom-HTML modules store an iframe as HTML entities (<iframe ... >) so it survives the editor, then decode it at render time. A naive consent manager that only looks for literal <iframe> tags misses these. The entity-encoded pattern catches that case.
Adding Coverage for Other Extensions
If you use a video extension whose markup none of the built-in patterns match:
- Enable Debug Mode (Expert Mode tab), log in on the front end as a Super User and load the page — confirm nothing matched
- View the page source and copy the HTML the extension outputs around the video
- Write a regex against it and paste it into the Custom Regex Pattern field
See Expert Mode for the full workflow and syntax rules.
A Note on JavaScript-Injected Players
If an extension injects the YouTube player into the DOM client-side (via JavaScript after page load) rather than outputting it in the server HTML, the server-rendered markup may be clean while the browser still builds the player. In that case, target the initializing script or container with an Expert pattern, or configure the extension to output standard embed markup the built-ins can match. See Troubleshooting.