Knowledge Base
Deviking Product feeds Pro

Automatic Feed Updates

Deviking Product Feeds Pro can regenerate product feeds automatically according to the schedule selected for each feed.

Automatic generation is handled through the WordPress scheduling system (WP-Cron). For most websites, no additional configuration is required. However, stores that need more reliable timing can replace the default WordPress cron trigger with a real server-side scheduled task.

WordPress WP-Cron is request-driven, so scheduled events are normally checked when the website receives a request. This means a low-traffic website may run a scheduled task later than its exact scheduled time.

Available Feed Schedules

Each feed can use one of the available update intervals:

  • Manual
  • Every 5 minutes
  • Every 15 minutes
  • Every 30 minutes
  • Hourly
  • Every 6 hours
  • Every 12 hours
  • Daily
  • Weekly

The schedule is configured independently for each feed.

For example, you could use:

 
Inventory Feed     → Every 30 minutes
Marketplace Feed   → Every 6 hours
Archive Feed       → Daily
 

Choose an interval based on how often the underlying WooCommerce information changes.

For stores with frequent stock or price changes, shorter intervals can be useful. Large catalogs may benefit from longer intervals to reduce unnecessary server load.


Option 1: Use the Default WordPress Cron

This is the easiest configuration and works well for most active websites.

Make sure WordPress cron has not been disabled in wp-config.php.

If your configuration contains:

 
define( 'DISABLE_WP_CRON', true );
 

WordPress will not automatically trigger scheduled events through normal page requests.

If you want to use the default WordPress cron system, remove that line or change it to:

 
define( 'DISABLE_WP_CRON', false );
 

Then configure the required interval in the Product Feeds editor and save the feed.

Deviking Product Feeds will register the generation event with WordPress automatically.


When Should You Use a Real Server Cron?

The standard WordPress cron system is generally sufficient when the site receives regular traffic.

A real server cron is preferable when:

  • the website has low or irregular traffic;
  • feeds must update close to their scheduled time;
  • you use 5-, 15- or 30-minute feed intervals;
  • the catalog is business-critical;
  • the store runs on a VPS or dedicated server;
  • WordPress cron has intentionally been disabled for performance reasons.

A server cron does not replace the Product Feeds scheduling system.

It simply ensures that WordPress checks its scheduled events regularly.


Option 2: Use a Server-Side Cron Job

When using a real server cron, first disable WordPress’s request-based cron execution.

Add this to wp-config.php:

 
define( 'DISABLE_WP_CRON', true );
 

Then configure your server to request:

 
https://example.com/wp-cron.php?doing_wp_cron
 

Replace example.com with your own domain.


Example Using cURL

A typical cron command is:

 
curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
 

To trigger WordPress cron every 5 minutes:

 
*/5 * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
 

Example Using wget

If your server uses wget:

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

Every 5 minutes:

 
*/5 * * * * wget -q -O - "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
 

Plesk Configuration

If your hosting uses Plesk, you can create the task from:

Websites & Domains → Scheduled Tasks

Create a scheduled task that runs regularly and calls:

 
https://example.com/wp-cron.php?doing_wp_cron
 

Depending on the server configuration, you can use either curl or wget.

For example:

 
curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
 

Set the schedule according to the shortest feed interval you use.

For example, if your fastest Product Feeds schedule is Every 5 minutes, the server cron should also run approximately every 5 minutes.


cPanel Configuration

On hosting environments using cPanel, open:

Cron Jobs

Create a new task and enter a command such as:

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

or:

 
curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
 

Configure the frequency according to your Product Feeds schedules.


Recommended Cron Frequency

Your server cron should run at least as frequently as the shortest feed schedule configured on the site.

For example:

Shortest Feed ScheduleRecommended Cron Trigger
Every 5 minutesEvery 5 minutes
Every 15 minutesEvery 5–15 minutes
Every 30 minutesEvery 15–30 minutes
HourlyEvery 15–60 minutes
Every 6 hoursHourly is sufficient
DailyHourly is sufficient

Running wp-cron.php more frequently does not regenerate every feed every time.

WordPress only executes events whose scheduled time has arrived.


Example

Suppose you have two feeds:

 
google-products.xml → Every 30 minutes
catalog.xml         → Every 6 hours
 

You could configure your server cron to run every 5 minutes:

 
*/5 * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
 

Every five minutes WordPress checks its queue.

The 30-minute feed runs only when its 30-minute event is due, while the second feed runs only when its 6-hour event becomes due.


Rebuilding Feed Schedules

If automatic generation stops after a migration, plugin update or cron configuration change, Deviking Product Feeds includes a schedule repair tool.

Go to:

Deviking Feeds → Tools

and use:

Rebuild Schedules

This recreates the scheduled feed events from the current saved feed configurations.

It does not change your feed mappings or other feed settings.


Important Notes for Short Update Intervals

Generating a product feed can require significant CPU, database and disk activity, especially on stores with thousands of products.

Before using very short schedules such as:

  • Every 5 minutes
  • Every 15 minutes

consider:

  • catalog size;
  • number of feeds;
  • number of variations;
  • server resources;
  • generation duration.

For example, there is little benefit in scheduling a feed every 5 minutes if that feed itself requires several minutes to generate.

For large stores, a 30-minute, hourly or longer interval may be more appropriate.


Troubleshooting Automatic Feed Generation

If a feed is not updating automatically, check the following:

  1. The feed has been saved with an automatic schedule rather than Manual.
  2. WP-Cron is enabled, or a real server cron has been configured.
  3. Your server can access wp-cron.php.
  4. WooCommerce is active.
  5. The website is not blocking loopback or scheduled requests.
  6. The previous feed generation is not failing because of a configuration or storage error.
  7. Use Deviking Feeds → Tools → Rebuild Schedules if scheduled events need to be recreated.
  8. Review Deviking Feeds → Logs for generation errors.

Which Method Should I Use?

For a normal store with regular visitors:

Default WordPress WP-Cron is usually sufficient.

For a production store where feed timing matters:

A real server cron is recommended.

A reliable configuration is:

 
DISABLE_WP_CRON = true
Server cron      = every 5 minutes
Product Feeds    = each feed keeps its own selected schedule
 

This keeps the Product Feeds scheduler unchanged while giving WordPress a predictable trigger for scheduled tasks.