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.

Scroll To Map

By adding the scroll_to_map class on any of the Results Layout HTML elements, WordPress Premier or MySLP Enterprise subscribers can enable the scroll to map functionality on any Store Locator Plus plugin style.    When the class has been added to an element in the results layout that element becomes clickable.  Clicking that element will scroll the map back into view and open the map marker and info bubble for the location that was clicked.

We have used this feature in the new Bennett plugin style.

To add the feature to other styles you will need to have the Premier plugin installed for WordPress. Under Settings/Map in the functionality section see the check box ,

For MySLP Enterprise users the feature is already enabled.

Go to Store Locator Plus (MySLP) or Store Locator Plus (WPSLP) | Settings | Results | Results Layout.

Results Layout With Scroll To Map
Results Layout With Scroll To Map

Edit the layout and add scroll_to_map to an existing class on an html element you want to trigger the scrolling feature or add class=”scroll_to_map” if the HTML element does not have a class assigned.

Learn more about other Premier / Enterprise features like the new Category Button Bar.

Category Button Bar

Bennet Plugin Style with Button Bar

*Included with  WPSLP Premier subscription or MySLP Enterprise level Subscriptions. 

The category button bar is a  category selection interface available to WordPress Premier and MySLP Enterprise subscribers.   This feature is enabled under the Store Locator Plus menu  select Settings | Search | Appearance | Category Selector.

The button bar will show clickable links that display the icon and category name for the category which will filter locations that match.    The styling for the display will vary based on which plugin style you select.  Currently the Bennett style from our Settings/View /Gallery CSS is configured to appear when you have an active Premier or Enterprise  subscription.

Bennet Plugin Style with Button Bar
Bennet Plugin Style with Button Bar

Functionality is based on a single-category selection. Clicking a new category will turn off all other categories.

The map center, either the Center Map for initial map loading or the address a user entered, is retained as is the initial or current radius.  The map will zoom in-and-out to show all locations that match within the radius of the center point.

Shown is the button bar using the Bennet  Gallery plugin style on a modified version of Exists theme  deployed on the Bennet Trim Tabs site.  This video is on our development servers.

 

 

Learn about other Premier / Enterprise features.

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.

Premier URL Control

Enabling URL Controls

Enabling URL Control features will require an active Premier Subscription.

Location Selection

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

When this is enabled you can pass in a location ID by adding ?location=<id> to the end of the page address where your locator map is deployed with the [slplus] shortcode.

When the location ID is present and the settings is enabled the specified location will be activated on the location map as if a user had clicked the marker on the map.  This will show the info bubble by default.

Note: If cluster map markers are enabled they will be turned off for the initial page load.   Subsequent input or searches by the user will re-activate the cluster map markers.

Note: When passing in a location ID via a URL the location latitude/longitude will become the center point for the map display.  The location that is shown will be at the top of the result listing if sort by distance (default) is in place.

 

Location Limit

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.

Filter By Tag

When the URL Control module is active you can filter locations to show only this matching the tag(s) by turning on “Filter By Tag” under the General / User Interface tab.

This setting will require the Power Add On to be installed and active.

This setting will also require the following shortcode to be present in the Results Layout.  The shortcode is standard in most Store Locator Plus provided Style Gallery Styles.  It can be removed or changed if you have the Experience Add On active.

[slp_search_element selector_with_label="tag"]

An example of a Results Layout where locations are assigned a single tag.  With multiple tags the entire list will be hyperlinked and will not likely perform as expected.  Note the [slp_location data.sl_tags] takes the place of the [slp_location pro_tags] shortcode that is set by default on most Style Gallery styles.

 

[slp_addon section=primary position=first] [slp_location name] [slp_location uml_buttons] [slp_location gfi_buttons] [slp_location distance_1] [slp_location distance_unit] [slp_addon section=primary position=last]

 

[slp_addon section=secondary position=first] [slp_location address] [slp_location address2] [slp_location city_state_zip] [slp_location country] [slp_location phone] [slp_location fax] [slp_addon section=secondary position=last]

 

[slp_addon section=tertiary position=first] [slp_location web_link] [slp_location email_link] [slp_location directions_text] [slp_location hours] [slp_location data.sl_tags] [slp_location iconarray wrap=”fullspan”] [slp_location eventiconarray wrap=”fullspan”] [slp_location socialiconarray wrap=”fullspan”] [slp_addon section=tertiary position=last]

</div>

If you have URL controls enabled you can now pass in location filters based on a tag by adding ?only_with_tag=red to the end of your locations page URL.

Combining URL Options

You can combine the URL control options by using standard URL notation for parameter passing.

The standard is to define the first parameter by starting with a question mark.

Additional parameters are started with an ampersand.

To pass a location ID and a location limit, in this example to show ONLY the location specified, you would add ?location=32&limit=1 to your map page URL.

 

Videos

Schedule For Initial Distance

The Premier Add On allows you to set a scheduled interval using the built-in WordPress Cron scheduler to calculate the initial distance for locations where the distance is zero.

The initial distance setting is used by Store Locator Plus to boost performance when loading the initial map.  It uses and SQL index on a numeric value to select a subset of data versus calculating values for potentially thousands of locations and then filtering based on the calculation.  For sites with more than 1,000 locations this feature significantly boosts initial map loading performance.