Images Sync for Cloudflare
Images Sync for Cloudflare automatically uploads your WordPress images to Cloudflare Images and stores optimized delivery URLs directly in post meta. Perfect for headless setups, JAMstack sites, or anyone who wants fast, globally-distributed images without changing their workflow.
Why Use This Plugin?
Headless frontends need stable, cacheable CDN URLs. This plugin makes WordPress the source of truth while Cloudflare Images handles delivery and optimization. No custom resolvers needed — just query the meta field.
Features
- Flexible Mappings — Map any image source (Featured Image, ACF fields, post meta) to Cloudflare Images with customizable delivery URL storage
- Preset System — Define reusable presets for OG images, thumbnails, heroes, squares — consistent URLs across your site
- Preview Studio — Visually test how images look with different presets before going live
- Auto-Sync — Images sync automatically on post save, or bulk-process existing content via Action Scheduler
- Flexible Variants — Smart detection prevents broken images and 9429 errors
- Headless-Ready — URLs stored in post meta, perfect for GraphQL/REST API consumption
- WP-CLI Support —
wp cfimg synccommands for scripted workflows - Secure Storage — API token encrypted with libsodium (AES-256 fallback)
- No Lock-in — Your images stay in WordPress Media Library; Cloudflare URLs are plain meta values
Security
Your Cloudflare API token is encrypted at rest using modern cryptography (libsodium or AES-256-CBC with HMAC). The token is never stored in plain text and is only decrypted when making API requests.
Requirements
- Cloudflare account with Cloudflare Images subscription
- API Token with “Cloudflare Images: Edit” permission
External services
This plugin optionally connects to external Cloudflare services to upload, manage, and deliver images. No connection is made until the user configures API credentials and explicitly triggers a sync, test, or preview action.
Cloudflare Images API
This plugin sends requests to the Cloudflare API (api.cloudflare.com).
Data sent to Cloudflare (only when the user configures credentials and triggers actions):
- API token — for authentication (sent as a Bearer token header, never logged or stored in plain text)
- Image files — binary content of WordPress media attachments
- Image metadata — WordPress attachment ID and a purpose label (e.g. “preview”)
-
Configuration updates — Flexible Variants enable/disable flag
- Cloudflare Privacy Policy
- Cloudflare API Documentation
Cloudflare Image Delivery
Delivery URLs use the Cloudflare Image Delivery CDN (imagedelivery.net). These URLs are stored in post meta and served directly to site visitors by their browsers. The plugin itself makes one request to this service to detect Flexible Variants support (canary check).
No visitor data, IP addresses, cookies, or personal information is ever sent to Cloudflare by this plugin.
Privacy Policy
This plugin does not collect, store, or transmit any personal user data. Only image files and technical metadata (attachment IDs, image hashes) are sent to Cloudflare.
