Apa Itu Hreflang? Sintaks, Aturan, dan Kesalahan yang Sering Terjadi
Apa itu tag hreflang, kenapa website multibahasa membutuhkannya, sintaks yang benar, x-default, hubungannya dengan tag canonical, dan kesalahan yang membuat Google mengabaikannya.
Diperbarui 24 September 2026 · 5 menit baca
Website Anda sudah diterjemahkan dan setiap bahasa bisa dibuka. Tetapi Google tetap mengirim pengunjung dari Singapura ke halaman berbahasa Indonesia, atau hanya mengindeks satu bahasa. Biasanya penyebabnya adalah hreflang yang tidak ada atau salah.
Panduan ini membahas fungsi hreflang, aturannya, dan kesalahan yang membuat Google mengabaikannya. Untuk mengecek website Anda sambil membaca, pakai cek SEO multibahasa gratis kami.
Apa itu hreflang
hreflang adalah atribut pada tag <link> yang memberi tahu mesin pencari: "halaman ini juga tersedia dalam bahasa lain, di URL-URL ini". Google lalu menampilkan versi yang sesuai dengan bahasa setiap pencari, dan memperlakukan versi-versi itu sebagai satu kelompok, bukan halaman yang saling bersaing.
Blok yang umum, dipasang di <head> setiap versi bahasa:
<link rel="alternate" hreflang="id" href="https://example.com/harga/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="ms" href="https://example.com/ms/harga/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/" />
Hreflang adalah sinyal kuat, bukan perintah. Satu aturan saja salah, hreflang akan diabaikan.
Kenapa penting
Tanpa hreflang, biasanya terjadi tiga hal:
- Bahasa yang salah muncul di pencarian. Pengunjung dari Australia masuk ke halaman berbahasa Indonesia, tidak paham, lalu pergi.
- Versi-versi digabung. Google bisa mengelompokkan halaman yang hampir sama dan hanya menampilkan satu, sehingga bahasa lain kehilangan visibilitas.
- Pasar baru tetap tak terlihat. Pesaing dengan pengaturan yang rapi mengambil peringkat yang Anda incar lewat terjemahan.
Aturannya
Timbal balik
Jika halaman bahasa Inggris mencantumkan halaman bahasa Indonesia, halaman Indonesia juga harus mencantumkan halaman Inggris. Kalau tidak, Google membuang pasangan itu. Solusi termudah: pasang blok yang sama di setiap versi.
URL lengkap
Selalu pakai URL lengkap dengan protokol dan host: https://example.com/en/, jangan /en/. URL-nya harus sama persis dengan URL aktif Anda, termasuk https dan www.
Referensi diri
Setiap halaman mencantumkan dirinya sendiri di blok: halaman Indonesia mencantumkan hreflang="id" yang menunjuk ke URL-nya sendiri.
Kode ISO yang valid
Bahasa ditulis dengan kode ISO 639-1 (id, en, ms), bisa diikuti tanda hubung dan wilayah ISO 3166-1 (en-SG, zh-CN). Wilayah saja tidak valid. Kesalahan yang paling sering kami temui:
| Salah | Benar |
|---|---|
in | id (kode lama untuk bahasa Indonesia) |
id-IDN | id-ID (kode wilayah dua huruf) |
en-UK | en-GB |
my | ms (my adalah kode bahasa Burma; bahasa Melayu adalah ms) |
cn | zh atau zh-CN |
id_ID | id-ID (tanda hubung, bukan garis bawah) |
Kode yang tidak valid berarti tag itu dibuang. Di website Indonesia, kesalahan in dan my cukup sering terjadi.
x-default
x-default memberi tahu Google halaman mana yang ditampilkan jika tidak ada bahasa Anda yang cocok dengan pencari. Tidak wajib, tetapi tanpanya Google akan menebak. Tambahkan di blok setiap versi bahasa, sama seperti entri lain.
Tiga cara memasang hreflang
- Di
<head>HTML. Cara paling umum dan paling mudah diperiksa. - Di sitemap XML. Setiap
<url>mencantumkan alternatifnya dengan elemenxhtml:link. Berguna untuk website besar karena semuanya ada di satu file. - Di header HTTP
Link. Untuk file non-HTML seperti PDF yang tidak punya<head>.
Pilih satu cara. Mencampur boleh, tetapi jika isinya berbeda, sinyalnya bertabrakan.
Hreflang dan tag canonical
Di sinilah sebagian besar website multibahasa bermasalah. Canonical berkata "ini URL utama untuk halaman ini". Hreflang berkata "URL-URL lain ini adalah halaman yang sama dalam bahasa lain". Keduanya menjawab pertanyaan yang berbeda.
Aturannya: setiap versi bahasa punya canonical yang menunjuk ke dirinya sendiri.
<!-- Di https://example.com/en/pricing/ -->
<link rel="canonical" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="id" href="https://example.com/harga/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/" />
Jika canonical halaman Inggris menunjuk ke halaman Indonesia, Google menganggap halaman Inggris duplikat, mengikuti canonical, dan mengabaikan hreflang. Terjemahan bukan konten duplikat, jadi canonical lintas bahasa tidak melindungi apa pun.
Jangan lupa html lang
Atribut <html lang="id"> menyatakan bahasa halaman itu sendiri. Ini tidak menggantikan hreflang, tetapi harus sama dengan kode yang Anda pakai untuk halaman itu di blok. Halaman Inggris yang masih bertuliskan lang="id" mengirim sinyal yang membingungkan.
Kesalahan umum
- Tautan balik hilang di beberapa pasangan bahasa.
- URL relatif, atau URL yang dialihkan atau menghasilkan 404.
- Canonical di setiap terjemahan menunjuk ke bahasa asli.
- Hreflang di website yang semua bahasanya memakai satu URL (berganti lewat JavaScript atau
?lang=). Tidak ada halaman nyata untuk ditunjuk.
Cara mengecek hreflang Anda
Buka halaman terjemahan, lihat sumbernya (Ctrl+U atau Cmd+Option+U), lalu cari hreflang dan canonical. Kemudian buka salah satu URL yang tercantum dan pastikan ia menautkan balik.
Setelah beberapa halaman, cara ini terasa lambat. Jalan pintasnya: masukkan halaman ke cek SEO multibahasa gratis kami. Alat ini memvalidasi hreflang di head, header HTTP, dan sitemap (kode, URL lengkap, referensi diri, x-default, duplikat), membandingkannya dengan html lang, mengecek canonical, dan membuka hingga enam versi terjemahan untuk memastikan semuanya bisa dibuka, menautkan balik, dan menyatakan bahasanya. Untuk hal lain di luar hreflang, ikuti checklist audit SEO multibahasa kami.
Cara Lantis menangani hreflang
Menulis hreflang secara manual di website 50 halaman dengan empat bahasa berarti ratusan tag yang harus terus disinkronkan. Lantis menyajikan setiap bahasa di URL-nya sendiri (subfolder seperti /en/) dan menambahkan hreflang untuk setiap bahasa plus x-default, html lang yang benar, dan canonical yang menunjuk ke diri sendiri secara otomatis, di Framer, Webflow, WordPress, Shopify, atau website apa pun dengan satu baris kode. Terjemahannya dikerjakan AI, dengan editor visual dan glosarium.
Harganya mulai €3/bulan per bahasa (€2,50 mulai dari dua bahasa, €2 mulai dari sepuluh), dan 100 terjemahan pertama gratis tanpa kartu. Di Framer, pasang plugin Lantis. Panduan langkah demi langkahnya ada untuk Framer dan Webflow.
Pertanyaan yang sering diajukan
Apakah hreflang faktor peringkat?
Tidak secara langsung. Hreflang menentukan versi bahasa mana yang ditampilkan Google kepada setiap pencari, sehingga klik di setiap pasar meningkat dan versi-versi tidak digabung.
Apakah x-default diperlukan?
Sangat disarankan. Tanpanya, Google harus menebak apa yang ditampilkan kepada orang yang bahasanya tidak Anda layani. Arahkan ke bahasa utama atau halaman pemilih bahasa.
Sebaiknya pakai id-ID atau cukup id?
Pakai id jika Anda hanya punya satu versi bahasa Indonesia. Tambahkan wilayah seperti en-SG atau ms-MY hanya jika Anda punya versi terpisah untuk tiap negara, misalnya harga atau ejaan yang berbeda.
Tersedia juga dalam English · Français · Deutsch · Italiano · Português · हिन्दी · Русский · 日本語 · 한국어 · Türkçe · العربية