Menyimpan media WordPress di Cloudflare R2 dengan Media Cloud

Simpan gambar dan file unggahan baru di Cloudflare R2 dan tampilkan lewat subdomain sendiri, misalnya media.domainanda.com.

Dengan cara ini, file yang Anda unggah ke Media WordPress ikut disimpan di Cloudflare R2 dan ditampilkan dari subdomain seperti media.domainanda.com. Ruang hosting lebih lega, dan pengunjung mengunduh gambar dari jaringan Cloudflare.

Status plugin: Media Cloud (ILAB Media Tools) sudah ditutup di WordPress.org sejak 20 Agustus 2026, jadi tidak bisa dipasang dari menu Plugin › Tambah Baru. Versi terakhir di GitHub adalah 4.6.4 (April 2024), diuji resmi sampai WordPress 6.5. Plugin masih bisa dipasang dari GitHub, tapi tidak lagi mendapat pembaruan. Coba dulu di situs staging dan backup situs sebelum memasangnya di situs utama.

Sebelum mulai, siapkan#

  • Domain sudah aktif di Cloudflare (lihat tutorial Menghubungkan domain ke Cloudflare)
  • Backup situs (file dan database)
  • Akses Administrator WordPress
  • Satu subdomain kosong untuk media, misalnya media.domainanda.com

Aktifkan R2 di Cloudflare#

Di dashboard Cloudflare, buka R2 object storage. Saat pertama kali membuka R2, Cloudflare bisa meminta Anda menambahkan metode pembayaran, walaupun pemakaian Anda masih di dalam batas gratis.

Batas gratis per bulan (penyimpanan Standard)Jumlah
Penyimpanan10 GB
Operasi Class A (tulis, unggah, daftar)1 juta
Operasi Class B (baca)10 juta
Egress (pengunjung mengunduh file)Gratis

Buat bucket#

  1. Di R2 object storage, pilih Create bucket.
  2. Isi nama dengan huruf kecil dan tanda hubung, misalnya media-domainanda.
  3. Lokasi: biarkan Automatic.
  4. Default storage class: pilih Standard (batas gratis hanya berlaku untuk Standard).
  5. Pilih Create bucket.

Hubungkan subdomain ke bucket#

  1. Buka bucket tadi, lalu Settings.
  2. Di bagian Custom Domains, pilih Add.
  3. Ketik media.domainanda.com, pilih Continue, periksa record DNS yang akan dibuat, lalu pilih Connect Domain.
  4. Tunggu beberapa menit sampai statusnya berubah dari Initializing menjadi Active.

Domain harus ada di akun Cloudflare yang sama dengan bucket. Jangan memakai alamat r2.dev untuk situs yang sudah tayang: alamat itu dibatasi kecepatannya dan hanya ditujukan untuk uji coba.

Buat API token R2#

  1. Kembali ke R2 object storage › Overview.
  2. Di Account Details, pilih Manage di samping API Tokens.
  3. Pilih Create Account API token.
  4. Di Permissions, pilih Object Read & Write.
  5. Batasi token hanya untuk bucket media-domainanda.
  6. Pilih Create Account API token.

Secret Access Key hanya tampil sekali. Salin semua nilai di halaman itu sekarang dan simpan di tempat aman. Kalau terlewat, hapus token tersebut dan buat yang baru.

Kumpulkan lima nilai berikut. Account ID ada di alamat endpoint yang tampil di halaman token, juga di halaman Overview R2:

Access Key ID      : (dari halaman token)
Secret Access Key  : (dari halaman token, tampil sekali)
Bucket             : media-domainanda
Endpoint URL       : https://<ACCOUNT_ID>.r2.cloudflarestorage.com
Public Bucket URL  : https://media.domainanda.com

Pasang Media Cloud dari GitHub#

  1. Buka github.com/interfacelab/ilab-media-tools.
  2. Pilih Code › Download ZIP.
  3. Di WordPress, buka Plugin › Tambah Baru › Unggah Plugin, pilih file ZIP tadi, lalu Pasang Sekarang dan Aktifkan.

File ZIP-nya sekitar 25 MB. Kalau hosting menolak karena ukuran file terlalu besar, ekstrak ZIP di komputer lalu unggah foldernya ke wp-content/plugins/ lewat File Manager hosting atau FTP, kemudian aktifkan dari menu Plugin.

Setelah diaktifkan, plugin bisa menampilkan layar ajakan berbagi data pemakaian. Anda boleh melewatinya.

Jalankan Setup Wizard#

  1. Buka Media Cloud › Setup Wizard.
  2. Pilih Cloudflare R2, lalu lanjutkan dari halaman Getting Started.
  3. Di Cloud Storage Settings, isi kelima nilai dari langkah 4: Access Key, Secret Key, Bucket Name, Endpoint URL, dan Public Bucket URL.
  4. Pilih Next. Media Cloud menjalankan beberapa tes untuk memastikan bisa mengunggah dan membaca file di bucket.
  5. Kalau semua tes lolos, pilih Finish & Exit Wizard.

Endpoint URL dipakai WordPress untuk mengunggah file ke R2, dan sifatnya privat. Public Bucket URL adalah alamat yang dilihat pengunjung, yaitu subdomain yang Anda hubungkan di langkah 3. Keduanya ditulis lengkap dengan https://, tanpa garis miring di akhir.

Endpoint URL dan Public Bucket URL itu beda

Rapikan pengaturan unggahan#

Buka Media Cloud › Settings, tab Cloud Storage:

  • Cache Control: isi public,max-age=31536000 supaya browser dan Cloudflare menyimpan gambar lebih lama.
  • Delete Uploaded Files: biarkan mati dulu. File tetap tersimpan di hosting sebagai cadangan. Setelah beberapa minggu berjalan lancar, Anda bisa menyalakannya untuk menghemat ruang hosting.

Uji dengan satu gambar#

  • Unggah satu gambar di Media › Tambah Baru.
  • Buka detail gambar dan salin URL-nya. Alamatnya harus diawali https://media.domainanda.com/.
  • Buka bucket di Cloudflare: file gambar dan ukuran-ukuran turunannya muncul di daftar objek.
  • Pasang gambar itu di sebuah tulisan dan pastikan tampil di situs.

Plugin hanya memindahkan file yang diunggah setelah plugin aktif. Gambar lama tetap di hosting dan tetap tampil normal. Fitur untuk memindahkan seluruh pustaka media lama ada di versi berbayar Media Cloud, tidak termasuk di versi GitHub.

Bagaimana dengan gambar yang sudah ada?

Kalau ada masalah#

GejalaPenyebab umumSolusi
Tes wizard gagal dengan pesan akses ditolakIzin token bukan Object Read & Write, atau token dibatasi ke bucket lainBuat token baru dengan izin dan bucket yang benar.
Tes gagal di koneksiEndpoint URL salah formatPakai https://<ACCOUNT_ID>.r2.cloudflarestorage.com tanpa nama bucket dan tanpa / di akhir.
Gambar baru tidak tampilCustom domain belum Active, atau Public Bucket URL salahCek status di bucket › Settings › Custom Domains, lalu samakan Public Bucket URL.
Unggah plugin ditolakBatas ukuran unggahan hostingUnggah folder plugin lewat File Manager atau FTP.

Was this article helpful?

Still stuck?

Send us your order number and a screenshot of the problem. We reply on working days.

Contact support