Importing Large Lists into Store Locator Plus

Import features are available with the Power Add-on

Load Data

If checked , use the faster MySQL Load Data method of file processing. Only base plugin data can be loaded, see the approved field name list.

This feature uses the MySQL Load Data command and is much faster than WordPress / PHP CSV file parsing, with the typical Google Geocoding limitations on performance and record counts (if you are not supplying, filling in the latitude/longitude data fields). This feature will only import basic location data. It does not import extended data fields or (Tagalong) category data. If you use this along with  pre-entered latitude and longitude values you can import 100,000 locations in less than 10 minutes on a basic web server. The column headers must be included in the file and must match the basic fields. You do NOT need to include all columns.

Large List Imports

Large lists, typically those with more than 25,000 locations, require special consideration. Here are some tips to maximize performance.

  • Check your php.ini post_max_size setting if doing a direct file import versus a cron URL based import. post_max_size is typically set to 8 (MiB) on most servers. This is typically enough for around 25,000 locations but it depends on how long your descriptions are and how many data fields you have filled out. SLP will warn you if you try to upload a file larger than your post_max_size limit.
  • Check your php.ini memory_limit setting and make sure it is large enough to handle the WordPress overhead plus the size of your CSV file times two. The WordPress database interface and the CSV file processing will consume lots of memory. The more plugins, widgets, and advanced theme features you have more more memory WordPress will use and the more PHP memory will leak over time. A setting of 256M is enough for approximately 15,000 locations.
  • Check your wp-config WP_MEMORY_LIMIT. You may need to add this define to wp-config.php. define(‘WP_MEMORY_LIMIT’ , ‘256M’). The number needs to be equal-to or less-than the php.ini memory-limit. It is the WordPress-specific memory limit and works with php.ini memory_limit.
  • Check your wp-config WP_MAX_MEMORY_LIMIT. You may need to add this define to wp-config.php. define(‘WP_MAX_MEMORY_LIMIT’ , ‘256M’). This is the WordPress admin interface memory limit and works like WP_MEMORY_LIMIT for admin pages.
  • Set Duplicates Handling to Add only if you know you do not have duplicate locations in your data.
  • Set Server-To-Server speed to Fast under the General Settings tab unless you are on a shared host or experience a large number of uncoded locations during import.
  • Set the PHP Time Limit to 0 (unlimited) under the General Settings tab. For hosting providers that allow your web apps to change this, the unlimited value will let the import run to completion.

Keep in mind Google limits you to 2500 latitude/longitude (geocoding) lookups per 24 hours per server IP address. If you are on a shared host you share that limit with all other sites on that host.
If you purchased a Google Maps API Enterprise or Business license key , (this is NOT the same thing as the “sign up for free” API service and pay  as-you =-go for overages,)  enter your assigned Google Maps Enterprise client ID (gme-yourname typically) and your Google Private key. This gives you 10 location geocodes per second and 100,000 per day and is FAR faster than the free API service. But it is also pricier. Most people will not need an Enterprise or Business license key.