Situs web multibahasa perlu menyampaikan konten terjemahan yang tepat kepada pengunjung yang tepat tanpa mengorbankan kecepatan. Di sinilah caching situs web multibahasa menjadi penting, membantu halaman terjemahan dimuat lebih cepat sekaligus mengurangi permintaan berulang ke server Anda. Namun, caching beberapa versi bahasa dapat menimbulkan tantangan seperti terjemahan yang usang, konten dalam bahasa yang salah, dan hasil yang tidak konsisten bagi perayap mesin pencari.
Dalam panduan ini, kita akan menjelajahi masalah caching multibahasa yang paling umum dan menjelaskan bagaimana Cloudflare dan Varnish menangani konten terjemahan. Teruslah membaca untuk memilih strategi caching yang tepat, mencegah cache hit lintas bahasa, dan membangun pengaturan yang andal untuk situs web multibahasa Anda.
Poin-poin penting: Caching situs web multibahasa dengan Cloudflare & Varnish
Versi bahasa terpisah
Gunakan URL khusus bahasa atau kunci cache untuk memastikan setiap versi terjemahan disimpan dan disajikan secara terpisah. Ini membantu mencegah pengguna menerima konten dalam bahasa yang salah.
Mencegah konflik cache
Varnish dan Cloudflare harus memperhitungkan informasi bahasa dari URL, header, atau cookie. Konfigurasi yang tepat mencegah cache hit lintas bahasa dan memastikan pengunjung menerima terjemahan yang benar.
Jaga agar terjemahan tetap mutakhir
Tetapkan TTL cache yang sesuai dan hapus cache yang terpengaruh setiap kali terjemahan diperbarui. Ini mencegah konten usang tetap terlihat oleh pengunjung.
Mengapa caching multibahasa itu penting?

Situs web multibahasa dapat memiliki beberapa versi halaman yang sama yang disimpan dalam cache karena setiap bahasa mungkin berisi konten dan URL yang berbeda. Penyimpanan cache versi terjemahan ini memungkinkan situs web untuk menggunakan kembali respons yang sudah ada daripada memproses konten yang sama berulang kali untuk setiap permintaan. Hal ini dapat mengurangi permintaan ke server asal, meningkatkan waktu pemuatan halaman, dan memberikan pengalaman yang lebih cepat bagi pengunjung.
Namun, caching multibahasa perlu menjaga agar setiap versi bahasa tetap terpisah dengan benar. Jika sistem caching tidak membedakan antara varian bahasa, pengunjung yang meminta halaman berbahasa Prancis dapat menerima versi bahasa Inggris yang tersimpan dalam cache. Demikian pula, ketika terjemahan diperbarui, respons cache yang lebih lama mungkin terus ditampilkan hingga kedaluwarsa atau tidak valid.
Caching juga berperan dalam bagaimana perayap mesin pencari mengakses halaman multibahasa. Setiap URL bahasa harus secara konsisten mengembalikan konten terjemahannya yang sesuai sehingga mesin pencari dapat memahami dan mengindeks versi yang dilokalisasi dengan benar. Oleh karena itu, pengaturan caching yang andal harus bekerja bersamaan dengan sinyal SEO seperti hreflang, URL kanonik, dan metadata khusus bahasa.
Cara membangun strategi caching untuk situs web multibahasa

Strategi caching multibahasa yang baik memastikan bahwa pengunjung secara konsisten menerima versi bahasa yang benar sekaligus menjaga kecepatan halaman dan mengurangi permintaan server. Langkah pertama adalah menentukan bagaimana situs web Anda mengidentifikasi setiap bahasa dan bagaimana sistem caching menggunakan informasi tersebut.
Pengalihan URL dan subdomain
URL khusus bahasa adalah salah satu cara paling sederhana untuk membuat caching multibahasa menjadi lebih mudah diprediksi. Setiap bahasa memiliki URL-nya sendiri, sehingga cache dapat menyimpan dan menyajikan setiap versi secara terpisah. Misalnya, example.com/fr/ dapat mewakili versi Prancis, sedangkan example.com/de/ mewakili versi Jerman.
Subdomain khusus bahasa bekerja dengan cara yang serupa. Sebuah situs web mungkin menggunakan fr.example.com untuk bahasa Prancis dan de.example.com untuk bahasa Jerman. Karena bahasa disertakan langsung dalam URL, pengunjung dan sistem caching dapat dengan mudah mengidentifikasi versi mana yang akan disajikan. Struktur URL umum meliputi:
- contoh.com/fr/
- contoh.com/de/
- fr.example.com
- de.example.com
Deteksi bahasa berbasis header
Situs web juga dapat menentukan bahasa pilihan pengunjung melalui header HTTP, khususnya header Accept-Language yang dikirimkan oleh browser. Misalnya, browser yang dikonfigurasi untuk bahasa Prancis dapat mengirimkan Accept-Language: fr, sehingga server dapat secara otomatis memilih versi bahasa Prancis.
Namun, deteksi berbasis header memerlukan konfigurasi cache yang cermat. Jika cache hanya mempertimbangkan URL halaman dan mengabaikan header bahasa, cache dapat menyimpan satu versi bahasa dan menampilkannya kepada pengunjung dengan preferensi bahasa yang berbeda. Oleh karena itu, kunci cache atau perilaku Vary harus memperhitungkan informasi bahasa yang relevan. Misalnya:
- Accept-Language: en
- Accept-Language: fr
- Accept-Language: de
Deteksi bahasa berbasis cookie
Pendekatan lain adalah menyimpan preferensi bahasa pengunjung dalam cookie. Setelah pengunjung memilih bahasa, situs web dapat menyimpan pilihan tersebut dan menggunakannya untuk permintaan selanjutnya. Hal ini dapat memberikan pengalaman yang lebih konsisten, terutama ketika pengunjung memilih bahasa secara manual daripada mengandalkan pengaturan peramban mereka.
Tantangannya adalah cookie dapat mempersulit caching. Jika cache tidak membedakan permintaan berdasarkan cookie bahasa, pengunjung mungkin menerima halaman yang di-cache yang ditujukan untuk bahasa lain. Oleh karena itu, lapisan caching harus dikonfigurasi untuk memvariasikan atau melewati caching bila diperlukan. Misalnya:
- bahasa=en
- bahasa=fr
- bahasa=de
Memilih strategi caching
Strategi caching terbaik bergantung pada bagaimana situs web Anda menangani pemilihan bahasa. Perutean bahasa berbasis URL umumnya lebih mudah di-cache karena setiap bahasa memiliki URL yang unik. Deteksi berbasis header dan cookie masih dapat berfungsi, tetapi memerlukan konfigurasi yang lebih cermat untuk memastikan respons yang di-cache dipisahkan dengan benar.
Sebelum memilih pendekatan, pertimbangkan jumlah bahasa, bagaimana pengunjung memilih bahasa, dan seberapa sering konten terjemahan berubah. Tujuannya adalah untuk membuat deteksi bahasa dan perilaku caching bekerja bersama, daripada membiarkan lapisan caching memperlakukan setiap permintaan sebagai halaman yang sama. Faktor-faktor kunci yang perlu dipertimbangkan:
- URL spesifik bahasa
- Konfigurasi kunci cache
- Penanganan header dan cookie
- Cache TTL
- Pembatalan cache
- Frekuensi pembaruan terjemahan
- Perayapan mesin pencari
Bagaimana Varnish menyimpan konten multibahasa dan terjemahan dalam cache

Varnish Cache berfungsi sebagai proksi terbalik antara pengunjung dan server asal. Ketika seorang pengunjung meminta halaman, Varnish memeriksa apakah respons yang valid tersedia dalam cache. Jika menemukan respons yang cocok, Varnish akan menyajikan konten yang di-cache tanpa mengirimkan permintaan kembali ke server asal. Jika tidak ada respons yang sesuai, Varnish akan meneruskan permintaan ke server asal, menerima respons, dan dapat menyimpannya untuk permintaan selanjutnya.
Untuk situs web multibahasa, Varnish perlu membedakan antara permintaan yang seharusnya mengembalikan versi bahasa yang berbeda. Oleh karena itu, informasi bahasa harus dipertimbangkan ketika Varnish menentukan apakah respons yang di-cache dapat digunakan kembali. Hal ini mencegah cache memperlakukan terjemahan yang berbeda sebagai respons yang sama.

Kunci cache khusus bahasa
Varnish membutuhkan cara untuk membedakan respons yang di-cache yang mewakili versi bahasa yang berbeda. Ketika bahasa sudah termasuk dalam URL, setiap URL secara alami dapat dipetakan ke entri cache yang berbeda. Ketika bahasa ditentukan oleh header permintaan, cookie, atau nilai permintaan lainnya, konfigurasi Varnish perlu memasukkan informasi tersebut ke dalam logika caching-nya. Misalnya, situs multibahasa dapat membedakan respons yang di-cache menggunakan:
- /en/about/ → Entri cache dalam bahasa Inggris
- /fr/about/ → Entri cache dalam bahasa Prancis
- Accept-Language: en → Variasi Bahasa Inggris
- Accept-Language: fr → Variasi bahasa Prancis
- Cookie bahasa → Bahasa yang dipilih pengunjung
Implementasi pastinya bergantung pada bagaimana situs web menentukan bahasanya. Persyaratan utamanya adalah permintaan yang menghasilkan respons terjemahan berbeda tidak boleh mengarah ke objek cache yang sama.
Mencegah kesalahan lintas bahasa
Cache hit lintas bahasa terjadi ketika Varnish mengembalikan respons yang di-cache untuk satu bahasa kepada pengunjung yang meminta bahasa lain. Misalnya, pengunjung yang meminta halaman berbahasa Prancis dapat menerima respons berbahasa Inggris jika kedua permintaan tersebut diperlakukan sebagai sumber daya yang dapat di-cache yang sama.
Untuk mengurangi risiko ini, Varnish hanya boleh menggunakan kembali respons yang di-cache ketika variasi bahasa diketahui dan sesuai dengan permintaan. Jika bahasa tidak dapat ditentukan secara andal, respons tersebut harus ditangani dengan hati-hati dan tidak boleh disimpan sebagai entri cache bersama. Pengamanan penting meliputi:
- Hindari menyimpan respons yang berisi informasi bahasa yang ambigu dalam cache
- Kelola cookie dan header bahasa secara konsisten
- Uji coba cache hit dan miss untuk permintaan dalam berbagai bahasa
- Verifikasi peralihan bahasa setelah caching diaktifkan
Pembatalan cache Varnish
Pembatalan cache menghapus atau menandai konten yang di-cache sebagai tidak lagi valid. Ini penting ketika konten asli atau terjemahannya telah diperbarui. Tanpa pembatalan, Varnish mungkin terus menyajikan versi cache yang lebih lama hingga TTL yang dikonfigurasi habis.
Untuk situs web multibahasa, invalidasi harus memperhitungkan semua versi bahasa yang terpengaruh. Jika halaman berbahasa Inggris dan terjemahannya dalam bahasa Prancis diperbarui, respons yang tersimpan dalam cache yang sesuai harus dihapus atau diperbarui agar pengunjung tidak melihat konten yang sudah usang. Pendekatan umum meliputi:
- Menghapus URL tertentu
- Menghapus beberapa versi bahasa
- Menggunakan TTL cache
- Penghapusan otomatis setelah pembaruan konten
- Memperbarui halaman terjemahan yang terpengaruh
Bagaimana Cloudflare menyimpan konten multibahasa dalam cache di edge

Cloudflare berfungsi sebagai lapisan caching di sisi server (edge) antara pengunjung dan server asal Anda. Ketika pengunjung meminta halaman, Cloudflare memeriksa apakah versi yang di-cache tersedia di lokasi edge. Jika respons yang valid ada, respons tersebut dapat disajikan langsung dari edge, bukan meminta halaman dari server asal. Jika tidak ada respons yang di-cache, Cloudflare mengambil konten dari server asal dan dapat menyimpan respons tersebut untuk permintaan selanjutnya.
Untuk situs web multibahasa, proses ini perlu mempertimbangkan bahasa yang diminta. Cloudflare harus mampu membedakan antara versi bahasa yang berbeda sehingga respons bahasa Inggris yang tersimpan dalam cache tidak disajikan kepada seseorang yang meminta versi bahasa Prancis. Hal ini membuat konfigurasi cache yang peka terhadap bahasa menjadi penting ketika konten terjemahan dikirim melalui URL, header, atau cookie yang berbeda.

Memisahkan versi bahasa
Cloudflare dapat menyimpan versi bahasa yang berbeda secara terpisah ketika setiap versi memiliki URL yang berbeda. Misalnya, /en/, /fr/, dan /it/ dapat mewakili konten bahasa Inggris, Prancis, dan Italia. Karena bahasa disertakan langsung dalam URL, setiap versi dapat memiliki entri cache-nya sendiri, sehingga lebih mudah untuk mengelola dan menghapus versi bahasa individual. Misalnya:
- contoh.com/en/produk/
- contoh.com/fr/produk/
- contoh.com/it/produk/
Kunci cache Cloudflare dan variasi bahasa
Cloudflare perlu membedakan permintaan setiap kali input bahasa yang berbeda dapat menghasilkan respons yang berbeda. Dengan perutean bahasa berbasis URL, pemisahan ini terjadi secara alami karena setiap bahasa memiliki URL-nya sendiri.
Perhatian lebih diperlukan ketika bahasa ditentukan oleh header Accept-Language atau cookie. Jika nilai-nilai ini memengaruhi respons terjemahan tetapi tidak ditangani oleh konfigurasi caching, permintaan untuk bahasa yang berbeda dapat diperlakukan sebagai sumber daya yang sama. Hal ini dapat mengakibatkan satu bahasa disajikan kepada pengunjung yang meminta bahasa lain.
Untuk sebagian besar situs web multibahasa, perutean berbasis URL lebih mudah dikelola karena bahasanya langsung terlihat di URL. Deteksi berbasis header dan cookie juga dapat digunakan, tetapi memerlukan konfigurasi tambahan untuk memastikan bahwa respons bahasa yang berbeda tidak dibagikan secara keliru.
TTL cache dan pembersihan
TTL (Time to Live) cache menentukan berapa lama Cloudflare menyimpan respons yang di-cache sebelum kedaluwarsa. TTL yang lebih lama dapat meningkatkan kinerja karena konten tetap di-cache lebih lama, sementara TTL yang lebih pendek memungkinkan perubahan tersedia lebih cepat.
Untuk situs web multibahasa, TTL (Time To Live) harus mencerminkan seberapa sering konten dan terjemahan berubah. Halaman yang sering diperbarui mungkin memerlukan TTL yang lebih pendek, sementara halaman yang stabil umumnya dapat menggunakan TTL yang lebih panjang. Ketika terjemahan berubah, versi bahasa yang terpengaruh harus dihapus atau diperbarui daripada menunggu TTL kedaluwarsa. Ini membantu mencegah pengunjung menerima terjemahan yang sudah usang. Strategi caching dapat mencakup:
- TTL singkat untuk konten yang sering diperbarui
- TTL lebih lama untuk halaman stabil
- Aturan cache khusus URL
- Pembersihan cache manual
- Penghapusan otomatis setelah pembaruan
Praktik terbaik untuk caching situs web multibahasa

Pengaturan caching yang terencana dengan baik dapat mempercepat situs web multibahasa tanpa menyebabkan pengunjung menerima terjemahan yang salah atau usang. Kuncinya adalah membuat sistem terjemahan dan lapisan caching Anda bekerja bersama, sambil memisahkan setiap versi bahasa dengan jelas.
Menggabungkan penerjemahan dan caching
Penerjemahan dan caching harus bekerja bersama sebagai bagian dari proses pengiriman konten yang sama. Lapisan penerjemahan menentukan versi lokal mana yang harus dikembalikan, sementara lapisan caching menyimpan respons tersebut untuk permintaan selanjutnya. Pertimbangan pentingnya adalah waktu: bahasa harus ditentukan sebelum respons di-cache. Ini memastikan bahwa cache menyimpan respons terjemahan yang sebenarnya diminta, bukan versi ambigu yang dapat digunakan kembali untuk bahasa lain.
Untuk situs web yang menggunakan terjemahan otomatis, solusi terjemahan seperti Linguise dapat menyederhanakan proses ini dengan secara otomatis menghasilkan konten yang dilokalisasi sekaligus memungkinkan halaman yang diterjemahkan untuk bekerja dengan pengaturan caching yang ada di situs web. Ini dapat berguna untuk situs web dengan banyak bahasa, di mana pengelolaan versi terjemahan secara manual dan menjaganya tetap sinkron dengan konten yang di-cache dapat menjadi lebih kompleks.
Praktik terbaik: Pastikan sistem terjemahan dan lapisan caching Anda sepakat tentang bagaimana versi bahasa diidentifikasi sebelum mengaktifkan caching halaman penuh.
Gunakan kunci cache khusus bahasa
Setiap respons terjemahan harus dipetakan ke variasi cache yang benar. Struktur bahasa berbasis URL mempermudah hal ini karena setiap bahasa sudah memiliki URL yang berbeda, sedangkan pengaturan berbasis header atau cookie memerlukan konfigurasi cache tambahan.
Praktik terbaik: Sebaiknya gunakan URL khusus bahasa jika memungkinkan, misalnya:
- /en/about/ → Bahasa Inggris
- /fr/about/ → Bahasa Prancis
- /de/about/ → Jerman
Hal ini memberikan pemisahan yang jelas antara versi bahasa dan mengurangi risiko terjadinya cache hit lintas bahasa.
Atur kontrol cache dan TTL
Header Cache-Control dan TTL menentukan bagaimana browser, CDN, dan reverse proxy menangani konten yang di-cache. Mengaturnya dengan benar membantu menyeimbangkan kinerja situs web dengan kebutuhan untuk mengirimkan terjemahan terbaru.
Halaman yang jarang berubah biasanya dapat tetap tersimpan dalam cache lebih lama, sementara konten yang sering diperbarui sebaiknya menggunakan TTL yang lebih pendek. Pengaturan yang tepat bergantung pada seberapa sering konten dan terjemahan situs web Anda diperbarui.
Praktik terbaik: Misalnya, Anda dapat menggunakan TTL yang lebih lama untuk halaman arahan multibahasa statis dan TTL yang lebih pendek untuk halaman produk atau berita yang sering berubah. Selalu uji konfigurasi untuk memastikan konten yang diperbarui tersedia saat diharapkan.
Bersihkan cache setelah pembaruan
Saat konten atau terjemahan berubah, hapus atau perbarui respons cache yang terpengaruh alih-alih hanya mengandalkan masa berlaku TTL. Ini membantu memastikan pengunjung menerima versi terbaru di semua bahasa yang terpengaruh.
Praktik terbaik: Sertakan invalidasi cache dalam alur kerja pembaruan konten Anda dan pastikan semua versi bahasa yang terpengaruh tercakup.
Uji halaman multibahasa yang di-cache
Pengujian itu penting karena masalah caching tidak selalu terlihat selama penjelajahan normal. Sebuah halaman mungkin terlihat benar saat diakses langsung, tetapi menampilkan bahasa yang salah saat disajikan dari respons yang di-cache.
Uji setiap versi bahasa setelah mengkonfigurasi atau mengubah aturan caching Anda. Periksa permintaan pertama dan permintaan selanjutnya untuk memastikan bahwa respons yang di-cache dengan benar selalu dikembalikan.
Praktik terbaik: Skenario pengujian seperti:
- Membuka halaman yang sama dalam berbagai bahasa
- Memuat ulang halaman yang tersimpan dalam cache
- Beralih antar bahasa
- Memperbarui terjemahan
- Memeriksa halaman setelah pembersihan cache
- Mengindeks URL khusus bahasa
Daftar periksa caching multibahasa
Sebelum menerapkan pengaturan caching multibahasa Anda ke lingkungan produksi, gunakan daftar periksa sederhana untuk memverifikasi bahwa deteksi bahasa, caching, dan pembaruan konten bekerja bersama dengan benar.
Daftar periksa praktik terbaik:
- Berikan setiap versi bahasa URL unik atau variasi cache
- Gunakan kunci cache khusus bahasa
- Konfigurasikan header Cache-Control yang sesuai
- Tetapkan TTL berdasarkan frekuensi pembaruan konten
- Penghapusan versi bahasa yang terpengaruh setelah pembaruan
- Uji halaman yang di-cache dalam setiap bahasa yang didukung
- Periksa respons yang menggunakan bahasa yang salah
- Periksa konten terjemahan yang sudah usang
- Verifikasi URL khusus bahasa dengan perayap mesin pencari
Kesimpulan
Caching situs web multibahasa secara efektif membutuhkan keseimbangan antara kinerja situs web dan penyampaian versi bahasa yang benar dan terbaru kepada setiap pengunjung. Dengan menggunakan kunci cache khusus bahasa, TTL yang sesuai, dan invalidasi cache yang andal, Anda dapat mengurangi permintaan server sekaligus mencegah konten yang salah bahasa dan usang.
Untuk cara yang lebih sederhana dalam mengelola konten terjemahan, daftarlah di Linguise dan sederhanakan alur kerja situs web multibahasa Anda dengan terjemahan otomatis sambil menjaga agar konten yang dilokalisasi tetap cepat dan mudah dikelola.



