Apa itu CDN: arti CDN, alasan menggunakannya, dan cara menghubungkan WordPress
CDN (Content Delivery Network) adalah jaringan pengiriman konten yang menyimpan file dari server asal di server edge di banyak wilayah dan merespons pengunjung dari server terdekat. Untuk melihat apakah server edge merespons dari cache, kami memeriksa header respons layanan distribusi pustaka publik seperti jsDelivr, dan file jQuery dikirim dari salinan di cache. Dua cara menghubungkan WordPress, yaitu mengganti URL file dan proxy DNS, kami bandingkan berdasarkan dokumentasi resmi.
1️⃣ Arti CDN: server edge dan server asal
POP (Point of Presence) adalah pusat data tempat server edge berada, dan permintaan pengunjung diteruskan ke POP terdekat.
Server edge yang menerima permintaan langsung merespons jika file sudah tersimpan; jika belum, server edge mengambil file dari server asal, merespons, lalu menyimpannya. CloudFront, CDN milik AWS, mulai mengirim ke pengunjung begitu byte pertama tiba dari server asal (berdasarkan dokumentasi resmi AWS).

Server edge hanya menyimpan file yang diminta pengunjung, jadi meskipun filenya sama, permintaan pertama di setiap server edge tetap diteruskan sampai ke server asal.
Cara mengambil file saat ada permintaan seperti ini disebut metode pull, dan ada juga metode push, yaitu Anda mengunggah file ke CDN lebih dulu.
2️⃣ Alasan menggunakan CDN: jarak dan beban server asal
Makin jauh jarak antara pengunjung dan server, makin lama waktu pulang-pergi (RTT) setiap permintaan. Saat satu halaman dibuka, selain HTML juga muncul permintaan gambar, CSS, dan JavaScript, sehingga jika server edge terdekat yang merespons, waktu pulang-pergi setiap permintaan menjadi lebih singkat.
Permintaan yang dijawab server edge tidak sampai ke server asal, sehingga penggunaan CPU dan transfer data (bandwidth) server asal juga berkurang. Jika Anda menghubungkan DNS melalui proxy Cloudflare, IP server asal tidak terlihat, dan serangan DDoS juga diblokir lebih dulu di CDN (berdasarkan dokumentasi resmi Cloudflare).
Untuk situs yang pengunjungnya berkumpul di wilayah yang sama dengan server asal, manfaat dari jarak kecil. Pada situs seperti ini, manfaat CDN yang lebih besar adalah berkurangnya beban server asal dan hematnya transfer data, bukan waktu respons yang lebih singkat.
3️⃣ File yang di-cache: file statis dan HTML
Dengan pengaturan default, Cloudflare hanya menyimpan file statis seperti gambar, CSS, dan JavaScript di cache, yang ditentukan dari ekstensi file (berdasarkan dokumentasi resmi Cloudflare). HTML halaman dan JSON tidak termasuk cache default, sehingga server asal tetap merespons keduanya meskipun Cloudflare sudah dihubungkan.
Untuk menyimpan HTML juga di cache, Anda perlu membuat aturan cache tersendiri di CDN. Dalam hal ini, kecualikan dari aturan halaman yang isinya berbeda untuk tiap orang, seperti halaman pengguna yang login atau keranjang belanja, agar layar pengunjung lain tidak tercampur.
4️⃣ Menghubungkan WordPress: mengganti URL file dan proxy DNS
Untuk menghubungkan CDN ke WordPress, Anda mengganti URL file statis saja dengan URL CDN, atau mengatur DNS domain ke proxy CDN agar semua permintaan melewati CDN.
| Metode | Tempat menghubungkan | Permintaan yang melewati CDN | IP server asal |
|---|---|---|---|
| Mengganti URL file | Memasukkan alamat CDN (CNAME) di pengaturan CDN plugin cache | File statis seperti gambar, CSS, dan JavaScript | Tetap terbuka |
| Proxy DNS | Menghubungkan catatan DNS domain ke proxy CDN | Semua permintaan HTTP dan HTTPS situs | Tersembunyi di balik CDN |
Pada metode mengganti URL file, plugin cache seperti WP Rocket menyediakan tempat di pengaturan CDN untuk memasukkan alamat (CNAME) dari penyedia CDN. Setelah dimasukkan, URL gambar, CSS, dan JavaScript di dalam HTML halaman berubah menjadi URL CDN (berdasarkan dokumentasi resmi WP Rocket). HTML-nya sendiri tetap dikirim oleh server asal.

Dengan metode proxy DNS, DNS domain Anda dikelola oleh penyedia CDN. Cloudflare juga menyediakan cara menghubungkan proxy tanpa memindahkan nameserver, cukup dengan menambahkan catatan CNAME di penyedia DNS yang sudah ada. Cara ini hanya tersedia di paket Business ke atas (berdasarkan dokumentasi resmi Cloudflare).
5️⃣ Memeriksa cache hit: header cf-cache-status dan age
Apakah CDN merespons file dari cache dapat Anda periksa dari header respons. Di bawah ini adalah perintah yang kami gunakan untuk memeriksa header respons file jQuery yang didistribusikan jsDelivr beserta hasilnya.
curl -sI https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js | grep -iE "^(cache-control|cf-cache-status|age|server):"cache-control: public, max-age=31536000, s-maxage=31536000, immutable
age: 45920
cf-cache-status: HIT
server: cloudflare[server: cloudflare] menunjukkan bahwa respons ini dikirim oleh server edge Cloudflare, dan [cf-cache-status: HIT] yang ditambahkan Cloudflare berarti respons berasal dari cache. [age: 45920] menunjukkan bahwa file ini sudah tersimpan di cache sekitar 12 jam 45 menit. [max-age=31536000] adalah instruksi server asal bahwa file boleh disimpan selama 1 tahun.
Untuk melihat sampai mana permintaan berjalan ketika nilainya [MISS], [DYNAMIC], atau [BYPASS] dan bukan [HIT], tekan tombol nilai pada diagram di bawah.
cf-cache-status: HITcf-cache-status: MISScf-cache-status: DYNAMICcf-cache-status: BYPASSCache-Control: no-store atau private🔢 FAQ & Konten yang Direkomendasikan
Cache
Cache: Definisi dan Semua Bidang yang Menggunakan Caching
Memilah bidang penggunaan cache, dari browser hingga bagian dalam server, termasuk cache server edge CDN.
Varnish
Instalasi dan pengaturan Varnish Cache di Apache dan Nginx
Cara memasang dan mengatur cache reverse proxy Varnish di depan Apache dan Nginx.
Cloudflare
Pengaturan CDN Cloudflare: paket Pro
Menghubungkan Cloudflare ke WordPress dengan metode proxy DNS, lalu membahas perbedaan kecepatan dan pengaturan antara paket Free dan Pro.
ℹ️ Pemberitahuan Afiliasi
Konten di situs ini berisi tautan afiliasi. Jika pengunjung membeli produk atau layanan melalui tautan tersebut, situs ini menerima komisi dari penjual. Harga yang dibayar pembeli(turun saat ada diskon promo ↓), tidak naik karena hal ini. Harga, diskon, dan informasi stok yang ditampilkan berlaku pada saat penulisan dan bisa berbeda dengan kondisi sebenarnya, jadi pastikan kembali di situs penjual sebelum membeli. Pemilihan dan penilaian produk dibuat berdasarkan standar kami sendiri, dan ada tidaknya komisi tidak memengaruhi urutan maupun isi penilaian.