Skip to content
WP Go Maps Documentation

Initial Setup

3
  • Installing the Plugin
  • Map Engine Selection Guide
  • Changing your Map Engine

Map Engines

8
  • Creating a Google Maps API key
  • Protecting your Google Maps API key from unauthorized use – Setting up website restrictions (HTTP referrers)
  • Creating an Azure Maps subscription key
  • Creating a Stadia Maps API Key
  • Creating a MapTiler API Key
  • Creating a LocationIQ Access Token
  • Address Providers
  • Tile Servers & Tilesets

First-time users

3
  • Creating your first map
  • Creating your first marker
  • Displaying your Map on your WordPress site

Map Features

50
  • Map Features Overview
  • Accessibility and WCAG Compliance
  • Shortcodes
    • Shortcodes – Quick Start
    • Map Shortcode
    • Store Locator Shortcode
    • Category Filter Shortcode
    • Category Legends Shortcode
    • Infowindow Shortcode
    • Marker Listing Shortcode
    • Directions Shortcode
    • Using WP blocks
  • Markers
    • Editing a Marker
    • Marker Gallery
    • Fine-tuning a Marker’s position
    • Adding video to your Marker
    • Embedding iframes in your markers
    • Customizing your info Window
    • Info Window Styles
    • Using Custom marker Icons on your map
    • Sticky Markers
    • Adding Custom fields to your Marker
    • Marker Listing
    • Enabling distance features
  • Map Display
    • Setting your Map type
    • Using your map in a widget
    • Styling Wizard
    • Using GET variables to Control your Map
  • Filtering
    • Store Locator
    • Marker Filtering
    • Enabling the category Legend
    • Shape Filtering
  • Shapes
    • Shape Info Windows
    • Shape Library
    • Polyline & Polygon Line Styles
  • Performance & Analytics
    • Optimization
    • Map Insights
    • Marker Caching
  • Drawing Tools
    • Adding a Polygon
    • Adding a Polyline
    • Adding a Circle
    • Adding a Rectangle
    • Adding an image overlay
    • Adding a Point Label
    • Adding a Heatmap
  • Themes
    • Creating a Custom Map Theme – Google maps engine
    • Change your Map Theme – Theme Presets for OpenLayers & Leaflet
    • Edit your Map Theme – Theme Editor for OpenLayers & Leaflet
    • Using a custom image as a map tile
  • Directions
    • Enabling Directions
    • Enabling Directions with OpenRouteService

Integrations

8
  • Integrations Overview
  • WooCommerce – Checkout Map
  • WooCommerce – Product Location Editor
  • Translating the plugin with WPML
  • Post Type Locations
  • Advanced Custom Fields
    • Advanced custom fields
    • Enabling simple ACF Fields for display in the description field of the Info Windows of your ACF Map
    • Using Custom images as the marker icons for your ACF map markers

Importing and Exporting Data

5
  • Importing Files
  • Exporting Data and Settings
  • Bulk JPEG Import
  • Using KML and GeoRSS files
  • Improving Reliability of Scheduled Imports

Frequently Asked Questions

30
  • System Requirements
  • How to create an Administrator account for Support agents
  • GDPR
  • Licensing & Account
    • Purchase Model
    • Plugin Licenses
    • I am an NPO
    • I did not receive my invoice?
    • How can I upgrade my purchase of WP Go Maps
    • Where can I get a new download of the plugin
    • How do I update WP Go Maps?
  • Map Functionality
    • Map Tilt Controls
    • Marker Render Mode
    • Finding Custom Marker Icons
    • Why did my suggestions stop working?
    • How do I change scroll/pan behaviour on a mobile device
    • How do I dynamically set the search area in the Store locator
    • How do I Start the map in Street View
    • How to Create a Marker Cluster (Group)
    • How to use real time tracking
    • Marker Ratings
    • Why aren’t my ACF, WooCommerce or Post Locations Markers showing on my map?
  • Technical
    • How to add Support agents to your Google API Project
    • How do I change the WP Go Maps Plugin Language
    • How do I restrict Autocomplete to a Specific Country
    • Using WP Go Maps with Elementor
    • How can I disable externally hosted Google fonts so that I can be GDPR compliant?
    • WP Go Maps and Webcraftic Clearfy
    • I have a Customization Request
  • User Generated Content
    • How to allow visitors to create markers
    • Separating the VGM form from the Map

Troubleshooting

12
  • Autocomplete Disabled
  • Use my location is not working
  • I’m Getting a Maps Multiple API Error
  • I’m Getting a “jQuery not found” Error
  • My Map is Not Showing On My Website
  • Markers Are Not Showing on My Map on the Front-end
  • API Not Activated Map Error
  • This page can’t load Google Maps correctly
  • This API project is not authorized to use this API
  • Geocode failed (Request denied) error
  • My import is not working – Geocode failed (Missing address, lat and lng) (Rows: 2, 3, 4, 5, 6, 7, 8….)
  • This folder does not exist, please create it.

Customization

9
  • Customization Guides
  • Markers & Info Windows
    • Dynamic Marker Creation
    • Open Marker by Title (URL)
    • Open Marker by Marker Field (URL)
    • Updating Panel Info Window Dynamically
  • Maps
    • Map Manipulation
    • Refresh Map in Realtime
  • Database
    • Creating a Marker (PHP)
    • Edit & Remove Marker (PHP)

Developers

91
  • Basic Changelog
  • Pro Changelog
  • Gold Changelog
  • VGM Changelog
  • Templates
    • Template Overrides
  • Hooks
    • Filters
      • Basic
        • wpgooglemaps_filter_map_div_output
        • wpgmza_admin_persistent_notices_dynamic_titles
        • wpgmza_admin_persistent_notices_dynamic_messages
        • wpgmza_admin_persistent_notice
        • wpgmza_admin_ui_menu_current_action
        • wpgmza_create_{$class}
        • wpgmza_gdpr_notice
        • wpgmza_gdpr_settings_tab_content
        • wpgmza_plugin_get_default_settings
        • wpgmza_google_maps_api_params
        • wpgmza_internal_engine_build_version_plugins
        • wpgmza_internal_engine_build_version_flags
        • wpgmza_internal_engine_build_version
        • wpgmza_xml_cache_generated
        • wpgmza_fetch_integrated_markers
        • wpgmza_plugin_get_localized_data
        • wpgmza_settings_danger_zone_truncate_tables
        • wpgmza-get-library-dependencies
        • wpgmza_global_settings_tabs
        • wpgmza_global_settings_tab_content
        • wpgmza_global_settings_save_redux
        • wpgmza_map_shortcode_get_default_attributes
        • wpgmza_shortcode_map_options
        • wpgmza_map_shortcode_get_html_attributes
        • wpgmza_shortcode_map_components
        • wpgmza_shortcode_map_container_before
        • wpgmza_shortcode_map_container_inside
        • wpgmza_shortcode_map_container_after
        • wpgmza_sl_shortcode_get_default_attributes
        • wpgmza_standalone_component_classlist
        • wpgmza_standalone_component_wrap_attributes
        • wpgmza_store_locator_radii_options
        • wpgmza_localized_strings
        • wpgmza_system_info_compile_items
        • wpgmza-map-editor-navigation-{$dataGroup}
        • wpgmza-map-editor-settings-{$dataGroup}
        • wpgmza-map-editor-settings-blocks
        • wpgmza-map-editor-sidebar-blocks
        • wpgmza_styling_settings_save
    • Actions
      • Basic
        • wpgmza_admin_notice_process_background_action
        • wpgooglemaps_hook_user_js_after_core
        • wpgooglemaps_basic_hook_user_js_after_core
        • wpgooglemaps_hook_user_js_after_localize
        • wpgmza_admin_persistent_notices_create_defaults
        • wpgmza_admin_ui_menu_registered
        • wpgmza_admin_ui_menu_items_added
        • wpgmza_admin_ui_render_content_before
        • wpgmza_admin_ui_render_{$action}_before
        • wpgmza_admin_ui_render_{$action}_after
        • wpgmza_admin_ui_render_content_after
        • wpgmza_check_map_editor_backwards_compat
        • wpgmza_admin_ui_render_content_before
        • wpgmza_admin_ui_render_{$pageSlugged}_before
        • wpgmza_admin_ui_render_{$pageSlugged}_after
        • wpgmza_admin_ui_render_content_after
        • wpgmza_country_select_created
        • wpgmza_require_feature_classes
        • wpgmza_installer_page_created
        • wpgmza_installer_page_on_post
        • wpgmza_map_list_page_created
        • wpgmza_xml_cache_saved
        • wpgmza_page_dom_add_form_nonces
        • wpgmza_plugin_core_on_activate
        • wpgmza_plugin_core_on_deactivate
        • wpgmza_plugin_core_on_init
        • wpgmza_plugin_core_on_first_run
        • wpgmza_plugin_load_scripts
        • wpgmza_plugin_core_update_all_xml_files
        • wpgmza_settings_danger_zone_before_delete
        • wpgmza_settings_danger_zone_after_delete
        • wpgmza_register_rest_api_routes
        • wpgmza_rest_api_init
        • wpgmza_script_loader_enqueue_styles
        • wpgmza_enqueue_scripts
        • wpgmza_script_loader_enqueue_scripts
        • wpgmza_script_loader_localize_data_complete
        • wpgmza_script_loader_enqueue_custom_js
        • wpgmza_script_loader_enqueue_custom_css
        • wpgmza_script_loader_enqueue_codemirror
        • wpgmza_script_loader_enqueue_writersblock
        • wpgmza_global_settings_page_created
        • wpgmza_shortcodes_registered
        • wpgmza_shortcode_before_output
        • wpgmza_base_upgrade_hook
        • wpgmza_map_edit_page_created
        • wpgmza_styling_page_created

Archived: Legacy (V9)

39
  • First-time users (Legacy)
    • Creating your first map (Legacy)
    • Creating your first marker (Legacy)
    • Displaying your Map on your WordPress site (Legacy)
  • Map Features (Legacy)
    • Store Locator (Legacy)
    • Shortcodes (Legacy)
    • Setting your Map type (Legacy)
    • Using GET variables to Control your Map (Legacy)
    • Using your map in a widget (Legacy)
    • Markers (Legacy)
      • Editing a Marker (Legacy)
      • Sticky Markers (Legacy)
      • Marker Gallery (Legacy)
      • Enabling distance features (Legacy)
      • Marker Filtering (Legacy)
      • Embedding iframes in your markers (Legacy)
      • Adding video to your Marker (Legacy)
      • Customizing your info Window (Legacy)
      • Marker Listing (Legacy)
      • Using Custom marker Icons on your map (Legacy)
      • Adding Custom fields to your Marker (Legacy)
      • Fine-tuning a Marker’s position (Legacy)
    • Drawing Tools (Legacy)
      • Adding a Polygon (Legacy)
      • Adding a Polyline (Legacy)
      • Adding a Circle (Legacy)
      • Adding a Rectangle (Legacy)
      • Adding a Heatmap (Legacy)
    • Themes (Legacy)
      • Creating a Custom Map Theme – Google maps engine (Legacy)
      • Change your Map Theme – Theme Presets (Legacy)
    • Directions (Legacy)
      • Enabling Directions (Legacy)
      • Enabling Directions for OpenLayers (Legacy)
    • User Interface Style (Legacy)
      • User Interface Style (Legacy)
  • Integrations (Legacy)
    • Advanced custom fields (Legacy)
    • Translating the plugin with WPML (Legacy)
    • WooCommerce – Product Location Editor (Legacy)
    • WooCommerce – Checkout Map (Legacy)
  • Importing and Exporting Data (Legacy)
    • Importing Files (Legacy)
    • Exporting Data CSV
    • Exporting Data (JSON)
    • Bulk JPEG Import (Legacy)
    • Using KML and GeoRSS files (Legacy)
View Categories
  • Home
  • Docs
  • Importing and Exporting Data
  • Improving Reliability of Scheduled Imports

Improving Reliability of Scheduled Imports

4 min read

Our scheduled importer is a critical component for maintaining up-to-date information on our site. To ensure this process is consistent and reliable, it’s important to understand the limitations of WordPress’s default scheduling system, WP Cron, and how we can improve it.

Shortcomings of WP Cron #

The WordPress built-in scheduler, WP Cron, is often mistaken for a traditional, server-level cron job, but it functions differently and is a less reliable solution for critical, time-sensitive tasks like our scheduled import.

Our importer uses the default WP Cron system for all scheduling tasks and as a result, if you are experiencing inconsistent scheduling times, this may be a direct result of the limitations with WP Cron.

The Core Problem: Reliance on Traffic #

Unlike a true cron job that runs independently at fixed, server-level times, WP Cron only executes when a visitor loads a page on the website.

This means that on sites that receive low or infrequent visitor traffic, a scheduled task might be set to run at 2:00 AM, but if no one visits the site until 8:00 AM, the task won’t run until that later time. This can cause significant delays in data imports.

For a mission-critical features like our scheduled importer, which requires a guaranteed, precise execution time, this dependency on site visits introduces a level of instability and unpredictability.

This may be alright in situations where strict scheduling is not necessary but if this is something that is important to you, take a look at the section below to dramatically improve reliability.

Improving Reliability #

In order to ensure precise scheduling in WordPress, we need to disable the WP Cron mechanism and replace it with a true server-side cron job. This will still leverage the WP Cron core architecture, however, it moves the timing/scheduling to a truly server side timer.

This server-level cron job will be configured to call the wp-cron.php file at a fixed interval (e.g., every 5 minutes), regardless of whether or not the site has traffic. This ensures our scheduled import runs on time, every time.

Important Note: This is for advanced users, who are familiar with cPanel and hosting tools. Ideally, with some limited experience with cron jobs. If you are unsure about this process, please reach out to us for guidance.

Step 1: Disable WP Cron #

First, we must prevent WordPress from running its internal cron based on site activity.

  1. Using a tool like File Manager (cPanel), or FTP access to edit the file directly, Locate the file named: wp-config.php, and edit it with a file editor of your choice.
  2. Find the following section within the file:
/* That's all, stop editing! Happy blogging. */
  1. Change this section as seen below:
define( 'DISABLE_WP_CRON', true ); /* That's all, stop editing! Happy blogging. */
  1. Save the file
    • What this does: Setting the constant to true, tells WordPress core not to automatically execute wp-cron.php – This will allow us to schedule this file as a normal cron job instead.

Step 2: Set up the Server-Side Cron Job #

Next, we establish the true cron job on the web server (via cPanel) to call the wp-cron.php file at a guaranteed, regular interval.

The steps vary slightly by hosting provider, but the core task is the same: add a command to the server’s crontab. We will aim for an execution frequency of every 5 minutes to ensure prompt task execution without excessive server load.

  1. Log in to your hosting control panel (cPanel).
  2. Navigate to the Cron Jobs section, usually under the Advanced section of the cPanel interface.
  3. Click on Add new Cron Job and define it as suggested (5 minutes)
    • Common Settings: Select “Once per five minutes“
    • Or, set the schedule values manually:
      • Minute: */5
      • Hour: *
      • Day: *
      • Month: *
      • Weekday: *
  4. Enter the command to execute and run wp-cron.php as part of this cron job. The most common way to define this is either with wget or via local path: (Pick only one)

Using wget: (Suggested)

wget -q -O - {https://yourdomain.com}/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Using local PHP Path: (Advanced but sometimes preferred)

/usr/bin/php /home/{yourusername}/public_html/wp-cron.php >/dev/null 2>&1
  1. Click Add New Cron Job to save the changes.

This change ensures our critical scheduled importer is executed on a guaranteed, server-side schedule, dramatically improving its reliability and precision.

Updated on October 29, 2025

Was this helpful?

  • Happy
  • Normal
  • Sad
Share Document:
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Using KML and GeoRSS files
Table of Contents
  • Shortcomings of WP Cron
    • The Core Problem: Reliance on Traffic
  • Improving Reliability
    • Step 1: Disable WP Cron
    • Step 2: Set up the Server-Side Cron Job
Documentation by WP Go Maps