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 dengan bahasa yang salah, dan hasil yang tidak konsisten untuk crawler mesin pencari.
Dalam panduan ini, kami akan membahas masalah caching multibahasa yang paling umum dan menjelaskan bagaimana Cloudflare dan Varnish menangani konten yang diterjemahkan. 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 atau kunci cache yang spesifik untuk bahasa tertentu untuk memastikan setiap versi terjemahan disimpan dan disajikan secara terpisah. Ini membantu mencegah pengguna menerima konten dalam bahasa yang salah.
Cegah 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 terjemahan tetap segar
Tetapkan TTL cache yang sesuai dan bersihkan cache yang terpengaruh setiap kali terjemahan diperbarui. Ini mencegah konten yang sudah usang tetap terlihat oleh pengunjung.
Mengapa caching multibahasa itu penting?

Situs web multibahasa dapat memiliki beberapa versi cache dari halaman yang sama karena setiap bahasa mungkin berisi konten dan URL yang berbeda. Meng-cache versi terjemahan ini memungkinkan situs web untuk menggunakan kembali respons yang ada alih-alih memproses konten yang sama berulang kali untuk setiap permintaan. Hal ini dapat mengurangi permintaan ke server asal, meningkatkan waktu muat halaman, dan memberikan pengalaman yang lebih cepat bagi pengunjung.
Namun, caching multibahasa perlu menjaga setiap versi bahasa tetap terpisah dengan benar. Jika sistem caching tidak membedakan antara varian bahasa, pengunjung yang meminta halaman Prancis bisa saja menerima versi bahasa Inggris yang di-cache. Serupa dengan itu, ketika terjemahan diperbarui, respons yang di-cache lama mungkin terus ditampilkan hingga kedaluwarsa atau dibatalkan.
Cache juga berperan dalam bagaimana crawler mesin pencari mengakses halaman multibahasa. Setiap URL bahasa harus secara konsisten mengembalikan konten terjemahan yang sesuai agar mesin pencari dapat memahami dan mengindeks versi yang dilokalkan dengan benar. Oleh karena itu, pengaturan cache yang andal harus berjalan seiring dengan sinyal SEO seperti hreflang, URL kanonik, dan metadata khusus bahasa.
Cara membangun strategi caching situs web multibahasa

Strategi caching multibahasa yang baik memastikan pengunjung secara konsisten menerima versi bahasa yang benar sekaligus menjaga halaman tetap cepat dan mengurangi permintaan server. Langkah pertama adalah memutuskan bagaimana situs web Anda mengidentifikasi setiap bahasa dan bagaimana sistem caching menggunakan informasi tersebut.
Perutean URL dan subdomain
URL khusus bahasa adalah salah satu cara paling sederhana untuk membuat caching multibahasa dapat diprediksi. Setiap bahasa memiliki URL-nya sendiri, sehingga cache dapat menyimpan dan menyajikan setiap versi secara terpisah. Misalnya, example.com/fr/ dapat mewakili versi bahasa Prancis, sedangkan example.com/de/ mewakili versi bahasa Jerman.
Subdomain yang spesifik untuk bahasa tertentu 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 harus disajikan. Struktur URL yang umum meliputi:
- example.com/fr/
- example.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 dikirim oleh browser. Misalnya, browser yang dikonfigurasi untuk bahasa Prancis dapat mengirim 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 mengembalikannya kepada pengunjung dengan preferensi bahasa yang berbeda. Oleh karena itu, kunci cache atau perilaku Vary harus memperhitungkan informasi bahasa yang relevan. Sebagai contoh:
- 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 berikutnya. Ini dapat memberikan pengalaman yang lebih konsisten, terutama ketika pengunjung memilih bahasa secara manual daripada mengandalkan pengaturan browser mereka.
Tantangannya adalah cookie dapat mempersulit caching. Jika cache tidak membedakan permintaan berdasarkan cookie bahasa, pengunjung mungkin menerima halaman cache yang ditujukan untuk bahasa lain. Oleh karena itu, lapisan caching harus dikonfigurasi untuk memvariasikan atau melewati caching bila diperlukan. Misalnya:
- language=en
- language=fr
- language=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 tetap dapat berfungsi, tetapi memerlukan konfigurasi yang lebih cermat untuk memastikan respons yang di-cache dipisahkan dengan benar.
Sebelum memilih pendekatan, pertimbangkan jumlah bahasa, cara pengunjung memilih bahasa, dan seberapa sering konten terjemahan berubah. Tujuannya adalah membuat deteksi bahasa dan perilaku cache bekerja bersama, bukan membiarkan lapisan caching memperlakukan setiap permintaan sebagai halaman yang sama. Faktor utama yang perlu dipertimbangkan:
- URL spesifik bahasa
- Konfigurasi kunci cache
- Penanganan header dan cookie
- TTL cache
- Invalidasi cache
- Frekuensi pembaruan terjemahan
- Perayapan mesin pencari
Cara Varnish meng-cache konten multibahasa dan terjemahan

Varnish Cache berfungsi sebagai proxy terbalik antara pengunjung dan server asal. Ketika pengunjung meminta halaman, Varnish memeriksa apakah respons cache yang valid tersedia. Jika menemukan respons yang cocok, ia menyajikan konten cache tanpa mengirim permintaan kembali ke server asal. Jika tidak ada respons yang sesuai, Varnish meneruskan permintaan ke server asal, menerima respons, dan dapat menyimpannya untuk permintaan berikutnya.
Untuk situs web multibahasa, Varnish perlu membedakan antara permintaan yang harus mengembalikan versi bahasa yang berbeda. Oleh karena itu, informasi bahasa harus dipertimbangkan saat 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 memerlukan cara untuk membedakan respons yang di-cache yang mewakili versi bahasa yang berbeda. Ketika bahasa sudah disertakan 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 mungkin membedakan respons yang di-cache menggunakan:
- /en/about/ → entri cache bahasa Inggris
- /fr/about/ → entri cache bahasa Prancis
- Accept-Language: en → variasi bahasa Inggris
- Accept-Language: fr → variasi bahasa Prancis
- Cookie bahasa → bahasa yang dipilih pengunjung
Implementasi yang tepat bergantung pada bagaimana situs web menentukan bahasa. Persyaratan utamanya adalah permintaan yang menghasilkan respons terjemahan berbeda tidak boleh mengarah ke objek cache yang sama.
Mencegah hit 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 bisa menerima respons berbahasa Inggris jika kedua permintaan diperlakukan sebagai sumber daya yang dapat di-cache yang sama.
Untuk mengurangi risiko ini, Varnish sebaiknya hanya menggunakan kembali respons yang di-cache ketika variasi bahasa diketahui dan sesuai dengan permintaan. Jika bahasa tidak dapat ditentukan secara andal, respons harus ditangani dengan hati-hati daripada disimpan sebagai entri cache bersama. Pengamanan penting meliputi:
- Hindari caching respons dengan informasi bahasa yang ambigu
- Tangani cookie dan header bahasa secara konsisten
- Uji cache hit dan cache miss untuk permintaan bahasa yang berbeda
- Verifikasi pengalihan bahasa setelah caching diaktifkan
Invalidasi cache Varnish
Invalidasi cache menghapus atau menandai konten yang di-cache sebagai tidak lagi valid. Hal ini penting ketika konten asli atau terjemahannya telah diperbarui. Tanpa invalidasi, Varnish mungkin terus menyajikan versi cache yang lebih lama hingga TTL yang dikonfigurasi berakhir.
Untuk situs web multibahasa, pembatalan harus memperhitungkan semua versi bahasa yang terpengaruh. Jika halaman bahasa Inggris dan terjemahan bahasa Prancisnya diperbarui, respons yang di-cache terkait harus dihapus atau disegarkan agar pengunjung tidak melihat konten yang sudah usang. Pendekatan umum meliputi:
- Menghapus URL tertentu
- Menghapus beberapa versi bahasa
- Menggunakan TTL cache
- Secara otomatis membersihkan setelah pembaruan konten
- Menyegarkan halaman terjemahan yang terpengaruh
Cara Cloudflare melakukan cache konten multibahasa di edge

Cloudflare berfungsi sebagai lapisan caching edge antara pengunjung dan server origin Anda. Ketika pengunjung meminta halaman, Cloudflare memeriksa apakah versi cache tersedia di lokasi edge. Jika respons yang valid ada, respons tersebut dapat disajikan langsung dari edge alih-alih meminta halaman dari server origin. Jika tidak ada respons cache yang tersedia, Cloudflare mengambil konten dari origin dan dapat menyimpan respons dalam cache untuk permintaan berikutnya.
Untuk situs web multibahasa, proses ini perlu memperhitungkan bahasa yang diminta. Cloudflare harus dapat membedakan antara versi bahasa yang berbeda sehingga respons bahasa Inggris yang di-cache tidak disajikan kepada seseorang yang meminta versi bahasa Prancis. Hal ini membuat konfigurasi cache yang sadar 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 sendiri, sehingga lebih mudah untuk mengelola dan menghapus versi bahasa individual. Misalnya:
- example.com/en/products/
- example.com/fr/products/
- example.com/it/products/
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 bahasa terlihat langsung di URL. Deteksi berbasis header dan cookie juga dapat berfungsi, tetapi memerlukan konfigurasi tambahan untuk memastikan bahwa respons bahasa yang berbeda tidak dibagikan secara tidak benar.
TTL cache dan pembersihan
TTL cache (Time to Live) menentukan berapa lama Cloudflare menyimpan respons yang di-cache sebelum kedaluwarsa. TTL yang lebih lama dapat meningkatkan performa karena konten tetap di-cache lebih lama, sedangkan TTL yang lebih pendek memungkinkan perubahan tersedia lebih cepat.
Untuk situs web multibahasa, TTL harus mencerminkan seberapa sering konten dan terjemahan berubah. Halaman yang sering diperbarui mungkin memerlukan TTL yang lebih pendek, sedangkan halaman yang stabil umumnya dapat menggunakan TTL yang lebih panjang. Ketika terjemahan berubah, versi bahasa yang terpengaruh harus dibersihkan atau disegarkan 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 yang stabil
- Aturan cache khusus URL
- Pembersihan cache manual
- Pembersihan otomatis setelah pembaruan
Praktik terbaik untuk caching situs web multibahasa

Pengaturan caching yang direncanakan dengan baik dapat membuat situs web multibahasa lebih cepat tanpa menyebabkan pengunjung menerima terjemahan yang salah atau usang. Kuncinya adalah membuat sistem terjemahan dan lapisan caching Anda bekerja sama, sambil memisahkan setiap versi bahasa dengan jelas.
Gabungkan terjemahan dan cache
Penerjemahan dan caching harus bekerja sama sebagai bagian dari proses pengiriman konten yang sama. Lapisan penerjemahan menentukan versi terlokalisasi mana yang harus dikembalikan, sementara lapisan caching menyimpan respons tersebut untuk permintaan berikutnya. Pertimbangan pentingnya adalah waktu: bahasa harus ditentukan sebelum respons di-cache. Ini memastikan bahwa cache menyimpan respons terjemahan yang benar-benar 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 dilokalkan sekaligus memungkinkan halaman terjemahan bekerja dengan pengaturan cache situs web yang sudah ada. Ini dapat berguna untuk situs web dengan banyak bahasa, di mana mengelola versi terjemahan secara manual dan menjaganya tetap sinkron dengan konten yang di-cache bisa menjadi lebih kompleks.
Praktik terbaik: Pastikan sistem terjemahan dan lapisan cache Anda sepakat tentang bagaimana versi bahasa diidentifikasi sebelum mengaktifkan cache halaman penuh.
Gunakan kunci cache khusus bahasa
Setiap respons yang diterjemahkan 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: Utamakan URL khusus bahasa jika memungkinkan, seperti:
- /en/about/ → Bahasa Inggris
- /fr/about/ → Prancis
- /de/about/ → Jerman
Ini memberikan pemisahan yang jelas antara versi bahasa dan mengurangi risiko cache hit lintas bahasa.
Atur cache-control dan TTL
Header Cache-Control dan TTL menentukan bagaimana browser, CDN, dan reverse proxy menangani konten yang di-cache. Menetapkannya dengan benar membantu menyeimbangkan performa situs web dengan kebutuhan untuk menyajikan terjemahan terbaru.
Halaman yang jarang berubah biasanya dapat di-cache lebih lama, sedangkan 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 landing 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, bersihkan atau segarkan respons cache yang terpengaruh alih-alih hanya mengandalkan kedaluwarsa 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 penting karena masalah caching tidak selalu terlihat saat penjelajahan normal. Halaman mungkin terlihat benar saat diakses langsung tetapi menampilkan bahasa yang salah saat disajikan dari respons yang di-cache.
Uji setiap versi bahasa setelah mengonfigurasi atau mengubah aturan caching Anda. Periksa permintaan pertama kali dan permintaan berikutnya untuk memastikan bahwa respons cache yang benar selalu dikembalikan.
Praktik terbaik: Uji skenario seperti:
- Membuka halaman yang sama dalam berbagai bahasa
- Memuat ulang halaman yang di-cache
- Beralih antar bahasa
- Memperbarui terjemahan
- Memeriksa halaman setelah pembersihan cache
- Merayapi URL khusus bahasa
Daftar periksa cache multibahasa
Sebelum menerapkan pengaturan cache multibahasa Anda ke produksi, gunakan daftar periksa sederhana untuk memverifikasi bahwa deteksi bahasa, cache, dan pembaruan konten bekerja sama 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
- Atur TTL berdasarkan frekuensi pembaruan konten
- Bersihkan versi bahasa yang terpengaruh setelah pembaruan
- Uji halaman yang di-cache dalam setiap bahasa yang didukung
- Periksa respons dengan bahasa yang salah
- Periksa konten terjemahan yang sudah usang
- Verifikasi URL khusus bahasa dengan crawler mesin pencari
Kesimpulan
Meng-cache situs web multibahasa secara efektif memerlukan keseimbangan antara performa 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 dengan bahasa yang salah dan konten usang.
Untuk cara yang lebih sederhana dalam mengelola konten terjemahan, daftar dengan Linguise dan sederhanakan alur kerja situs web multibahasa Anda dengan terjemahan otomatis sambil menjaga konten yang dilokalkan tetap cepat dan mudah dikelola.



