Hello!
It probably doesn’t come up often but if you happen to find yourself in a position where you are managing multiple Google Business Profiles (formerly Google places, Google+ or Google My Business), you might find this post useful.
If you would like to represent your business where multiple locations with multiple Google business profiles are represented, then this post will definitely be useful.
Currently there isn’t a seamless method to import these Business profiles into WordPress and keep the information like business hours synchronized.
A potential scenario could be that you are managing a chain of 25 coffee shops throughout a city. Each coffee shop location manages their own hours of operation and instead of relying completely on Google, you want to centralize this information on the main corporate website. Especially challenging if these coffee shops are franchisees and manage their own Google business profile themselves.
There already exists plugins and addons to WordPress that build out a “store locator” system, which is great. But wouldn’t it be nice to automatically import and synchronize all the business location data on a regular (daily) basis?
We created a plugin to do just that : Shift8 for Google Business
What is Shift8 for Google Business
This plugin tries to build out a simple , yet extensible method for taking a list of Google places IDs and importing all the Google Business data (that google allows you to export) into WordPress as a custom post type.
Once the initial import is complete, we poll the Google API endpoint on a regular basis to check and update the imported business (if it has changed on the Google side).
How to use the Shift8 for Google Business Plugin
Click the link above in this post to navigate to the WordPress plugin directory page for this plugin and install the plugin.
Step 1 : Install the plugin
Once installed and activated, you should see a settings page (usually located in Shift8 > Google Business in the WordPress dashboard) that looks something like this :

Step 2 : Create a Google Cloud Project
To set up the Google API for the Shift8 Google Business plugin, you’ll need to create a Google Cloud project and enable the necessary services. Start by heading to the Google Cloud Console, where you’ll sign in and create a new project specifically for this integration. Once the project is created, navigate to the API Library and enable the Places API, which is essential for retrieving business data. If you plan to expand functionality later, you might also enable the Geocoding API for address conversions and the Maps JavaScript API for visual integration.
With the necessary APIs enabled, the next step is to generate an API key. Go to the Credentials section, create a new API key, and copy it—you’ll need this to configure the plugin. For security, it’s highly recommended to restrict the key. You can limit it to requests from specific IP addresses (ideal for server-side use) or to specific HTTP referrers (to ensure only your website can use it). Additionally, restrict access to only the APIs you enabled, preventing unintended usage.
Step 3 : Save the API key in the Plugin Settings
With the API key ready, head over to your WordPress admin dashboard and open the Shift8 Settings → Google Business section. Paste the API key into the provided field and save your changes. To confirm that everything is set up correctly, click Test API—this will verify the key and ensure it’s properly fetching business data from Google.
Step 4: Build a list of your Google Business Place IDs
The last step in this setup process is to get a list of all the location “Place IDs”. These IDs are a unique identifier of each of your Google Business locations. Google offers an easy tool for you to find and extract these IDs.
Once you have your list of Places IDs you can paste them (one per line) in the WordPress plugin settings.
At this point, the plugin is fully configured and ready to pull in business details automatically. If any issues arise, you can check WordPress’s debug.log for more details. Once everything is running smoothly, your business hours and other key information will stay up-to-date with on your website from Google, keeping your customers informed in real-time.
I dont see any Google Business Data Yet!
Not to worry. There is one more feature that we can go over that the plugin provides. There is a convenient WP-CLI function that you can trigger manually to initiate an import or synchronization process.
Typically when the plugin is activated and the settings populated, a daily WP-Cron scheduled task is generated that triggers the import and synchronization process automatically.
If you wanted to trigger this process manually, you can use the WP Cli command wp shift8_business_updater
. Once triggered you should see output similar to the following :
# wp shift8_business_updater
Processing store: Rutherford (ID: 30)
Store updated: Rutherford (ID: 30)
Processing store: Woodbridge (ID: 32)
Store updated: Woodbridge (ID: 32)
Processing store: York University (ID: 33)
Store updated: York University (ID: 33)
Processing store: York Lanes (ID: 34)
Store updated: York Lanes (ID: 34)
Processing store: Bayview Village (ID: 35)
Store updated: Bayview Village (ID: 35)
Processing store: Gibson (ID: 36)
Store updated: Gibson (ID: 36)
Processing store: Markham (ID: 37)
Store updated: Markham (ID: 37)
Processing store: Parkway (ID: 38)
Store updated: Parkway (ID: 38)
Processing store: Avenue Road (ID: 39)
Store updated: Avenue Road (ID: 39)
Processing store: Eglinton (ID: 40)
Store updated: Eglinton (ID: 40)
Processing store: Laird (ID: 41)
Store updated: Laird (ID: 41)
Processing store: Bay Charles (ID: 42)
Store updated: Bay Charles (ID: 42)
Processing store: Liberty Village (ID: 43)
Store updated: Liberty Village (ID: 43)
Processing store: Mars (ID: 45)
Store updated: Mars (ID: 45)
Processing store: Mt Sinai (ID: 46)
Store updated: Mt Sinai (ID: 46)
Processing store: 121 King (ID: 47)
Store updated: 121 King (ID: 47)
Planned Features and Improvements
Right after the plugin was accepted into the WordPress plugin directory, we immediately had some ideas on how this plugin could be improved to offer even more versatility.
Find a list of a few of the features and improvements that are planned for future updates. Happy to hear feedback from anyone else!
Planned Feature 1 : Ability to import data into any content type
This is definitely nice-to-have. The idea is to include this plugin with whatever other system you are using, or even with your own custom fields that you have created internally.
Ideally we would offer the ability for our plugin to “direct” where the content updates are going and even map each field coming from google into the field that you are using in your content type. Perhaps a good middle ground would be to simply plug into ACF dynamically to allow the end user to specify these things through that framework.
We’ve done work on bulk updating and manipulating WordPress data in the past, so it shouldn’t be too difficult.
Planned Feature 2 : Manual Import through settings page
I realize that offering the ability to trigger a manual import / synchronization of your Google businesses through the WP-CLI is nice, a lot of potential users may not be comfortable interacting with WP-Cli on the command line.
Being able to trigger a manual import via the WordPress settings page for our plugin would make the plugin a bit more accessible
Planned Feature 3 : Adjustment of the WordPress Cron schedule for automated imports
This would be another easy win for a future update of the plugin. Being able to specify the cron schedule of when and how often this plugin polls the Google API endpoint for updates would give a bit more flexibility in the end users to accommodate their situation dependent on how often these updates on the Google side are happening.
Conclusion
We hope that someone finds this plugin useful! We are happy to expand on it further if there is interest and support from the WordPress community.