Getting Started with Store Locator Plus®

This article covers the first 3 steps (2 if you are using our SaaS product) for getting started with Store Locator Plus®.

Store Locator Plus® makes it easy to add interactive location maps and directories on your website. Our latest technology is included in the Store Locator Plus® Maps and Directories SaaS offering. Some of our customers still prefer the self-managed WordPress plugins available via our Store Locator Plus® for WordPress plugins.

Regardless of which method you prefer, both can be setup quickly and have a fully functional site map or directory listing online in minutes.

General Settings

(This section has been updated to reflect updates in SLP version 5.5.)

There are settings under the General tab for Admin , User Interface, (Server and Data tabs in  earlier versions,  now are  included under the APP tab).  This documentation has been updated to reflect the Google API changes for our WPSLP self managed plug-in customers.   The tab “App” Map is where you will enter your own Google API keys. MySLP customers do not need to worry about that. We do it for them.

Admin

The Admin tab is where your SLP Premier subscription Accounts ID ,  Log Schedule Messages, and other info is located.  There is also a Reset Manage Locations button available for use to reset the back end Manage Locations  display page to the default view (10 locations per  page view). This feature was previously only available with the free SLP  Janitor Add-on.

Geocoding stopped working suddenly

(This page has been updated to reflect the changes in Google Cloud Platform API changes)

Most likely reasons;

  • You moved your site or changed the domain name and did not change your Google Map API key or , as of JUNE 2018 Google API changes, did NOT ADD BILLING TO YOUR API KEY . See Getting Started
  • Check your Google Platform Usage reports
  • A self-imposed usage cap has been exceeded.
  • The provided method of payment is no longer valid (for example, a credit card has expired).
  • You have exceeded the QPS limits for a given API.
  • If you have the Power add-on and are using the import function , your csv file is incorrect, or your header rows are not accurate,  or they have wrong field names, the columns may be misaligned and the data field for an address could not import and/or does not geocode. Check your import message log.
  • Google does not recognize an address. See FAQ post

Location Sensor Aware

Location Sensor Aware available with the SLP SaaS subscription Professional level (or higher ) service plan

Location Sensor capability is also a feature with the WPSLP Plug in Power  add-on.

Location sensor feature can be  turned on/off with a simple check box under the SLP/General  tab.

WPSLP Power add-on General tab

When the box is checked and a visitor to your site performs a search , SLP queries the browser and requests their current location.    If the browser allows location queries it will return their geographic location which will be used to set the default search location.

Note:  This will only work with most browsers if you have a secure site and/or if your site visitor “allows” their location to be visible to you.

Google  may return a “No results found” if you do NOT have an HTTPS site and will stop the javascript from loading. SLP with the Power add-on will negate Location sensor settings entirely if you do not have https://   enabling  your page to continue to load.   If you require the location sensor functionality to work properly you must have  a valid SSL certification.

Location Aware Browsing

Accuracy varies greatly from location to location. In some places, service providers may be able to provide a location to within a few meters.  All locations returned by service providers are estimates only and we do not guarantee the accuracy of the locations provided.  Your SLP settings also determine the number of locations shown nearest the site visitor.  Settings for radius, number of results to return and center of map  all interact to show locations nearest to the site visitor.

Google Geocoding and Browser keys

This article effects the WordPress StoreLocatorPlus  users “Do it yourself ” plug-in with pay as you go Google Maps API keys

MAP Service and API Keys

Changes as of June 11, 2018 will effect the WordPress Store Locator Plus (DIY) community.  Google requires all sites  using map services to have an API key with a billing account attached. See Google Developers console.

The Browser key is used to display the map and handle user-input addresses during a location search.  The Geocoding API  is used on your WordPress server to geocode locations you’ve entered via the Google “Places” box and  APIs.  You do not need the additional geocoding “key”   unless you have added  restrictions.  You do however, need to have the geocoding API enabled in your Google projects library.

Location Limit URL control

Location Limit

The location limit feature is available exclusively to our Store Locator Plus Premier/Enterprise customers.

When the URL Control module is active you can enable location ID passing by turning on “Location Limit” under the General / User Interface tab.

When this is enabled you can pass in a limit for the number of locations to be returned when the map initially loads and when a search is performed by adding ?limit=<id> to the end of the page address where your locator map is deployed with the [slplus] shortcode.

Example: Client has 250  results to return by default but when the site via a URL link loaded they only wanted 5 to come back.

Location Limit functionality supersedes the initial default limit.

Removing distance fields and editing Results

Settings > Results > Results Layout

Removing the distance from the results can be done by editing the Results Layout. You will see the results layout box if you have the Experience add-on for WPSLP or have the professional level plan or higher for MYSLP.

For MySLP go to Store Locator Plus > Settings > Results > Appearance
For WPSLP go to Store Locator Plus > Settings > Results > Appearance

With the Results Layout setting find the HTML span tag with the slp_location distance shortcode.

Delete that line.

Blocking Locator Requests By Query Volume

Premier Members with an active subscription can restrict the number of locator queries that can be made by a single IP address.   This feature can help prevent “location list theft” where a competitor uses the locator to scrape location information from a website or JavaScript query.

Note: In order to enable these settings you must enter your Premier Subscription user ID and Subscription ID under the General / Admin tab.  When entered correctly the notice under “Add On Packs , Subscription Accounts” will tell you your subscription is validated.   This feature is only functional while your subscription is active.

When your subscription has been validated you will see new options available to you under several Store Locator Plus tabs.    The new Security settings will appear under the General /App  subtab as shown below.

General?App/Security

Block Requests Limit

This is the maximum number of location searches a user can perform within the Block Requests Time Span before their IP address is blocked from all locator requests.

This should be set to an integer value greater than 0.

The first page load request from an IP address is always allowed, even if this setting is 0.

If this is set to “2” and the Block Request Time Span is set to “Hour” the system will allow 2 location searches before the IP address is blocked.

The initial loading of the locator page will count as a “search” if you have the default “show locations at startup” enabled.

Changing this parameter will not release already-blocked IP addresses.

Block Requests Time Span

This setting determines over which period of time the locator request limit is checked.   A user that has more than the Block Requests Limit number of locator searches performed in this time period will cause their IP address to be blocked from future location searches until their IP is “released” from the block list.

Setting this value to Never will disable the IP blocking system.

Changing this parameter will not release already-blocked IP addresses.

Release IP After

This is the maximum amount of time a request is “remembered” for a given IP address.   Once this amount of time has passed since the most recent location request that triggered the block the IP address is “released” and once again free to perform location searches.

IP Whitelist

A list of IP addresses that will not be tracked by the blocker.   This allows unlimited location lookups from these IP addresses.

Each address entry should be on a separate line.

Uses standard Classless Inter-Domain Routing (CIDR) format.   Typical entries include:

  • Whitelist a specific IP address: 192.168.1.1
  • Whitelist an entire C-class block: 192.168.1.0/24

Related Notes

Keep in mind that an IP address is not a unique “user” or “computer”.  Many locations share an IP address such as a hotel or your local Starbucks.    The limitations will apply to the entire group of users from the same shared IP address.

Once an IP address has been blocked, subsequent location requests are not tracked until the block has been released.  This design lessens the server load in both volume of data stored and data I/O requests.   It helps alleviate issues from possible denial-of-service type attacks where a bot loading requests in rapid succession could overwhelm the data storage and/or database I/O processing.

Blocking Locator Requests was added in the Premier Plugin version 4.7.11.

Store Locator Plus Additional Functionality

Store Locator Plus .     Store Locator Plus SaaS:  Enterprise level subscribers have a module that adds URL control functionality.

Upgraded  Premium Features

Enterprise / Premier Users

Territory Bounds module was moved from the General | Data tab to the General | Server | Web App Settings section.  Cluster Map Markers is useful for a large dataset in close proximity to each other on the map.

URL Control

A  URL Control module was been added to the application for Enterprise or premier subscribers.   Enabling this module will turn on the interface to allow additional data to be presented in a web page URL to impact how the locator behaves.

URL Control : Allow Location In URL

The first URL Control option is to pass a location ID in via a URL.   Adding ?location=<id> to the end of a web page address that hosts the locator will cause the page to load with the specified location being highlighted as if the map marker was clicked.  The default behavior is to show the info bubble for that location.

Locator Data – The Field Names

Store Locator Plus includes a default set of data fields that is included with every installation as well as extended fields provided by add-on packs.

For  data fields, including those added with the Power add-on, you can output the data in the map info bubble or results layout,  by using the following shortcode:

[slp_location data.<field_slug>]

For example:

[slp_location data.contact]

[slp_location data.facebook_custom_url] (for someone that added a field named Facebook Custom URL).

Both the default data and extended data can be displayed in the search results, (for SEO Pages some fields will be [storepage field=contact] for SEO-friendly details pages. Most of the tools provided by the various add-on packs work best when using the field slug. The slug is a unique name for the field that is similar-to, but not exactly the same as, the field name.

The slugs are used in the add-on packs such as the layout strings from the Experience Add On in as well as the column headers for CSV Import in the Power Add On.

Default Location Fields

ID

Slug: id
Data field: sl_id
Type: integer (auto-assigned)

Name

Slug: store
Data field: sl_store
Type: string up to 255 characters

Address

Slug: address
Data field: sl_address
Type: string up to 255 characters

Address Line 2

Slug: address2
Data field: sl_address2
Type: string up to 255 characters

City

Slug: city
Data field: sl_city
Type: string up to 255 characters

State

Slug: state
Data field: sl_state
Type: string up to 255 characters

Zip

Slug: zip
Data field: sl_zip
Type: string up to 255 characters

Country

Slug: country
Data field: sl_country
Type: string up to 255 characters

Latitude

Slug: latitude
Data field: sl_latitude
Type: string up to 255 characters

Longitude

Slug: longitude
Data field: sl_longitude
Type: string up to 255 characters

Tags

Slug: tags
Data field: sl_tags
Type: Text up to 4096 characters

The Pro Pack tags field. Requires Pro Pack for full functionality.

Description

Slug: description
Data field: sl_description
Type: Long text, as determined by your MySQL settings.  More than 4096 characters.

Email

Slug: email
Data field: sl_email
Type: string up to 255 characters

Website

Slug: url
Data field: sl_url
Type: string up to 255 characters

Hours

Slug: hours
Data field: sl_hours
Type: string up to 255 characters

Phone

Slug: phone
Data field: sl_phone
Type: string up to 255 characters

Fax

Slug: fax
Data field: sl_fax
Type: string up to 255 characters

Image

Slug: image
Data field: sl_image
Type: string up to 255 characters

An fully qualified image URL, http:: with a full domain.

Private

Slug: private
Data field: sl_private
Type: A single character string.

May be used in the future as a 1|0 value to determine if a location is to only appear on the admin interface and not front end searches.

Neat Title

Slug: neat_title
Data field: sl_neat_title
Type: string up to 255 characters

May be used in the future as an alternate store name or subtitle.

Linked Post ID

Slug: linked_postid
Data field: sl_linked_postid
Type: integer, auto-assigned

The ID of the related store_page entry where extra taxonomy data and other location data is stored. Used with Store Pages and Tagalong. Should not be modified.

Pages URL

Slug: pages_url
Data field: sl_pages_url
Type: string up to 255 characters

The relative URL for the Store Pages linked post ID. Provides a processing shortcut for the Store Pages add-on pack.

Pages On

Slug: pages_on
Data field: sl_pages_on
Type: a single 1|0 character

Used with Store Pages to determine which locations have been populated with Store Pages template content.

Option Value

Slug: option_value
Data field: sl_option_value
Type: text up to 4096 characters

A serialized JSON data object which can store extra location data. Slower and less direct than extended data fields.

Last Updated

Slug: lastupdated
Data field: sl_lastupdated
Type: timestamp

A date and time MySQL timestamp indicating the last time the main data for the location was updated.

Initial Distance

Slug: initial_distance
Data field: sl_initial_distance
Type: A float.

The initial distance calculated between your center map latitude/longitude and the location.

Add On Pack Import Fields

These fields appear in the extended data table, slp_extendo. The field metadata, used to manage the slp_extendo table, is store din the slp_extendo_meta table.

Power Add On : Contacts Enabled

Identifier a unique location identifier from an external database that can be used to update existing locations in Store Locator Plus

Contact

First Name

Last Name

Title

Department

Training

Facility Type

Office Phone

Mobile Phone

Contact Fax

Contact Email

Office Hours – long formatted text

Contact Address – long formatted text

Notes – long formatted text

Featured – valid values are “1” for featured and “0” (zero).

Rank – an integer from 1 (highest rank/top of list) to 999999. 0 = no rank.

Power Add On : Categories Data

Power categories utilize the built-in WordPress custom taxonomy system. Standard WordPress category IDs are kept in the term_relationships and term_taxonomy tables. The relationship between locations and categories is managed via the slp_tagalong table that maps the Store Locator Plus id field to the WordPress Taxonomy term_id.

Table: slp_tagalong
field: sl_id = the store id
field: term_id = the WordPress taxonomy id