CTX Feed can rebuild your feeds automatically so the file each channel downloads always reflects your current catalog — prices, stock, new products. When that stops happening, your ads drift out of date and channels start flagging mismatches. Almost every “auto update not working” report comes down to one thing: WordPress’s built-in scheduler (WP-Cron) isn’t firing reliably. This guide walks through checking your feed’s schedule settings and setting up a dependable cron so updates run on time.
How auto-update works in CTX Feed
Two settings drive automatic updates:
- Auto Update — a per-feed toggle in the Manage Feeds list. When it’s on, CTX Feed schedules the feed to regenerate on its interval; when it’s off, the feed shows Manual in the Schedule column and rebuilds only when you click Regenerate.
- Update interval — set on the Make Feed screen under Feed settings. Options are Every 1 Hour, Every 6 Hours, Every 12 Hours, Every 24 Hours, and Every Week (new feeds default to Every 24 Hours); CTX Feed Pro adds every 5, 15, 30 and 45 minutes.
The schedule is anchored to the moment Auto Update is switched on (plus a few minutes’ spread so feeds don’t all start at once) — switch it on at the hour you want the feed to run, and it keeps roughly that hour. Saving the feed with the same interval does not move the schedule; changing the interval starts a new one.
When an interval elapses, WordPress fires a scheduled event, and CTX Feed regenerates the feed in the background (in batches, so large catalogs don’t time out). The catch: WordPress only checks its schedule when someone visits your site. On a quiet store, hours can pass with no visitor, so the scheduled run is late or skipped — and that is what “auto update not working” almost always means.
Step 1 — Confirm the feed is actually scheduled
- Open CTX Feed → Manage Feeds.
- Find the feed and check its Auto Update toggle is on. If it’s off, the feed never auto-updates by design.
- Check the Schedule column shows an interval in short form (for example 6h) and not Manual.
- Look at the Last Generated column. If it keeps drifting past the interval, scheduled runs are being missed — a strong sign of a cron problem (continue below). If the row shows Failed, the last run hit an error and your previous file was kept; read the log (⋮ → Download Log) for the reason.
Step 2 — Confirm the interval and save
- Click the feed name to open it in Make Feed.
- In Feed settings, confirm the Update interval is what you expect.
- Click Save & generate. A manual generation confirms the feed itself builds correctly (if it fails here, the problem is the feed, not cron). Saving with the same interval does not reset the schedule; if you want the feed to run at a different hour, switch Auto Update off and back on at that hour.
Step 3 — Test whether WP-Cron is firing
The quickest test: note the Last Generated time, then visit several pages of your storefront (or wait for real traffic) past the interval, and check whether it updates. If a well-trafficked site still doesn’t refresh, or your site is low-traffic, move to Step 4 — a real cron.
Step 4 — Set up a reliable server cron (recommended)
The permanent fix is to stop relying on visitor-triggered pseudo-cron and have your server call WordPress’s scheduler on a fixed clock. There are two parts:
- Disable WP’s pseudo-cron so it doesn’t run on page loads. In
wp-config.php, add:
define( 'DISABLE_WP_CRON', true );
- Add a real cron job that hits
wp-cron.phpon a schedule. A typical server crontab entry that runs every 5 minutes:
*/5 * * * * wget -q -O - https://your-store.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Many hosts also offer a “Cron Jobs” panel (cPanel, Plesk) where you can add the same command without editing files. Run the cron more often than your shortest feed interval — every 5 minutes covers every interval, including Pro’s 5-minute option.
For the full, step-by-step version of this setup, see How to Set Up Cron for Automatic Feed Updates.
Step 5 — Submit the feed to channels by URL
Make sure each channel pulls your feed by its URL on a scheduled fetch, not from a one-time uploaded file. Copy the URL from the Feed URL column in Manage Feeds and paste it into the channel’s scheduled-feed setting. Then, even if a run is a little late, the channel fetches the freshest file CTX Feed has generated.
Troubleshooting
- A red “Not scheduled” badge in the Schedule column. Auto Update is on but no next run is registered. CTX Feed re-registers missing schedules on its own; if the badge stays, re-save the feed.
- Feeds only finish while the admin is open. When cron isn’t running, an open CTX Feed admin page drives the generation batches itself, so feeds progress while you watch but stall when nobody is logged in. Set up a real cron (Step 4).
- Last Generated keeps falling behind. Runs are being missed. Click Regenerate to refresh the file now, then set up a real cron (Step 4) so it doesn’t recur.
- The feed shows Failed. The last run hit an error; your previous file was kept and channels still receive it. The log names the cause — fix it and regenerate.
- Nothing updates even after real traffic. A security plugin, a caching layer, or a host restriction may be blocking
wp-cron.php. Set up a server cron and disable pseudo-cron (Step 4). - Some feeds update but others don’t. Confirm each feed’s Auto Update is on and it has an interval — the schedule is per feed.
- Products look out of date even after a run. Cached product data may be stale. Use Clear Cache on Manage Feeds, then Regenerate.
- Generation starts but never finishes. See How to Solve the “Processing 10%” Feed Generation Stuck Error.
Related guides
- How to Set Up Cron for Automatic Feed Updates
- How to Solve the Feed Generation Stuck Error
- How to Increase Your PHP Memory Limit and Execution Time
- Manage Feeds
