Features
The full feature list, grouped by area. Linked words open the in-depth guide.
- Consent management
- Google Maps stays blocked until the visitor makes an explicit choice
- No map loads, no request reaches Google and no Google cookie is set until the visitor accepts
- Exception, if you turn on geo-detection: visitors outside your consent regions are auto-accepted by default, and you can change this
- Accept/decline dialog with clear, customizable messaging
- CSRF-protected form submission prevents replay attacks
- Secure cookies with HttpOnly, Secure and SameSite=Lax flags, valid for the whole site
- Consent state remembered across visits through a configurable cookie lifetime
- Google Maps stays blocked until the visitor makes an explicit choice
- Map detection
- 21 built-in patterns, applied to the finished page HTML
- Google Maps iframes and the Google Maps JavaScript API
- 13 named Joomla extensions, including Widgetkit, YOOtheme Pro, SP Page Builder, Phoca Maps, JEM and Event Booking
- A generic fallback for
<div>elements whoseidstarts withgooglemap
- Custom regex pattern for map markup the built-ins don't cover
- Debug mode lists every matched pattern, shown only to logged-in Super Users
- 21 built-in patterns, applied to the finished page HTML
- The {smartmap} shortcode
- Builds a Google Map from an address or a latitude/longitude pair, wrapped in the consent placeholder from the start
- Embed method: keyless with no setup, or the Google Maps Embed API with your own key
- Per-map zoom, map type, width, height, caption and an optional "Get directions" link
- Not expanded inside the page head, form fields, tag attributes or front-end edit forms, so editing an article never replaces your shortcode
- Positions
- Center modal: overlay dialog centered on screen
- Bottom bar: full-width bar fixed to the bottom
- Bottom-right and bottom-left: compact corner boxes
- Inline: each detected map is replaced by a placeholder in its own place, with configurable width and height
- Shortcode maps always use an inline placeholder, whatever position you choose
- Animations
- Fade in down, fade in up, fade in left and fade in right for the floating positions
- Automatic respect for motion preferences: with
prefers-reduced-motionenabled, the box appears without animation
- Themes and custom colors
- Five built-in color themes: Clean, Midnight, Forest, Slate and Warm
- Custom color mode with 12 color fields, 6 for light and 6 for dark mode
- Custom colors apply to the consent box and to every inline and shortcode placeholder
- Dark mode
- Automatic detection through
prefers-color-scheme - Always light or always dark, regardless of the visitor's setting
- Automatic detection through
- Geo-detection
- Shows the consent box 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-accept, show the consent box, or skip the plugin
- It detects language, not location
- Accessibility (WCAG 2.1 AA)
- The center modal keeps keyboard focus inside the dialog; the bar and corner boxes leave the page usable
- Full keyboard navigation (Tab, Shift+Tab, Enter, Space); Escape moves focus to the close button
- Screen reader support with proper ARIA roles, labels and live regions
- Reduced motion support
- 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: not sent with cross-site requests
- CSRF tokens: consent submissions are validated with Joomla's token system
- Input escaping: all configurable text is escaped before rendering; shortcode attributes are validated and clamped
- Cookie flags
- Cookie control
- Session mode: consent expires when the browser closes
- Days mode: any value from 1 to 365 days
- Customizable content
- Custom icon, headline and consent text
- Privacy policy link to any menu item
- Demo mode
- Shows the consent box on a demo page without real blocking, with a visible "Demo" badge
- Restrict it to one page with the menu item selector
- 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
- Every string is translatable with a standard Joomla
.inifile
- Joomla integration
- Runs on Joomla 4.4, 5 and 6 with no deprecated APIs, and only on front-end HTML pages
- WebAssetManager, dependency injection through
services/provider.php, events throughSubscriberInterface - The installer checks for PHP 8.1 and Joomla 4.4 and stops with a clear message on older versions
- Namespace:
Joomla\Plugin\System\SmartLocalGoogleMaps\Extension