Building a scalable WordPress location map

Fun with WordPress plugins

Editor’s Note: This article on building a WordPress location map was first published on September 15, 2015. It was updated on October 28, 2018.

When we needed to build a scalable website for our real estate venture we turned to WordPress. The popular content management system offered myriad plugins and tools suitable for our purpose. Great, right? Yes, but …

WordPress has so many plugins and tools that sometimes it can be overwhelming when trying to build a website for a specific purpose.

Our website had to receive user input of office locations from new members, and save them in a database that we could upload to a GPS-enabled map. We were bootstrapping the project so we needed a low-cost option.

What we need was a scalable WordPress location map and we needed to find the right pieces and parts to make it happen. After finding all of the right parts that fit together, I thought it would be worth laying it out for others looking for similar tools.

Example of a scalable location map in WordPress.
Example of a scalable location map in WordPress.

Jetpack

JetPack Plugin BannerThe first thing we needed was a way for our new members to sign up their business locations on our website. There are plenty of forms modules available, but Jetpack for WordPress has so many other great features and is supported by so many software developers that it seemed like the best platform to start with.

Installing Jetpack is surprisingly simple.

 

Install the plugin, activate it, create a new page, and click on the “Add Contact Form” button above the body field. You’ll be walked, step-by-step, through the form and its options for email notifications.

Pro tip: If you’re planning on having users submit map locations, be sure to break up the address into multiple individual fields so that they can be organized cleanly in your database.

Contact Form DB

Contact Form DB LogoReceiving emails notifications for new submissions will work for small operations, but there’s no database logging the history of submissions unless we add one. Contact Form DB is the next plugin to install.

It records and logs form submissions on WordPress websites, and supports many platforms. It has a viewable log in the WordPress backend and allows the user to export a CSV file of the entire database. This is necessary when you’re receiving large numbers of new form submissions that need to be regularly added to your users’ map of locations.

Store Locator Plus

Store Locator Plus Plugin LogoWith the user-input side of the system built, we tried out a few location pal plugins for WordPress and settled on Store Locator Plus.

Store Locator Plus is robust enough to handle thousands of locations and has inexpensive plugins and upgrades.

 

While the basic plugin is serviceable, it becomes really feature-rich with the premium add-ons, which costs between $200-275. This adds the ability to import your CSV forms of user input as bulk uploads. It also adds the location sensor/GPS function, bulk geocoding of addresses, and search reporting from map results.

After installing the Pro Pack, you can export your CSV from the Contact Form DB plugin, paste its contents into a CSV with Store Locator Plus’s defined field names, and upload your location roster. The system will automatically overwrite or update locations based on your settings. After loading the new locations, simply select “Geocode All Uncoded” in the Store Locator Plus locations screen, and it will use Google Maps to add latitude/longitude coordinates to every location.

Store Locator Plus List of Locations

Gravity Forms Locations

The upgrades can be addicting on this platform. Although Jetpack worked well for forms, we decided we wanted to automate the system, so we integrated the Gravity Forms and Gravity Forms Locations plugins as well. You need a paid Gravity Forms account for this to work. This tied the signup form directly to the Store Locator Plus database, when we replaced the Jetpack form with a mapped Gravity Form.

With this change, instead of using a CSV to transfer and upload locations, the end user can enter their own location and it will immediately show up on the map. The admin can designate whether that happens, or if the new entries stay in a queue for moderation. Either way, the form-to-database process becomes seamless.

To do this, you need to map the fields on your Gravity Form to the fields in Store Locator Plus. When you create this map (Forms > GFL Mapping), it gives you an opportunity to categorize your locations.

  • Set up one field as a drop-down menu option, and make the options your specific categories of locations. In our example, we designated offices as a broker, lender, and title.
  • Then map that field to the Store Locator Plus tags field.
  • Now you can set up your search interface with a drop-down menu choice based on those tags.

Users input their locations based on set categories, and can then search your database based on those same categories.

Gravity Forms Location Mapping Screenshot of Adding a New Form

Shortcode and go

Finally, add Store Locator Plus’s shortcode to one of your WordPress pages, and the map will be available for any of your users to see. It can center on the user’s current location, and it allows them to search for properties within a user-specified radius by address or zip code.

Add a mobile-friendly theme to your website and you have an easy-to-use map tool that anyone can access from their phone — and is surprisingly affordable to build. You can the final example of our WordPress location map at MeetMeHereFirst.com.