Offloft 0.1.0 is here: offload your WordPress media and know it arrived.Read what's new

Connect Scaleway Object Storage to WordPress

To offload WordPress media to Scaleway Object Storage, install Offloft, create a private bucket, then create an IAM application with an API key for your project. Offloft makes each file it uploads public, so nobody can list the whole bucket. It tests the connection and delivery before serving.

What you'll need

  • A Scaleway account
  • A WordPress admin login
  • Offloft installed (WordPress 6.5 or later and PHP 8.1 or later with the cURL extension)
  1. Create the bucket

    In the Scaleway console, go to Object Storage and select Create bucket.

    Region: pick the one closest to most of your visitors (for example fr-par) and enter the same region in Offloft.

    Visibility: leave it Private. Offloft makes each file it uploads public, so nobody can list the whole bucket.

    Bucket name
    my-site-media

    Open Scaleway's consoleScaleway's documentation

  2. Create an API key for Object Storage

    In IAM, create an application for this site and give it a policy with the ObjectStorageFullAccess permission set, limited to the project that holds "my-site-media".

    Open the application's API keys tab and generate a key. When asked, set this project as the preferred project for Object Storage.

    Copy the Access Key and the Secret Key into Offloft. Scaleway shows the secret only once.

    To keep the key away from other buckets in the same project, add a bucket policy that grants this application access to "my-site-media" only.

    Open Scaleway's consoleScaleway's documentation

  3. Let visitors read the files

    Files are private unless each file is marked public. Offloft marks every file it uploads as public; the delivery check confirms it works. There is nothing to switch on.

    Files uploaded by other tools stay private until you change their visibility in the console.

    Open Scaleway's consoleScaleway's documentation

  4. Serve files from your own domain with Edge ServicesOptional

    Open the bucket, go to its Edge Services tab and create a pipeline for it.

    Add media.yoursite.com as a custom domain. At your DNS provider, add a CNAME record for media.yoursite.com pointing to the endpoint Scaleway shows (ending in .svc.edge.scw.cloud), and let Scaleway create a Let's Encrypt certificate.

    In Offloft, use https://media.yoursite.com as the delivery address.

    Delivery address
    https://media.yoursite.com

    Open Scaleway's consoleScaleway's documentation

  5. Allow your site to read files (CORS)Optional

    This step is optional. Images on your pages load without it. You need it only when your site's own scripts read files from storage, for example image editors, web fonts or 3D viewers. The rule below lets only your site read files, and only read them.

    Scaleway sets CORS through its S3 API. With the AWS CLI configured for this key, run the command below.

    AWS CLI command
    aws s3api put-bucket-cors --bucket my-site-media --endpoint-url https://your-endpoint --cors-configuration '{"CORSRules":[{"AllowedOrigins":["https://yoursite.com"],"AllowedMethods":["GET","HEAD"],"AllowedHeaders":["*"],"MaxAgeSeconds":3600}]}'

    Scaleway's documentation

  6. Run the connection test and the delivery check

    In Offloft, paste your values and run the connection test. It checks your credentials, finds the bucket, uploads a test file, reads it back and deletes it. The delivery check then loads a small test image from your public address. Offloft serves nothing from the cloud until both pass.

The steps above match the guide inside the plugin, checked against Scaleway's documentation on 2026-10-26. Example values are shown here; the plugin fills in your own.

Permissions Offloft needs

An IAM application with a policy using the ObjectStorageFullAccess permission set, limited to the project that holds this bucket.

Serving your files

Files are private unless each file is marked public, and Offloft marks every file it uploads. To use your own domain, create an Edge Services pipeline for the bucket. The delivery check loads a small test image from the address you enter.

Scaleway questions

Should the bucket be public?

No. Leave Visibility on Private. Offloft makes each file it uploads public, so nobody can list the whole bucket.

What about files uploaded by other tools?

They stay private until you change their visibility in the console.

How do I use my own domain?

With Edge Services: create a pipeline for the bucket, add your domain, and point a CNAME record at the endpoint Scaleway shows.

Ready to connect your bucket?

Install Offloft free. Nothing moves until the connection test passes.

Type to search.