Skip to content

Video Synchronization

Vimeify automatically keeps your videos synchronized between Vimeo and WordPress using Action Scheduler for reliable background processing.

Sync Types

Vimeify runs two types of automatic synchronization:

Metadata Sync

Updates video information from Vimeo to WordPress.

Frequency: Every 10 minutes

What it syncs:

  • Video title
  • Video description
  • Duration
  • Dimensions (width/height)
  • Upload date
  • Embed link
  • Thumbnail images
  • Playability status

How it works:

  1. Fetches 100 videos per page from Vimeo API
  2. Updates existing videos or creates new ones (based on settings)
  3. Saves progress after each page
  4. Resumes from last page on next run
  5. Resets to page 1 when complete

Status Sync

Checks if videos still exist on Vimeo and removes deleted ones.

Frequency: Every 20 minutes

What it does:

  • Checks each local video against Vimeo API
  • Deletes videos that return 404 from Vimeo
  • Preserves videos that still exist

How it works:

  1. Loads all local videos
  2. Checks one video at a time (1 API call per video)
  3. Saves position after each check
  4. Respects API quota limits
  5. Resets to start when complete

Sync Settings

Configure sync behavior in Vimeify → Settings → Sync Settings.

Sync Behavior

Choose how automatic sync handles videos:

Update Existing Videos Only (Default)

Only syncs metadata for videos already in WordPress.

Use when:

  • You manually upload videos through WordPress
  • You want control over which videos appear
  • You have limited API quota

Sync All Videos from Vimeo

Creates new video posts for all videos in your Vimeo account.

Use when:

  • You upload videos directly to Vimeo
  • You want all Vimeo videos in WordPress
  • You're migrating from another system

WARNING

This mode will create posts for ALL videos in your Vimeo account, including private videos if your access token has permission.

Monitoring Sync Status

Via WordPress Admin

View scheduled sync tasks by clicking View Sync Status & Scheduled Tasks in Sync Settings.

This shows Action Scheduler interface with:

  • Next run time for each sync
  • Execution history
  • Any failed tasks
  • Detailed logs

Via WP-CLI

Check sync status from command line:

bash
wp vimeify sync info

Output example:

=== Vimeify Sync Status ===

Scheduled Actions:
  - Metadata Sync (every 10 minutes): in 3 minutes
  - Status Sync (every 20 minutes): in 15 minutes

Metadata Sync State:
  - Page: 2 / 5 (40%)
  - API calls remaining: 842

Status Sync State:
  - Position: 150 / 500 (30%)
  - Last synced: 5 minutes ago

Sync Behavior:
  - Mode: Update existing videos only

Manual Sync

Via WP-CLI

Trigger sync manually when needed:

bash
# Sync metadata
wp vimeify sync metadata

# Check for deleted videos
wp vimeify sync status

# Run both
wp vimeify sync all

# Reset and start fresh
wp vimeify sync all --fresh

See CLI Commands for complete reference.

Force Full Resync

To completely resync all videos:

  1. Via CLI (recommended):
bash
wp vimeify sync all --fresh
  1. Via Admin:
    • Go to Tools → Scheduled Actions
    • Search for "vimeify"
    • Cancel pending actions
    • Sync will restart on next scheduled run

Troubleshooting

Sync Not Running

Check Action Scheduler:

bash
wp action-scheduler run --hooks=vimeify_action_metadata_sync

Verify cron is working:

bash
wp cron event list | grep vimeify

Sync Stuck

Reset sync state:

bash
# Reset metadata sync
wp vimeify sync metadata --fresh

# Reset status sync
wp vimeify sync status --fresh

API Quota Exceeded

If you hit rate limits:

  1. Wait 1 hour for quota to reset
  2. Sync will automatically resume
  3. Consider upgrading Vimeo plan for higher limits

Check current quota:

bash
wp vimeify sync info

Videos Not Syncing

Check sync behavior setting:

  • Existing only: Won't create new videos
  • Sync all: Will create videos for everything on Vimeo

Verify API permissions:

  • Access token needs public and private scopes
  • Check in Vimeo developer portal

Post Dates Incorrect

Vimeify automatically syncs post dates with Vimeo upload dates. If dates are wrong:

  1. Run metadata sync to update:
bash
wp vimeify sync metadata
  1. Post dates will match Vimeo's created_time

Technical Details

Action Scheduler vs WP Cron

Vimeify uses Action Scheduler instead of WordPress cron for reliability:

FeatureAction SchedulerWP Cron
ReliabilityHighDepends on traffic
RecoveryAutomatic retryCan miss executions
MonitoringBuilt-in UILimited
LoggingDetailedBasic
ConcurrentManagedCan conflict

Sync State Storage

Sync progress is stored in WordPress options:

  • vimeify_last_metadata_sync - Current page, total pages, API calls
  • vimeify_last_status_sync - Current position, video list, last run

These ensure sync can resume after:

  • Server restarts
  • Plugin updates
  • Temporary failures

Background Processing

All sync operations run in the background:

  1. Action Scheduler queues tasks
  2. Tasks execute on schedule (not on page load)
  3. Progress is saved incrementally
  4. WordPress remains responsive
  5. Users aren't affected

Best Practices

For Small Sites (< 100 videos)

  • Use default settings
  • Both sync types will complete quickly
  • Manual sync rarely needed

For Medium Sites (100-1000 videos)

  • Monitor sync progress occasionally
  • Use CLI for bulk operations
  • Consider "existing only" mode if you control uploads

For Large Sites (1000+ videos)

  • Use "existing only" mode unless needed
  • Monitor API quota usage
  • Use WP-CLI for maintenance
  • Consider Vimeo Pro for higher API limits
  • Schedule manual syncs during low-traffic periods

Best Sync Schedule

Default schedule is optimized for most sites:

  • Metadata: Every 10 minutes (fast, efficient)
  • Status: Every 20 minutes (slower, more API calls)
  • Cleanup: Every hour (removes temp files)

TIP

Don't change sync intervals unless you have specific needs. The defaults balance freshness with API quota usage.

Released under the GPL-2.0 License.