ARTIKEL BANTUAN

Cara Mengintegrasikan MultiLipi ke Situs Web React Anda

MultiLipi
MultiLipiTanggal Tidak Valid
5 Menit baca
Cara Mengintegrasikan MultiLipi ke Situs Web React Anda

Mengintegrasikan skrip pihak ketiga ke dalam Aplikasi Halaman Tunggal (SPA) seperti React memerlukan penanganan DOM yang cermat. Anda tidak bisa begitu saja menempelkan tag skrip ke file HTML jika Anda ingin kontrol dinamis. Panduan ini menunjukkan cara membuat yang didedikasikan "Komponen Injektor"—cara yang modular, bersih, dan ramah React untuk memuat mesin MultiLipi.

Metode ini memastikan tidak ada pemblokiran thread utama, injeksi tag SEO yang optimal, dan pembersihan yang tepat saat unmounting.

Prasyarat

Sebelum melanjutkan, pastikan Anda memiliki hal berikut dari Dasbor MultiLipi Anda:

Kunci API Proyek: Pengenal unik Anda (Ditemukan di Pengaturan).

Bahasa Target: Daftar kode ISO yang diaktifkan untuk proyek Anda (misalnya, 'hi', 'es', 'fr').

Domain: Domain produksi Anda (misalnya, yoursite.com).

Langkah 1: Buat Komponen Injector

Membangun jembatan.

Kita akan membuat komponen khusus yang tugasnya hanya mengelola injeksi tag SEO dan skrip terjemahan ke dalam dokumen Anda.

Tindakan: Buat file bernama multilipi.tsx (atau .js) di src/ folder dan tempel kode di bawah ini.

TypeScript
// multilipi.tsx
import { useEffect } from "react";

const LANGUAGES = ["hi", "ar"] as const; // Replace with your languages
const DOMAIN = "example.com";           // Replace with your actual domain
const MULTILIPI_KEY = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; // Replace with your actual key

export default function AddScriptToHead() {
  useEffect(() => {
    const head = document.head;
    const added: HTMLElement[] = [];

    const add = <T extends HTMLElement>(el: T) => {
      head.appendChild(el);
      added.push(el);
      return el;
    };

    // Alternate hreflang links
    LANGUAGES.forEach((lang) => {
      const link = document.createElement("link");
      link.rel = "alternate";
      link.hreflang = lang;
      link.href = `https://${lang}.${DOMAIN}/`;
      add(link);
    });

    // DNS prefetch & preconnect
    const dns = document.createElement("link");
    dns.rel = "dns-prefetch";
    dns.href = "//multilipiseo.multilipi.com";
    add(dns);

    const preconnect = document.createElement("link");
    preconnect.rel = "preconnect";
    preconnect.href = "https://multilipiseo.multilipi.com";
    preconnect.crossOrigin = "anonymous";
    add(preconnect);

    // Add MultiLipi translation script
    const script = document.createElement("script");
    script.src = "https://script-cdn.multilipi.com/static/JS/page_translations.js";
    script.crossOrigin = "anonymous";
    script.dataset.posX = "50";
    script.dataset.posY = "50";
    script.setAttribute("multilipi-key", MULTILIPI_KEY);
    script.setAttribute("mode", "auto");
    add(script);

    // Cleanup on component unmount
    return () => {
      added.forEach((el) => el.parentNode?.removeChild(el));
    };
  }, []);

  return null;
}

Selami Kode: Mengapa ini berhasil

Hook useEffect: Ini memastikan kode berjalan hanya setelah komponen terpasang, mencegah pemblokiran selama fase hidrasi awal.

Otomatisasi SEO (Hreflang): Kode tersebut mengulang melalui array BAHASA Anda dan secara dinamis menyuntikkan tag. Ini sangat penting untuk memberi tahu Google bahwa hi.example.com adalah versi bahasa Hindi dari situs Anda.

Performa (Preconnect): Yang dns-prefetch dan preconnect baris menginstruksikan browser untuk menyelesaikan alamat IP server MultiLipi sebelum skrip diminta. Ini secara signifikan mengurangi waktu yang dibutuhkan agar widget terjemahan muncul.

Fungsi Pembersihan (return () => ...): Di React, komponen dapat di-render ulang. Logika ini melacak setiap elemen yang kita tambahkan (added.push(el)) dan menghapusnya jika komponen dilepas. Ini mencegah tag skrip duplikat dan kebocoran memori.

Langkah 2: Inisialisasi di Aplikasi Root

Mengaktifkan lapisan.

Sekarang setelah logika dienkapsulasi, kita perlu menempatkannya di tingkat tertinggi pohon aplikasi Anda, biasanya App.tsx or App.js.

Tindakan: Impor dan pasang komponen.

TypeScript
// App.tsx
import AddScriptToHead from './multilipi'; // adjust the path as needed

function App() {
  return (
    <>
      {/* Load the MultiLipi script */}
      <AddScriptToHead />

      {/* Rest of your App UI */}
    </>
  );
}

export default App;

Mengapa menempatkannya di sini?

Cakupan Global: Menempatkan di App.tsx menjamin bahwa mesin terjemahan tetap aktif terlepas dari rute (halaman) mana yang dinavigasi pengguna.

Non-Visual: Karena komponen mengembalikan null, itu tidak memengaruhi tata letak atau spasi UI Anda. Ia bekerja secara diam-diam di latar belakang.

Daftar Periksa Verifikasi

Cara mengonfirmasi integrasi yang berhasil.

Setelah Anda menyimpan dan menjalankan aplikasi React Anda (npm start or yarn dev), lakukan pemeriksaan ini:

Pemeriksaan Visual: Apakah Anda melihat widget Pengalih Bahasa mengambang di posisi yang ditentukan oleh posX dan posY?

Pemeriksaan DOM: Buka Chrome DevTools (F12) → Tab Elemen → Perluas .

Pastikan Anda melihat tag.

Verifikasi page_translations.js skrip ada di bagian bawah head.

Pemeriksaan Jaringan: Buka Tab Jaringan dan filter berdasarkan "JS". Pastikan page_translations.js sedang dimuat dengan status 200 OK.

Opsi Konfigurasi Tambahan

Dalam kode yang disediakan, Anda akan melihat script.dataset properti. Anda dapat mengubah nilai-nilai ini untuk menyesuaikan perilaku:

script.dataset.posX / posY: Sesuaikan angka-angka ini (0-100) untuk memindahkan posisi default widget mengambang di layar.

script.setAttribute("mode", "auto"):

"auto": Secara otomatis mencoba menerjemahkan berdasarkan bahasa browser.

"manual": Menunggu interaksi pengguna sebelum menerjemahkan.

Apakah artikel ini membantu?

Dalam artikel ini

Bagikan

Siap Go Global?

Mari diskusikan bagaimana MultiLipi dapat mengubah strategi konten Anda dan membantu Anda menjangkau audiens global dengan optimasi multibahasa yang didukung AI.

Isi formulir ini dan tim kami akan menghubungi Anda dalam waktu 24 jam.