CRON

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

JobInterval
Sync of the feeds galleries showed in the last 30 daysEvery 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 daysEvery 5 minutes (a feed is stale after 3 hours, RSS after 1 hour)
Sync of one feedOnce, 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 mediaBackground jobs, checked every minute while there is work
Instagram token renewalDaily
Twitch token renewalHourly
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.

Was this page helpful?