Skip to main content

Import and export Stores, Leads, templates, and settings

Store Locator → Tools contains four separate transfer systems. They are not interchangeable:

ToolFormatMoves
Export Stores / Import StoresCSVStore records and supported Store fields/relationships
Export LeadsCSVCaptured Lead records for reporting
Builder templatesJSONSelected Layouts, cards, forms, infoboxes, markers, and linked design dependencies
SettingsJSONPlugin configuration, excluding server/reCAPTCHA secrets

Moving a complete site normally requires Store CSV + Builder JSON + Settings JSON, followed by Media/Category/Brand preparation and manual verification.

Download the authoritative Store sample

Under Import stores (CSV) click Download sample. Use its exact headings; the sample includes the current plugin's supported standard fields, Custom Fields, and opening-hours representation. This is safer than inventing headings from translated field labels.

You can also choose Export stores and use real exported rows as a round-trip reference. Keep an untouched backup before bulk updates.

Prepare CSV safely

  • Save as UTF-8 CSV with one header row.
  • Keep a stable Store identifier/slug for update matching; names are unsafe when duplicated.
  • Use decimal latitude/longitude without degree symbols.
  • Normalize country values, timezones, statuses, and choice-field stored values.
  • Create referenced Categories and Brands on the destination or verify how the import resolves them.
  • Preserve the exact opening-hours structure shown in the sample.
  • Test image/marker references because CSV does not automatically migrate every Media Library file.

Start with two rows: one basic Store and one containing Categories, Brand, opening hours, images, coordinates, and representative Custom Fields.

Import controls

Paste CSV content into Import stores (CSV).

Geocode missing

When enabled, rows without coordinates are geocoded from their address. Configure Settings → Map → Geocoder first. Google geocoding needs the private server key and Geocoding API; Nominatim is rate-spaced by the plugin. Supplying correct coordinates is faster and more deterministic for large imports.

Update existing

When enabled, matching existing Stores are updated instead of skipped/duplicated. Enable it only after proving which stable identifier matches your exported file. Back up before using it on production.

Read the result summary

The completion notice separately reports Created, Updated, Skipped, and Failed. Compare their sum with the source row count. “Import done” does not mean every row succeeded.

Afterward open a basic and complex Store and verify status, address fields, exact pin, timezone, Categories, Brand, opening hours, Custom Field choice labels, hero/gallery, and marker assignments. Then test public keyword search, Category/Brand filters, distance sorting, infobox, and Store detail page while logged out.

Export Leads

Export leads downloads Lead data as CSV. It does not export Store registrations as live Stores unless those submissions have become Store records. Treat the file as personal data and handle it according to the site's retention/privacy policy.

Move Builder templates

Select root templates under Tools → Builder templates and choose Export selected. Referenced child designs are included automatically where available. Import creates new IDs and relinks internal references. It does not overwrite same-named designs.

Open every imported Layout and verify Search form, Store Card, infobox, HTML marker, and Category tile selections. See Move settings and Builder templates.

Move Settings

Settings export produces a versioned JSON package. It intentionally omits google_server_api_key and recaptcha_secret_key; the destination's existing secrets survive import. The public Google browser key may be present because it is already delivered to browsers, but domain restrictions usually need updating.

After settings import, verify API keys, country restrictions, provider/geocoder, Store detail base-page ID, default design/form/marker IDs, retention, and uninstall behavior. WordPress page IDs and record IDs can differ between sites.

Correct a bad import

Do not blindly rerun the same file. Determine whether failed rows were created, skipped, or partially updated; fix the source; export the current destination state; and retry a small subset. For valid Stores missing only coordinates, use Fill missing coordinates instead of reimporting everything.