Storage Profiles
Free manages exactly one storage profile. Pro adds the ability to create additional profiles, each with its own independent credentials — useful when different content needs to live on different providers or buckets (for example, a CDN-fronted bucket for public media and a separate private bucket for restricted files).
Before you begin
KAZCODE Universal Storage Pro active, and at least one working profile already configured under Universal Storage → Storage.
Steps
- On Universal Storage → Storage, use the Add profile action (available with Pro active) to give the profile a name, provider, bucket, region, endpoint, and delivery settings.
- By default a new profile authenticates with the same site-wide credentials configured
under Settings. To give a profile its own independent credentials instead — useful
when two profiles are on different providers, since they virtually always need
different access keys — set them via the REST API
(
POST /wp-json/kazcode-storage/v1/storage-profiles/save) or WP-CLI; there’s no in-admin form for this yet. - Set which profile is the default upload target for new uploads.
- Delete only profiles that are no longer the default and have no object inventory rows. If a profile is protected, the Delete control stays visible but disabled with the reason shown in the browser tooltip.
Verify it worked
Multiple profiles are listed on Universal Storage → Storage, each independently testable via Test connection.
Troubleshooting
A profile’s location fields (bucket/prefix) won’t change — once a profile has objects recorded against it, its bucket/prefix become locked to prevent silently repointing an already-in-use destination. This is intentional: changing where a profile with existing objects points would orphan those objects’ delivery.
Delete is disabled — a profile cannot be deleted if it is the only profile, the current default upload target, or still has object inventory rows. Migrate or restore/reconcile the media first, then delete the now-empty non-default profile.