Beschreibung
Kybern S3 Storage can keep regular WordPress Media Library files local while offloading attachments matched by configured Fluent Forms routing rules. It can also use one FileBird folder as the local exception: attachments assigned to any other FileBird folder are queued for S3 offload, while unfiled uploads remain local until an editor assigns a folder. Offloaded attachment URLs remain usable from WordPress, and the plugin can restore them back into local uploads later if you need a fallback.
It also adds optional Fluent Forms, FileBird, and protected PDF upload workflows:
- Route selected Fluent Forms IDs into custom upload subdirectories such as
documents. - Offload only those routed uploads into your S3 root prefix.
- Assign matching Media Library attachments into a chosen FileBird folder.
- Auto-create FileBird folders by name when a rule does not specify a folder ID.
- Generate signed URLs for private buckets.
- Preserve old
/wp-content/uploads/...links for offloaded private files by redirecting them through signed S3 URLs. - Use CloudFront-compatible public delivery URLs for public buckets.
- Queue migration batches in WordPress cron instead of one browser request.
- Restore offloaded Media Library files from S3 back into local WordPress uploads with one recovery action.
- Retry failed migration items without rerunning the whole library.
- Export and import plugin settings as JSON.
- Test your S3 credentials and permissions before migrating.
The plugin adds a settings page where you can configure:
- Bucket name
- Region
- Optional custom endpoint
- Optional public base URL or CDN URL
- Optional CloudFront base URL
- Root S3 prefix such as
example.com/media-library - Whether local copies of routed uploads should be deleted after successful upload
- A Local FileBird Folder ID that keeps one folder on the server while all other assigned FileBird folders offload to S3
- Whether S3 offload is limited to Form Routing Rules when no Local FileBird Folder ID is configured
- Whether private-bucket signed URLs should be used
- Per-form Fluent Forms routing rules
- Which FileBird folder should receive matching uploads, by ID or by auto-created folder name
External services
This plugin connects to an S3-compatible object storage service that you configure, such as Amazon S3 or another provider with an S3-compatible API.
It sends:
- Uploaded file contents when offloading Media Library items or workflow-specific uploads
- File names, MIME types, and object keys derived from your WordPress upload paths
- Request metadata required by the S3 API, including bucket name, region, endpoint path, and AWS Signature V4 authorization headers generated from your configured credentials
This happens only when you:
- Run the S3 connection test
- Offload new or existing files to your configured bucket
- Delete remote objects during cleanup
- Recover an offloaded file back into local WordPress uploads
Service providers may include:
- Amazon S3: https://aws.amazon.com/s3/
- Any S3-compatible endpoint you configure yourself
If you use Amazon S3, review:
- AWS Customer Agreement: https://aws.amazon.com/agreement/
- AWS Service Terms: https://aws.amazon.com/service-terms/
- AWS Privacy Notice: https://aws.amazon.com/privacy/
If you use another S3-compatible provider, review that provider’s terms of service and privacy policy before enabling offload.
Screenshots





Installation
- Upload the
kybern-s3-storagefolder to/wp-content/plugins/. - Activate the plugin through the WordPress Plugins screen.
- Go to
Settings > Kybern S3 Storage. - Enter your S3 bucket configuration.
- Set the bucket name to
my-site-mediaor your preferred no-dot bucket name. - Set the root prefix you want to use in the bucket, for example
example.com/media-library. - If you want selected uploads routed into a custom path, add a form routing rule and optionally the FileBird folder ID or folder name.
- Save the settings.
- Run the S3 connection test.
- If needed, start the background migration to offload eligible attachments in non-Local FileBird folders, or attachments matched by Form Routing Rules when folder scope is not configured.
FAQ
-
Does this plugin replace Cloud Storage Manager for Fluent Forms?
-
Yes, if your goal is to keep one owner for S3 offload and avoid overlapping Fluent Forms upload logic.
-
Does FileBird change the real upload path in WordPress?
-
No. FileBird organizes Media Library attachments, while Kybern S3 Storage controls the remote S3 object key structure for matched uploads.
-
Do Fluent Forms file fields need to save into the Media Library?
-
Yes, if you want FileBird assignment and consistent Media Library offload behavior.
-
Can I use a private bucket?
-
Yes. Enable signed URLs and set the expiration window that best fits your caching and access needs.
-
Do old upload links from form email notifications still work with a private bucket?
-
Yes. Since version 2.1.2, when signed URLs are enabled, Kybern S3 Storage keeps the original
/wp-content/uploads/...link stable and generates a fresh signed S3 URL only when the link is opened. This prevents old emails, circular links and cached pages from retaining an expired 15-minute S3 URL while the bucket remains private. -
What bucket name should I use for public files?
-
For direct public S3 URLs, prefer a bucket name without dots, such as
my-site-media. AWS documents SSL limitations for virtual-hosted bucket names that contain periods. -
Can I use CloudFront with this plugin?
-
Yes. Enable CloudFront delivery and enter the distribution or custom CDN base URL to serve public files without exposing direct S3 URLs.
-
Can I export these settings to another site?
-
Yes. The plugin can export and import settings as JSON. The export includes secrets, so treat the file as sensitive.
-
Can I delete local copies immediately?
-
Yes, but it is safer to leave local copies enabled until you have confirmed your S3 URLs, permissions, and backups.
Rezensionen
Zu diesem Plugin liegen noch keine Rezensionen vor.
Mitwirkende und Entwickler
„Kybern S3 Storage“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:
MitwirkendeÜbersetze „Kybern S3 Storage“ in deine Sprache.
Interessiert an der Entwicklung?
Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.
Änderungsprotokoll
2.2.1
- Added a direct Settings link on the Plugins screen.
2.2.0
- Added FileBird folder-based offload scope with one Local folder exception.
- Moving an attachment to a non-Local FileBird folder queues S3 offload without blocking the Media Library UI.
- Moving an existing S3-only attachment into the configured Local folder restores its local files automatically.
- Kept unfiled uploads local until an editor assigns a FileBird folder.
2.1.4
- Added form-routing-only S3 scope: ordinary Media Library uploads remain local while configured Fluent Forms routing rules continue to offload to S3.
- Restricted local-file deletion to successfully offloaded routed attachments.
- Kept the Brevo and FileBird workflow local when form-routing-only scope is enabled.
- Prevented background migration from scanning ordinary Media Library attachments in form-routing-only mode.
2.1.3
- Serve restored local media files directly instead of redirecting them back through S3.
- Keep explicitly marked static attachments, and future files named as logos or headers, in local WordPress uploads after offload.
- Preserve S3 offload for ordinary Media Library files while protecting theme branding and header delivery.
2.1.2
- Kept private attachment, image-size and srcset links on stable WordPress uploads URLs.
- Generated a fresh signed S3 URL at request time through the existing legacy-upload redirect.
- Prevented cached pages and form emails from retaining expired signed URLs.
2.1.1
- Added legacy uploads URL handling for offloaded Media Library files.
- Fixed old form-upload email links so private S3 buckets return signed URLs instead of unsigned S3 redirects.
- Removed the need for static Apache S3 redirect rules for offloaded routed documents.
2.1.0
- Confirmed compatibility with WordPress 7.1.
- Updated the plugin author link to KybernAI.
- Optimized migration and recovery batches to avoid slow Media Library meta queries.
0.2.6
- Replaced the inline settings-page script with a properly enqueued admin script.
- Expanded the external services disclosure for Amazon S3 and other S3-compatible providers.
- Updated WordPress compatibility metadata for the current release.
0.2.5
- Replaced discouraged temporary file deletion calls with WordPress-native file deletion.
- Hardened settings import temp-file validation.
- Reworked background batch attachment lookups to avoid direct SQL queries.
- Added the missing languages directory expected by the plugin header.
0.2.4
- Added a recovery workflow that restores offloaded Media Library files from S3 back into the local WordPress uploads directory.
- Added a background recovery section and button on the settings page.
- Added S3 object download support to the bundled client.
0.2.3
- Reworked Fluent Forms routing so uploads are tagged after processing instead of overriding the live upload path.
- Fixed the form rule flow that could break Fluent Forms AJAX uploads with a 500 error.
0.2.2
- Removed the Fluent Forms temporary upload path override that could trigger 500 errors during AJAX file uploads.
0.2.1
- Added FileBird folder auto-create by folder name.
- Added retry mode for failed migration items.
- Added settings export and import.
- Added CloudFront-compatible delivery mode for public files.
- Improved migration status display and retry safety.
0.2.0
- Added per-form Fluent Forms routing rules.
- Added signed URL support for private buckets.
- Added S3 connection test.
- Added cron-backed background migration.
- Improved S3-compatible endpoint handling.
0.1.0
- Initial release.
- S3 offload for WordPress Media Library attachments.
- Attachment URL rewriting for original images and image sizes.
- Fluent Forms routing into a dedicated subdirectory.
- Optional FileBird folder assignment for HR uploads.
- Admin migration tool for existing Media Library items.
