Features
The full feature list, grouped by area. Linked words open the in-depth guide.
- Consent management
- YouTube stays blocked until the visitor makes an explicit choice
- No video iframe, player script or YouTube cookie reaches the browser until the visitor clicks Accept
- Exception 1, if you turn on geo-detection: visitors outside your consent regions are auto-accepted by default, and you can change this
- Exception 2, only if you choose it: the YouTube thumbnail placeholder mode loads poster images from
img.youtube.combefore consent
- Accept/decline dialog with clear, customizable messaging
- CSRF-protected form submission prevents replay attacks
- Secure cookies with HttpOnly, Secure and SameSite flags
- Consent state remembered across visits through a configurable cookie lifetime
- YouTube stays blocked until the visitor makes an explicit choice
- YouTube detection
- Seven built-in patterns, applied to the finished page HTML
- Standard
youtube.com/embediframes - Privacy-enhanced
youtube-nocookie.com/embediframes - The YouTube IFrame API script (
youtube.com/iframe_api) - HTML-entity-encoded iframes from page builders
- Smart Slider 3 YouTube video layers
- The YouTube Gallery component's player script
- TinyMCE/JCE oEmbed
youtu.belinks
- Standard
- Custom Regex Pattern for video widgets the built-in patterns miss
- Works on any Joomla page: articles, modules, custom HTML and third-party extensions, without template editing
- Seven built-in patterns, applied to the finished page HTML
- Inline placeholders
- Position 5, Inline (replace video), puts a click-to-load card in each video's place
- Configurable placeholder width (%) and height (px)
- Four placeholder image choices
- Icon only (privacy-safe), the default
- Single custom image for every video
- Per-video custom images: map a video ID, or a pasted YouTube URL, to its own poster
- YouTube thumbnail, opt-in, which contacts Google before consent
- Play button styles: none, light, dark or red (YouTube-style)
- Player scripts such as the IFrame API are removed without leaving an empty box
- Themes and custom colors
- Five built-in color themes designed to blend with any site
- Clean: white and green
- Midnight: navy and amber
- Forest: emerald and coral
- Slate: gray and blue
- Warm: cream and teal
- Custom color mode with 12 color fields
- Background, text, accept button and decline button colors
- Set independently for light and dark mode
- Applied to the consent box and to every inline placeholder
- Five built-in color themes designed to blend with any site
- Dark mode
- Automatic OS-level detection through
prefers-color-scheme - Force light or force dark, regardless of the visitor's setting
- Separate dark mode colors for the custom theme
- Automatic OS-level detection through
- Positions
- Center modal: overlay dialog centered on screen
- Bottom bar: full-width bar fixed to the bottom
- Bottom-right and bottom-left: compact boxes in the lower corners
- Inline: a placeholder in place of each video
- All positions are responsive and adapt to mobile screens
- Animations
- Fade in down, fade in up, fade in left and fade in right for the overlay positions
- With
prefers-reduced-motionenabled, the dialog appears instantly without animation
- Geo-detection
- Shows the consent dialog only to visitors who need it
- Uses the browser's
Accept-Languageheader to detect EU, EEA and UK languages- No external API calls, no latency and no third-party dependencies
- Configurable behavior for other visitors: auto-agree, show the consent box, or skip the plugin
- Detects language, not location
- Accessibility (WCAG 2.1 AA)
- The center modal keeps keyboard focus inside the dialog while it is open; the bar and corner boxes leave focus on the page
- Full keyboard navigation (Tab, Shift+Tab, Enter, Space); Escape moves focus to the close button
- Screen reader support with ARIA roles, labels and a live region
- Reduced motion support
- Scroll position is kept across the consent reload
- Security
- Cookie flags
- HttpOnly: not accessible through JavaScript
- Secure: when Force HTTPS is set to Entire Site, the cookie is only sent over HTTPS
- SameSite=Lax: the cookie is not sent with cross-site requests
- CSRF tokens: form submissions are validated with Joomla's token system
- Input escaping: all configurable text is escaped before rendering
- Debug output is shown to logged-in Super Users only
- Cookie flags
- Cookie control
- Session mode: consent expires when the browser closes
- Days mode: any value from 1 to 365 days
- Customizable content
- Title icon (any icon class), custom title and custom consent text
- Privacy policy page link
- Expert and debug tools
- Custom Regex Pattern applied alongside the built-in patterns; a broken pattern fails silently instead of breaking the page
- Debug Mode lists which patterns matched on the page, visible to Super Users only
- Demo mode
- Shows the consent banner with a "Demo" badge, without blocking videos or saving the visitor's choice
- Restrict the demo to a single page with Show on Page
- Multilingual
- Ships with 23 languages: English, German, French, Spanish, Italian, Portuguese, Romanian, Dutch, Swedish, Danish, Finnish, Norwegian, Estonian, Polish, Czech, Slovak, Hungarian, Slovenian, Croatian, Bulgarian, Greek, Latvian and Lithuanian
- Add any language with a standard Joomla
.inilanguage file
- Joomla integration
- Built for Joomla 4.4, 5 and 6 with no deprecated APIs
- WebAssetManager, dependency injection through
services/provider.php, andSubscriberInterfaceevents - Runs only on front-end HTML pages, never in the administrator, API or feeds
- The installer refuses PHP older than 8.1 or Joomla older than 4.4 with a readable message
- Namespace:
Joomla\Plugin\System\SmartLocalYoutube\Extension