The WordPress plugin for Cloudflare R2

Synkivo connects Cloudflare R2 to WordPress. Browse files, stream media, accept uploads, and manage your Cloudflare R2 buckets directly from WordPress. No file syncing, no duplicate storage, and no limitations on how you use your content.

Built for media libraries, download portals, client areas, and high-traffic websites.

Synkivo WordPress plugin showing AWS S3 bucket file browser inside WordPress admin

Use Cloudflare R2 as your WordPress storage layer

Manage files in Cloudflare R2 while keeping WordPress as the front end for your visitors.

Synkivo connects WordPress directly to your Cloudflare R2 buckets. Once connected, you can display files, create galleries, stream audio and video, accept uploads, and build secure document portals using content that already lives in R2.

Unlike traditional media workflows, Synkivo does not require a separate sync process. Files remain in your R2 bucket and are retrieved when visitors access them. Changes made in R2 become available immediately on your website.

This approach keeps your WordPress hosting environment lean while allowing storage to scale independently. Whether you manage a few gigabytes or millions of files, WordPress remains focused on delivering the user experience while R2 handles the storage.

Because Cloudflare R2 uses an S3-compatible API, setup is simple and familiar for anyone already working with cloud object storage.

What you can do with Cloudflare R2 on WordPress

Every Synkivo capability works on R2 the same way it does on any S3-compatible storage. These are the patterns R2 customers use most.

Browse files

Display an interactive file browser that lets visitors navigate, preview, and download content stored in R2.

Stream audio and video

Create media experiences that play directly from files stored in your R2 buckets.

Build image galleries

Convert folders in R2 into responsive galleries, masonry layouts, sliders, and portfolios

Accept uploads

Allow users to upload files directly to R2 from your WordPress site.

Create secure client portals

Control access with user permissions, personal folders, and protected downloads.

Deliver large downloads

Software releases, design assets, document packs, datasets. Visitors download directly from R2 through Cloudflare's network.

Three steps to connect Cloudflare R2 to WordPress

Four steps. No file copying. No syncing.

Synkivo uses Cloudflare’s S3-compatible R2 API. Existing S3 workflows and tools continue to work; the difference is what happens on the bandwidth side of the bill.

1.

Connect your cloud

Enter your R2 bucket name, Cloudflare Account ID, Access Key ID, and Secret Access Key. Synkivo fills in the region and endpoint automatically.Adding a cloud storage account in Synkivo's WordPress admin panel
1.

2.

Pick a module

Choose from 8 display types: file browser, gallery, upload box, player, and more.

Creating a new module in Synkivo's module manager

2.

3.

Configure visually

Set the source, permissions, appearance, and behavior.  No code needed.

Configuring module settings in Synkivo's visual module configurator

3.

4.

Publish

Drop the module on any page or post. Visitors interact with R2 files directly.Synkivo video player module streaming cloud-hosted video with playlist
4.
The connection token can be scoped to a single bucket and limited to read-only access for serving files, or read-and-write for modules that accept uploads. Tokens are encrypted at rest in your WordPress database.

Cloudflare R2 in the WordPress Media Library

Insert R2 files into pages, posts, products, and any plugin that uses the WordPress media picker. WordPress stays lightweight; R2 handles the storage.

Synkivo adds a Cloudflare R2 tab to the WordPress Media Library dialog. Click “Add Media” in the editor or any plugin using the standard media picker, pick a file from your R2 bucket, and insert it. No download, no re-upload.

When you insert a file, you choose Embed or Import. Embed links to the file in R2 and serves it through Cloudflare’s network on every page load; the file stays in your bucket. Import copies the file once into WordPress uploads; useful when you want a local copy that survives if the R2 connection is unavailable.

Every embedded file gets a permanent WordPress-hosted URL through Synkivo’s Public Assets system. Rename or move the file in R2 later, and the URL stays valid. Revoke access with one click in the Public Assets admin page.

For high-download sites this is the main reason to move to R2: your WordPress hosting bill stops scaling with bandwidth because the bandwidth is no longer happening on your WordPress host. For a broader look at offloading media to cloud storage, see the dedicated WordPress Media Library cloud storage page.

WordPress Media Library with Synkivo tab showing cloud file browser
WordPress Media Library dialog with the Synkivo tab open, showing a R2 bucket folder browser and a selected image with embed and import options

Embed vs Import

Embed (recommended)Import
Where the file livesCloudflare R2WordPress uploads folder
Local disk usageNoneFull file size on your WP server
Bandwidth pathThrough Cloudflare’s network from R2Through your WordPress host
Best forAny file you manage in R2Files you want guaranteed locally

Everything you need
to share files
on your site.

Each module is visually configured — no code required. Place it anywhere with a shortcode, Gutenberg block, or page builder widget.

Every Synkivo module works with Cloudflare R2

Pick the module that fits your page. The same R2 connection powers all of them.

File Browser

Browse and display Cloudflare R2 buckets inside WordPress pages

Gallery

Render images stored in Cloudflare R2 as responsive galleries

Audio Player

Play audio files directly from Cloudflare R2. Playlists, single tracks, custom themes.

Video Player

Stream video files from Cloudflare R2 using signed URLs

Upload Box

Allow users to upload files directly into Cloudflare R2

Carousel

Show images stored in Cloudflare R2 in a horizontal slider with autoplay options.

List and Buttons

Create structured download lists from Cloudflare R2 objects and add direct download buttons.

Secure by default

Your R2 credentials never leave your WordPress server.

Visitors only see what you let them see.

R2 API tokens are encrypted at rest in your WordPress database. Module-level permissions decide who can browse, upload, download, or share. Visitors are scoped strictly to the bucket and prefix you configure for each module.
Encrypted credentials

Your R2 Access Key and Secret are encrypted in the WordPress database. Account details do not appear in the page source.

Role-based actions

Configure per module what each WordPress role can do: browse, download, upload, delete, rename, move.

Personal folders

Link individual WordPress users to specific R2 prefixes. See the personal folders feature for details.

Scope enforcement

Visitors cannot browse outside the configured bucket and prefix. Every request validates against the module scope.

Signed URLs

Files are served through signed, expiring URLs. The R2 location is not exposed to visitors.

Proxy downloads

Optionally serve files through your WordPress server instead of the R2 URL, hiding the storage location entirely.

For the full security model, see the security features page.

Where Cloudflare R2 fits into WordPress

Real WordPress setups where Synkivo replaces traditional media hosting and file workflows.

Download libraries for software or digital products

You sell or distribute files through WordPress and need reliable delivery for installers, PDFs, updates, or datasets. Synkivo lets you manage all files in R2 while WordPress handles the download experience and access control.

Video or course platforms

You run a membership site or online course platform where video streaming drives most of your traffic. Synkivo streams media directly from R2 without loading your WordPress hosting.

Client portals and private file sharing

Agencies, consultants, or B2B services that need to share documents per client. With personal folders and role-based access, each user only sees their own files stored in R2.

Media-heavy WordPress sites

Blogs, magazines, or portfolios with large image libraries. Synkivo offloads media delivery to R2 while keeping WordPress focused on content and layout.

Connect Cloudflare R2 to WordPress today

Connect your R2 buckets, publish content, and manage everything from WordPress with Synkivo.

Why Cloudflare R2?

Cloudflare R2 combines scalable object storage with a pricing model designed for modern web applications. It offers the compatibility of the S3 ecosystem while integrating directly with Cloudflare’s global platform.

For WordPress site owners, R2 is particularly attractive when serving large files, media libraries, downloads, or other content that generates significant traffic. Instead of relying on local server storage, files can be stored in R2 and accessed directly through Synkivo.

Designed for bandwidth-heavy workloads.

A strong option for websites that distribute large files, videos, downloads, and media assets.

Global Cloudflare infrastructure

Content is delivered through Cloudflare's worldwide network.

S3-compatible API

Works with existing tools, workflows, and integrations built around the S3 standard.

Part of the Cloudflare ecosystem

Integrates naturally with Cloudflare services such as CDN, DNS, Workers, and Pages.

Common Questions Answered

The Cloudflare R2-specific questions we hear most often.

Synkivo authenticates to R2 using an R2 API token (Access Key ID and Secret Access Key) plus your Cloudflare Account ID. Tokens are generated in the Cloudflare dashboard and can be scoped to specific buckets and to read-only or read-and-write permissions. All credentials are encrypted at rest in your WordPress database.

Files stay in R2. Synkivo does not copy, mirror, or sync files to your WordPress server in the default Embed mode. When a visitor downloads or previews a file, Synkivo retrieves it from R2 in real time. Only files explicitly imported through the Media Library Import option are copied to WordPress uploads.

Zero egress applies when files are delivered through Cloudflare's network. Synkivo can deliver R2 files in two ways: through signed R2 URLs that use the `r2.cloudflarestorage.com` endpoint, or through a custom domain you set up on Cloudflare's CDN.

Yes. Synkivo adds a Cloudflare R2 tab to the Media Library dialog. You can insert R2 files into posts, pages, products, ACF fields, Gutenberg blocks, and any plugin that uses the standard media picker. This is how most high-traffic WordPress sites offload media to R2 without breaking the editor workflow.

Yes, with Personal Folders (Pro plan and above). Link each WordPress user to one or more R2 bucket prefixes; when a user visits a page with a Synkivo module, they see only the folders linked to their account. Business plan adds Dynamic Folders that create per-user folders automatically. See personal folders.

R2 supports multipart uploads with object sizes up to 5 TB. Synkivo handles chunked uploads automatically. The practical upload limit depends on your WordPress server's PHP and web server configuration. For very large files, enable direct browser uploads in the Synkivo R2 connection (requires CORS configuration in the R2 dashboard) so uploads bypass the WordPress server entirely.
You need a Cloudflare account with R2 enabled. R2 has a free tier and a paid usage-based model handled by Cloudflare. Synkivo licensing is separate from Cloudflare billing. For current R2 pricing and free tier limits, see Cloudflare's R2 documentation.
If your question is not listed, please contact us!