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 → DailyChoose 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_cronReplace 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>&1To trigger WordPress cron every 5 minutes:
*/5 * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1Example Using wget
If your server uses wget:
wget -q -O - "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1Every 5 minutes:
*/5 * * * * wget -q -O - "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1Plesk 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_cronDepending 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>&1Set 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>&1or:
curl -s "https://example.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1Configure 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 Schedule | Recommended Cron Trigger |
|---|---|
| Every 5 minutes | Every 5 minutes |
| Every 15 minutes | Every 5–15 minutes |
| Every 30 minutes | Every 15–30 minutes |
| Hourly | Every 15–60 minutes |
| Every 6 hours | Hourly is sufficient |
| Daily | Hourly 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 hoursYou 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>&1Every 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:
- The feed has been saved with an automatic schedule rather than
Manual. - WP-Cron is enabled, or a real server cron has been configured.
- Your server can access
wp-cron.php. - WooCommerce is active.
- The website is not blocking loopback or scheduled requests.
- The previous feed generation is not failing because of a configuration or storage error.
- Use Deviking Feeds → Tools → Rebuild Schedules if scheduled events need to be recreated.
- 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 scheduleThis keeps the Product Feeds scheduler unchanged while giving WordPress a predictable trigger for scheduled tasks.