On  June 11, 2018  Google changed their API.  There is now a pay as you go billing requirement. You  will need to reconsider how to import, how often to import , and whether to break the list into smaller chunks , or skip geocoding.  (Or switch to the MYSLP SaaS managed service and choose the Professional or  Enterprise level plan ( restrictions apply) .

In order to perform bulk location imports with a CSV file for the WPSLP plugin you will need the Power add-on installed.  WPSLP Power add-on does not alleviate the need for you to obtain your own Google API key.  MySLP  SaaS users  do not need to obtain their own API keys but will need the Professional level plan or higher to import.

Browser / Connection Timeout

Most web servers and/or web browsers are configured to only stay connected for a short period of time.   If a browser retains an active connection with your web server trying to load a web page it will timeout, disconnecting the process and often stopping the import file from being processed.

The WPSLP Power add on splits the processing into two parts.  The first part loads the file on the server.  Once the file is loaded on the server a background process will read the file in “chunks” where it sends requests to Google for location geocoding.   This allows for far larger lists to be imported and processed without running into browser timeout limits.

Your web server (Apache, nginx, and IIS are the most common) will have a configuration setting that terminates the connection and all running programs when it is exceeded.  This is often set to 30 or 60 seconds.

PHP can also have a maximum CPU/execution time setting that will kill any process exceeded the limit as protection against infinite loops or other process problems.

Import Requires WPCRON

The  import process requires that your site be able to run WP Cron.  Some hosts and/or site administrators turn it  off.  Not running it not only  prevents the new imports from running but stops lots of other things from working in WordPress (for example , automated updates).

If your site is using basic authentication,  the import processor cannot start the second (reading the CSV file) and third stages (geocoding locations) automatically.    You’ll need to be logged in as an authorized user and surf to your website/wp-cron.php to kick things off.     Some development and staging sites use basic authentication to prevent a casual web surfer or search bot from accessing a site they are working on.

Google Query Limits

NOTE:  Google announced Changes  JUNE 11 2018.  They have complicated the pricing schema and refer to Product SKUS.  The “Product SKU” for all third party apps (all WP or plugins using their service)  is Maps Javascript, Dynamic Map Pricing . Previously, the  same SKU was used for all JS Maps and Panos map loads. Now,  there is a unique SKU for each.

Google API Key is managed and  billed by Google.  Again, this does not apply to the SLP Saas subscribers.

GeoCoding Takes Time

For faster processing or to geocode as many locations as you can in “chunks” it is often best to check the “Skip Geocoding” while doing a CSV import.  This will load all the locations in your CSV file without being encumbered by the slower Google Geocoding process.    Once all locations are loaded us the “Geocode All Uncoded” bulk action.    This will talk to Google in a separate process and geocode as many locations as Google will allow based on your billing and API.

Hints and suggestions from Google for best results

Note that only geocoded locations will show up on the locator search results.

Add Ons That Support This Feature

Enroll in a Premier Subscription
Support product development : Purchase a Premier Subscription
Buy The Power Add On
Buy The Power Add On