Knowledge base
Moving your media to object storage
Serve images and downloads from object storage and a CDN instead of the web server — without typing a key into WordPress.
A busy site spends a lot of its disk and a lot of its bandwidth on files nobody edits: images, PDFs, downloads. Media offload moves them to object storage and serves them from a CDN, so the web server goes back to running your site rather than posting pictures.
Turning it on
Sites → your site → Media offload → Turn on media offload. That provisions the storage; you do not create a bucket first.
WordPress then needs the Zinn® Media Offload plugin, and it is paired rather than configured. Click Get a pairing code, install and activate the plugin on the site, and paste the code in. The card shows Waiting for the plugin until it checks in, and then the version and when it last did.
Why there is no access key to type in
There is nowhere in the plugin to paste a secret key, and that is deliberate. The plugin pairs once and is issued its own short-lived credential; your storage keys stay on our side. A key typed into WordPress lives in the database, in your backups, and in whatever gets exported when a site is migrated — and it is the same key that can delete every file you have.
What the two switches do
Serve media from the CDN rewrites the URLs in your pages so visitors fetch files from the CDN rather than from the web server. Until you turn it on, files are copied to storage but still served locally — the card says so, rather than implying the job is finished.
Remove local copies after upload reclaims the disk. Leave it off while you are still checking that everything renders; turn it on once you are happy. Nothing stops you turning it back off, but files already removed are not re-downloaded automatically.
Using your own bucket instead
You can attach an S3-compatible bucket you already own — your own account at any provider. You supply the bucket name, endpoint and key pair, and it is stored in our secret store rather than in a database column.
⚠️ The difference that matters on your bill: storage we provide counts against your plan's object-storage allowance. A bucket of your own does not, because it costs us nothing.
Checking it is working
The card reports Moved so far as a file count and a size, and Media served from — either the CDN host, or a line telling you copies are being kept but not served yet. Those two together answer "is this actually doing anything", which a green switch on its own does not.
Turning it off
Disconnect the plugin stops the pairing. Files already in storage stay there and keep being served if rewriting is on; if you want the site back to serving locally, turn off Serve media from the CDN first, and make sure local copies still exist before you do.
Still stuck?
Support is included on every plan and answers in your own language.
Contact support → All articles →