Table of Contents
Imports, downloads and token renewals run on WP-Cron, the scheduler built into WordPress. WP-Cron runs when someone visits the site; on a quiet site scheduled jobs wait for the next visitor, and background jobs that the site triggers by calling itself need the host to allow such loopback requests. The first preview of a new source in the block editor is the exception: the editor fetches that source itself.
What the plugin schedules
| Job | Interval |
|---|---|
| Sync of the feeds galleries showed in the last 30 days | Every 2 hours, five feeds per run, the rest a minute later |
| Refresh of one stale feed: an account’s own feed or an Unsplash source, shown in the last 30 days | Every 5 minutes (a feed is stale after 3 hours, RSS after 1 hour) |
| Sync of one feed | Once, right away, after you save a new or changed account, and when a page shows a source that was never synced or not shown for 30 days |
| Creation of imported items and download of their media | Background jobs, checked every minute while there is work |
| Instagram token renewal | Daily |
| Twitch token renewal | Hourly |
| Legacy cache migration (after upgrading to 3.5.0) | Every 2 minutes until done. A failed batch is tried again an hour later, then two hours after that, and the migration stops after the third failure |
A feed counts as shown when WordPress builds a page or an editor preview with its gallery. A page served from a page cache does not count. A feed that no gallery showed for 30 days stops syncing until a page with its gallery is viewed again. See How social feeds work.
Install WP Crontrol to see these jobs and run one by hand; the hooks start with vpf_social_ and vpf_pro_.
Use a real cron
For feeds that update on time:
Step 1. Add to wp-config.php, above “That’s all, stop editing”:
define( 'DISABLE_WP_CRON', true );
Step 2. In your hosting panel, add a cron job every 5 minutes:
wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Without server access, a service such as cron-job.org can call that URL.
Keep loopback requests allowed: WordPress → Tools → Site Health reports “Your site could not complete a loopback request” when they are blocked, and imports will then stay queued.