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

FAQ

Getting Started

How do I enable Smart Local Google Maps?

Install the plugin ZIP through System > Install > Extensions, then enable it under System > Manage > Plugins. The consent manager then works on every front-end page that contains Google Maps code, with no further setup.

Which Google Maps plugins and embeds are supported?

Out of the box, the plugin detects Google Maps iframes, the Google Maps JavaScript API (maps.googleapis.com, maps.google.com/maps/api), and the map output of 13 named Joomla extensions: Widgetkit, YOOtheme Pro, Gantry, SP Page Builder, Advanced Page Builder, Phoca Maps, Mike Reumer Google Maps, BT Google Maps, MyMapList, DG Fotomap, JCal Pro, JEM and Event Booking. It also catches any <div> with an id starting with googlemap. For anything else, add a custom regex pattern. See Joomla Map Extensions.

How do I add a map without pasting embed code?

Type {smartmap address="Your street, Your city"} into an article, a Custom module or other content, and save. The plugin builds the Google Map for you, wrapped in the consent placeholder from the start. Add zoom, maptype, width, height, caption or directions to adjust it. See The {smartmap} Shortcode.

Do I need a Google Maps API key?

No. Blocking existing maps needs no key, and the {smartmap} shortcode works keyless by default. A key is only used if you choose Google Maps Embed API (API key) as the Embed Method in the Shortcode tab. If you choose it but leave the key empty, maps fall back to the keyless embed.

In the Content tab, use the Privacy Policy Page field to select any Joomla menu item. The consent box then shows a link to that page.

Yes. The Content tab lets you set a Custom Title, Custom Consent Text and a Title Icon. When these fields are filled in, they replace the default language strings, so you can change the wording without editing .ini files.

Privacy & Compliance

Is this plugin GDPR and DSGVO compliant?

The plugin removes detected Google Maps code from the page before it reaches the browser, so no map loads, no Google cookie is set and no request goes to Google until the visitor explicitly accepts. Shortcode maps are never sent before consent either. If you turn on geo-detection, visitors outside your consent regions are auto-accepted by default; you can change this in Geo-Detection. Declining is as easy as accepting. Whether your site as a whole is compliant also depends on your privacy policy and your other services.

How does geo-detection work?

The plugin reads the visitor's Accept-Language HTTP header. If a language matches an EU, EEA (Norwegian or Icelandic) or UK/Ireland code, the consent box is shown. This needs no external API, no IP geolocation service and no additional data processing.

What happens with non-EU visitors?

You choose in the Geo-Detection tab: Auto-agree (load maps immediately) sets consent and lets maps load; Show consent box (let visitor decide) shows the box as it does for EU visitors; Skip plugin entirely leaves the page untouched for that visitor. The default is auto-agree.

No. Detection and removal happen on your server, so the HTML delivered to the browser contains no map code. No tile requests, no maps.googleapis.com script and no Google cookies until the visitor accepts.

Customization

Yes. Pick one of five built-in themes (Clean, Midnight, Forest, Slate, Warm) or choose Custom colors to set the background, text, accept button and decline button colors, separately for light and dark mode. Custom colors apply to the consent box and to every placeholder.

What is the inline position?

Inline (replace map) replaces each detected map with a consent placeholder in the same place, instead of a floating box. Set its width (percentage) and height (pixels) to match your maps. It is ideal for maps inside article content.

Yes. Choose from five positions: center modal, full-width bottom bar, bottom-right corner, bottom-left corner, or inline. The four floating positions support four entrance animations: fade in down, up, left or right.

That's expected. The position setting controls how auto-detected maps are blocked. A {smartmap} map is created by the plugin itself, so it always shows its consent prompt as an inline placeholder where the map sits. See Where each position applies.

Does it support dark mode?

Yes. Auto (follow OS preference) follows the visitor's system setting, Always light and Always dark force one variant. Each built-in theme has a dark palette, and custom colors have their own dark set.

Expert Mode

My template uses a map widget that isn't detected. What do I do?

Open the Expert Mode tab and paste a PHP regex (with / delimiters and the is flags) into Custom Regex Pattern. The plugin applies it alongside the built-in patterns. An invalid pattern is ignored instead of breaking the page. See Expert Mode.

What does Debug Mode do?

It adds a yellow box to the bottom of the page listing every pattern that matched and how many times. Only Super Users logged in on the frontend see it, so it is safe to turn on briefly on a live site. Turn it off when you're done.

Yes. Turn on Demo Mode and select a page under Show on Page. On that page the consent box always appears with a "Demo" badge, no cookie is saved and maps are not blocked. While demo mode is on, the plugin does nothing on other pages, so use it on a demo or staging site. See Demo Mode.

Technical

Which Joomla versions are supported?

Joomla 4.4 or later, 5.x and 6.x, on PHP 8.1 or higher. The plugin uses modern Joomla architecture (namespaced classes, SubscriberInterface, WebAssetManager). The installer stops with a clear message on older PHP or Joomla versions.

The cookie is named slgm-consent with the value agree or decline. It is valid for the whole site (path / unless you set another cookie path in Joomla) and set with HttpOnly (not readable by JavaScript), Secure (when Force HTTPS is set to Entire Site) and SameSite=Lax. Its lifetime is session-only or a number of days (1–365). See Cookie Settings.

What languages are included?

23 languages are included: English, German, French, Spanish, Italian, Portuguese, Romanian, Dutch, Swedish, Danish, Finnish, Norwegian, Estonian, Polish, Czech, Slovak, Hungarian, Slovenian, Croatian, Bulgarian, Greek, Latvian and Lithuanian. Joomla uses the one that matches your site language automatically. Every text can also be changed with a Joomla language override, and any other language can be added with standard .ini files.

Does the plugin make external API calls?

No. Map detection, consent handling and geo-detection run entirely on your server. The only outbound request is Joomla's normal update check. After consent, the visitor's browser loads the map from Google, which is what the consent is for.

Does the plugin work with page caching?

The plugin works on the finished page during Joomla's onAfterRender event. A page cache that stores the result serves the same version to every visitor, whatever their consent, and its stored form token can make the Accept button fail for other visitors. Exclude pages with maps from caching, or configure your cache to vary by the slgm-consent cookie.

Is the plugin open source?

Yes. Smart Local Google Maps is licensed under the GNU General Public License v2 or later.

All Extensions