Pilih bahasa

Validasi Data Terstruktur Multibahasa di Edge dan Pembaruan JSON‑LD Otomatis

Mesin pencari modern sangat bergantung pada data terstruktur untuk memahami konteks sebuah halaman. Untuk situs multibahasa, tantangannya menjadi berlipat ganda: setiap versi bahasa harus menampilkan markup schema.org yang akurat, dan ketidaksesuaian apa pun dapat menyebabkan penalti pengindeksan atau penurunan visibilitas. Melakukan validasi di server asal memang berharga, tetapi sering kali tidak menangkap masalah yang muncul karena transformasi hilir, seperti penulisan ulang berbasis edge, kompresi, atau plugin lokalisasi. Memindahkan langkah validasi ke edge—di mana konten sudah disajikan melalui Content Delivery Network (CDN)—menawarkan koreksi waktu nyata dan memastikan setiap pengunjung menerima versi halaman yang bersih serta ramah mesin pencari.

Panduan ini menjelaskan seluruh proses: mulai dari mendeteksi bahasa permintaan, mengambil templat JSON‑LD yang tepat, memvalidasi markup terhadap spesifikasi schema.org terbaru, memperbaiki kesalahan umum, hingga menyuntikkan potongan yang diperbarui ke dalam respons HTTP. Pendekatan ini sepenuhnya tanpa AI, mengandalkan validator berbasis aturan yang deterministik dan bahasa skrip edge yang didukung oleh CDN populer seperti Cloudflare Workers, Fastly Compute@Edge, dan Akamai EdgeWorkers.

Mengapa Validasi di Edge Lebih Baik daripada Pemeriksaan Hanya di Origin

Ketika sebuah halaman lulus validasi di origin, ia masih rentan terhadap:

  1. Penulisan ulang berbasis header yang menambah atau menghapus atribut bahasa.
  2. Normalisasi URL dinamis yang mengubah URL kanonik tanpa memperbarui data terstruktur.
  3. Fragmentasi cache di mana JSON‑LD usang tetap berada di cache edge setelah perubahan bahasa.
  4. Artefak kompresi yang secara tidak sengaja memotong string JSON.

Dengan memindahkan langkah validasi ke edge, sistem dapat:

  • Memeriksa payload persis yang akan dikirim ke klien.
  • Menerapkan koreksi spesifik bahasa sebelum respons di‑cache.
  • Mengurangi jumlah impresi tidak valid yang dikirim ke perayap mesin pencari.

Komponen Inti dari Pipelines Validasi di Edge

1. Deteksi Bahasa

Skrip edge memeriksa header Accept-Language, prefiks jalur URL (/en/, /fr/, dll.), dan parameter kueri opsional (?lang=es). Kode bahasa yang terdeteksi (lang) menjadi kunci utama untuk memilih templat JSON‑LD yang tepat.

2. Pengambilan Templat

Sebuah key‑value store (mis. Cloudflare KV, Fastly Edge Dictionary) menyimpan potongan JSON‑LD yang telah dipra‑generate untuk setiap bahasa. Skrip edge mengambil templat menggunakan kunci cache komposit:

"jsonld:" + request.host + ":" + lang

3. Mesin Validasi

Mesin validasi menjalankan validator schema.org ringan yang ditulis dalam WebAssembly. Ia memeriksa:

  • Properti wajib untuk tipe target (mis. Article, Product).
  • Format IRI yang benar untuk @id dan url.
  • Penggunaan literal string ber‑tag bahasa yang tepat.

Jika validasi gagal, mesin mengembalikan daftar kode kesalahan yang dipetakan ke handler perbaikan yang telah ditentukan sebelumnya.

4. Handler Perbaikan Otomatis

Handler perbaikan adalah fungsi deterministik yang:

  • Menyisipkan bidang @type yang hilang.
  • Mengganti URL yang tidak valid dengan versi kanonik yang dihasilkan dari permintaan.
  • Menambahkan literal inLanguage yang hilang berdasarkan bahasa yang terdeteksi.
  • Menghapus properti duplikat yang dapat membingungkan parser.

Karena setiap handler berbasis aturan, sistem tetap dapat diprediksi dan menghindari jebakan model AI probabilistik.

5. Penyuntikan ke Respons

Setelah JSON‑LD tervalidasi dan diperbaiki, skrip menyuntikkannya ke dalam <head> HTML tepat sebelum tag </head> penutup. Jika halaman asli sudah berisi blok <script type="application/ld+json">, skrip menggantinya; jika tidak, ia menambahkan blok baru.

Respons akhir kemudian di‑cache menggunakan kunci cache yang sadar bahasa, mencegah kontaminasi lintas bahasa.

Diagram Alur End‑to‑End

  graph LR
    A["Permintaan Klien"] --> B["Edge Worker"]
    B --> C["Deteksi Bahasa"]
    C --> D["Ambil JSON‑LD Spesifik Bahasa"]
    D --> E["Validasi dengan Mesin Schema.org"]
    E -->|Valid| F["Suntik JSON‑LD"]
    E -->|Invalid| G["Jalankan Handler Perbaikan"]
    G --> F
    F --> H["Cache Respons dengan Kunci Bahasa"]
    H --> I["Kirim Respons ke Klien"]

Dalam diagram, setiap teks node dibungkus dalam tanda kutip ganda sesuai kebutuhan, dan alur dengan jelas menunjukkan bagaimana validasi serta koreksi terjadi sebelum caching.

Sketsa Implementasi (JavaScript untuk Cloudflare Workers)

Berikut contoh singkat yang menunjukkan langkah‑langkah inti tanpa bergantung pada layanan AI eksternal. Kode menggunakan pustaka

ke atas
© Scoutize Pty Ltd 2025. All Rights Reserved.