Next DB 6.1: Auto-Updating Tables, Printing, Phone Layout and SEO Next Task 6.0.0: a task manager for Joomla Next Inventory 6.1.1: smoother Check Out, no more list limits, and much faster PHP2Shell: Is Your Joomla Site Safe? What to Do Today Introducing Next Boards: Kanban project and task boards for Joomla Building the Future of Joomla Extensions
NextSoftware

Troubleshooting

Common issues and how to resolve them.

The consent dialog doesn't show up on the frontend.

  1. Plugin not enabled — Go to System > Manage > Plugins and verify the plugin status is Enabled
  2. Consent cookie already set — Clear your browser cookies (specifically sly-consent) and reload. If you've previously accepted or declined, the dialog won't appear again until the cookie expires
  3. No YouTube code detected — The plugin only shows the consent box when it detects video code. If your page has no embed the built-in patterns match and no Custom Regex Pattern, the plugin does nothing. Enable Debug Mode and log in on the front end as a Super User to see which patterns matched
  4. Geo-detection filtering you out — If geo-detection is enabled and your browser language is not EU/EEA/UK, the dialog may be skipped. Temporarily disable geo-detection to test
  5. Admin pages excluded — The plugin only runs on front-end HTML pages; it never shows the consent dialog in the administrator
  6. Demo mode on another page — While demo mode is on with Show on Page set, the plugin does nothing on all other pages. Turn demo mode off on a live site
  7. Caching — If your site uses page caching, the cached version may not include the consent box. Clear Joomla cache and any third-party cache (CDN, server-side)

Videos Still Appear After Declining

The visitor clicked Decline but videos still show on the page.

  1. Page was cached before the decline — Clear your browser and server cache, then reload. The next render will strip videos
  2. Custom video widget not detected — The plugin only strips what its patterns match. If your video comes from an extension the built-ins don't cover, enable Debug Mode to confirm coverage. If nothing matches, add a Custom Regex Pattern in the plugin's Expert Mode tab
  3. Video loaded via inline JS that isn't in the HTML — If a script dynamically injects the player into the DOM after page load, the server-side HTML may be clean but the browser renders the video anyway. Either block the loader script with a Custom Regex Pattern or move video initialization into markup the built-ins can match

Videos Not Loading After Accept

Visitors click Accept but videos don't appear.

  1. Cookie not actually set — Check the browser's developer tools cookies panel for sly-consent. If it's missing, the POST may have failed. Verify the form's CSRF token isn't stripped by a reverse proxy
  2. Page was cached without the consent cookie — Clear caches and reload. Pages cached for non-consented visitors won't include the original video code
  3. HTTPS mismatch — The Secure flag is set when Force HTTPS is Entire Site. If pages are still reachable over plain HTTP, the cookie is not sent there. Serve the whole site over HTTPS
  4. Custom cookie path — If you set a Cookie Path in Joomla's Global Configuration, the consent applies only below that path. Leave it empty to cover the whole site
  5. Third-party browser extension blocking — Privacy extensions (uBlock, Privacy Badger) may block YouTube independently. Test in a browser with no extensions

Placeholder Image Problems

The inline placeholder shows the wrong image, or no image.

  1. Position mismatch — Placeholder images only apply to Inline (replace video) (position 5). Overlay positions 1–4 don't use them. Check Consent Box Position
  2. Per-video ID doesn't match — In Per-video custom images mode each row needs the video's 11-character ID, or a YouTube URL it can be read from (watch?v=, youtu.be/, /embed/, /shorts/, /live/). Rows whose ID cannot be recognised are ignored, and videos without a matching row fall back to the generic icon
  3. Custom image path wrong — In Single custom image mode, confirm the media field points to an image that exists and is web-accessible
  4. No play button — The play button is drawn over an image only; in Icon only (privacy-safe) mode it is not shown
  5. YouTube thumbnail blocked — In YouTube thumbnail mode the poster is fetched from img.youtube.com. If a privacy extension or your own CSP blocks that domain, the image won't load. Switch to a self-hosted mode if you need guaranteed delivery

Expert Regex Pattern Problems

The Expert pattern isn't matching, or it's breaking the page.

  1. Missing delimiters — PHP regex requires / (or another delimiter) at start and end: /<div class="custom-video">.*?<\/div>/is. Paste the full /pattern/flags form
  2. Unescaped special characters — Escape forward slashes in URLs (\/), dots (\.), and other regex metacharacters
  3. Missing is flags — Always include is — case-insensitive (i) and dotall (s) so . matches newlines inside multi-line HTML blocks
  4. Pattern too greedy — Use .*? (non-greedy) instead of .* to stop at the first closing tag, otherwise one match can swallow the rest of the document
  5. Pattern silently failing — Enable Debug Mode (visible to logged-in Super Users); if the custom pattern shows zero matches, the regex isn't finding your element. Copy the actual HTML from the page source and build the pattern against it

Custom Colors Not Applying

Custom theme colors don't appear on the frontend.

  1. Theme not set to Custom colors — The color pickers only take effect when the Color Theme is set to Custom colors
  2. Dark mode mismatch — If you're testing in dark mode but only set light colors (or vice versa), the colors won't apply. Set both light and dark custom colors when dark mode is Auto or Always dark
  3. Browser cache — Hard-refresh the page (Ctrl+Shift+R) to bypass cached CSS
  4. CSS specificity — If your template's CSS overrides the consent box, you may need more specific selectors. The plugin uses CSS custom properties (variables) which can be overridden by your template

Geo-Detection Issues

Geo-detection isn't working as expected.

  1. Browser language vs location — Geo-detection uses browser language preferences, not IP geolocation. A visitor with a German browser in the US will be detected as EU. This is by design
  2. English browsers — The bare language code en does not trigger consent (to avoid flagging en-us visitors). Only en-gb and en-ie trigger consent when the UK region is enabled
  3. Test with browser settings — To test, change your browser's Accept-Language preferences to a language from a consent-required region (e.g., de, fr, it)
  4. Norwegian browsers — nb and nn (Bokmål and Nynorsk) count as EEA, like no
  5. Missing Accept-Language header — If the header is missing (some bots, API clients), the plugin shows the consent dialog as a safe default

Installation Refused

The installer stops with "Smart Local Youtube requires PHP … or later" or "requires Joomla … or later".

  1. PHP too old — The plugin needs PHP 8.1 or higher. Change the PHP version in your hosting control panel, then install again
  2. Joomla too old — The plugin needs Joomla 4.4 or later. Update Joomla first (System > Update > Joomla), then install again
  3. Nothing was changed — The check runs before any file is copied, so your site keeps working while you fix the requirement

Joomla Update System

Updates are not found or downloads fail.

  1. Plugin must be enabled — The plugin identifies your site to the update server via the site_url parameter. If the plugin is disabled, this parameter is not sent and downloads will fail with "Failed to download package". Go to System > Manage > Plugins and make sure the plugin is Enabled
  2. Download key — If your update server requires a download key, enter it in System > Update > Update Sites. Click the update site name and add the key. The plugin appends site_url alongside the download key automatically
  3. Server unreachable — Ensure your server can reach the update server URL. Some hosting providers block outbound HTTP connections

Plugin Conflicts

The plugin conflicts with another extension.

  1. Duplicate consent managers — If another extension also manages YouTube consent, disable one of them. Running two consent managers will cause conflicts or double dialogs
  2. JavaScript errors — Open the browser console (F12) and check for JavaScript errors. A JS error from another extension may prevent the consent form submission from firing
  3. Plugin ordering — In System > Manage > Plugins, check the plugin ordering. Smart Local Youtube should generally run after template-related plugins but before caching plugins so it can see the fully-rendered HTML

All Extensions