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.
What the plugin schedules
| Job | Interval |
|---|---|
| Sync of all accounts | Every 2 hours, five accounts per run |
| Refresh of one stale account | Every 5 minutes (an account is stale after 3 hours, RSS after 1 hour) |
| 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 |
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.