Kapan hreflang dibutuhkan

Hreflang bukan untuk semua situs. Kalau Anda satu bahasa (misal hanya Indonesia) dan satu target region, hreflang tidak relevan. Tapi begitu Anda punya konten yang di-duplicate atau di-translate untuk bahasa/region berbeda, hreflang jadi wajib.

Tiga skenario yang butuh hreflang di konteks Indonesia. Pertama, situs e-commerce dengan versi Indonesia dan Inggris untuk buyer internasional. Kedua, situs berita nasional yang expand ke English version untuk expat reader. Ketiga, multinational corp dengan landing page country-specific (Indonesia, Malaysia, Singapore).

Struktur URL multi-bahasa

Struktur URL multi-bahasa dengan x-default fallbackyoursite.com/id//en//ms/x-default

Ada tiga pola URL yang umum untuk situs multi-bahasa. Setiap punya trade-off SEO dan UX.

Pola 1: Subdirectory (paling rekomendasi)

URL structure dengan subdirectory yoursite.com/id/produk/kursi/ yoursite.com/en/product/chair/ yoursite.com/ms/produk/kerusi/

Paling mudah di-manage, semua authority domain tertahan di satu root. Hosting di satu server. Cocok untuk 95 persen situs Indonesia.

Pola 2: Subdomain

URL structure dengan subdomain id.yoursite.com/produk/kursi/ en.yoursite.com/product/chair/

Authority split antar subdomain (Google treat sebagai separate entities). Cocok untuk organization dengan team terpisah per region, atau kalau infrastructure hosting berbeda.

Pola 3: Country Code TLD (ccTLD)

URL structure dengan ccTLD yoursite.co.id/produk/kursi/ yoursite.com.my/produk/kerusi/ yoursite.com.sg/product/chair/

Signal region paling kuat, tapi expensive (multiple domain, authority terpisah). Cocok untuk multinational dengan budget besar dan targeting region spesifik.

Format hreflang

Hreflang pakai kombinasi language code (ISO 639-1) dan optional country code (ISO 3166-1 alpha-2). Kedua-duanya case-insensitive, tapi convention lowercase untuk language dan uppercase untuk country.

Contoh hreflang codes untuk Asia Tenggara id - Indonesia (language only) id-ID - Indonesia bahasa untuk user di Indonesia en - Inggris (language only) en-SG - Inggris untuk user di Singapore en-MY - Inggris untuk user di Malaysia ms-MY - Melayu untuk user di Malaysia x-default - Fallback untuk non-matched users

Rule: pakai language code saja (id, en) kalau konten targeting pengguna bahasa itu secara global. Pakai language-country kalau ada diferensiasi konten per region (harga IDR vs SGD, promo lokal, compliance legal berbeda).

Implementasi HTML link tag

Hreflang di <head> setiap halaman <link rel="alternate" hreflang="id" href="https://yoursite.com/id/produk/kursi/" /> <link rel="alternate" hreflang="en" href="https://yoursite.com/en/product/chair/" /> <link rel="alternate" hreflang="ms" href="https://yoursite.com/ms/produk/kerusi/" /> <link rel="alternate" hreflang="x-default" href="https://yoursite.com/id/produk/kursi/" />

Penting: setiap halaman (di setiap bahasa) harus punya hreflang tag untuk SEMUA varian, termasuk dirinya sendiri (self-referential). Halaman Indonesia harus link ke halaman Indonesia, Inggris, dan Melayu. Halaman Inggris juga harus link ke ketiganya. Ini disebut "reciprocal hreflang".

Implementasi via XML sitemap

Untuk situs besar (1000+ halaman multi-bahasa), HTML link tag jadi unwieldy. Sitemap lebih clean.

Sitemap dengan hreflang entries <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> <loc>https://yoursite.com/id/produk/kursi/</loc> <xhtml:link rel="alternate" hreflang="id" href="https://yoursite.com/id/produk/kursi/" /> <xhtml:link rel="alternate" hreflang="en" href="https://yoursite.com/en/product/chair/" /> <xhtml:link rel="alternate" hreflang="x-default" href="https://yoursite.com/id/produk/kursi/" /> </url> </urlset>

Common mistakes (sering bikin hreflang tidak work)

Pitfall yang sering bikin hreflang gagal

Reciprocal link missing. Halaman /id/ hreflang ke /en/, tapi /en/ tidak hreflang balik ke /id/. Google abaikan seluruh cluster. Setiap halaman harus link ke semua versi termasuk dirinya.

Wrong country code. "UK" bukan country code valid, harus "GB" (Great Britain). "id-ID" benar, "in-ID" salah (in = Hindi). Double-check dengan ISO 3166-1 list resmi.

Hreflang conflict dengan canonical. Halaman /en/ hreflang ke /id/, tapi canonical menunjuk ke /id/. Conflict, Google bingung. Canonical harus self-referential di setiap halaman.

Hreflang di halaman yang noindex. Google tidak proses hreflang dari halaman noindex. Kalau satu versi di-noindex, hreflang cluster rusak.

Campuran HTML link tag dan sitemap hreflang. Pilih satu metode. Kalau keduanya implement dan ada konflik, Google pakai yang paling baru tapi tidak konsisten.

URL absolute vs relative. Hreflang URL harus absolute (https://yoursite.com/en/...) bukan relative (/en/...). Relative URL sering di-ignore.

Workflow implementasi

Implementation 6-langkah

  1. 1

    Audit konten multibahasa

    Map semua URL: berapa bahasa, berapa region, pairing mana yang equivalent content. Spreadsheet dengan kolom URL ID, URL EN, URL MS.

  2. 2

    Pilih URL structure

    Subdirectory (recommended), subdomain, atau ccTLD. Stick dengan satu pola untuk seluruh situs.

  3. 3

    Generate hreflang tags

    Untuk tiap halaman, generate set tag yang include self-reference + semua varian + x-default. Bisa manual atau via CMS plugin.

  4. 4

    Implement di head atau sitemap

    Sub-100 halaman: HTML link tag in head cukup. 100+ halaman: XML sitemap lebih scalable.

  5. 5

    Submit sitemap GSC

    Google Search Console > Sitemaps > Add. Submit sitemap.xml yang berisi hreflang entries.

  6. 6

    Monitor 4-8 minggu

    GSC International Targeting report (kalau masih available) atau Screaming Frog crawl untuk detect issue.

Testing tools

Empat tools untuk validate hreflang implementation.

  • Google Search Console: kalau ada issue, muncul di Coverage report dengan label "Alternate page with proper canonical tag" atau error hreflang specific.
  • Screaming Frog SEO Spider: crawl site, export semua hreflang tags, detect missing reciprocal dan invalid codes.
  • Merkle hreflang Tools: technicalseo.com/tools/hreflang. Paste URL, dapat analysis lengkap untuk satu halaman.
  • Sistrix Hreflang Validator: gratis, crawl cluster kecil hreflang untuk detect error.

Konteks Indonesia: banyak situs salah implement

Dari audit kami di 50+ situs Indonesia dengan multi-bahasa (ID-EN), sekitar 70 persen punya hreflang issue. Pattern paling umum: implement hanya di homepage, lupa implement di halaman artikel/produk. Atau reciprocal link incomplete, /en/ tidak hreflang balik ke /id/.

Dampaknya: Google kadang tampilkan halaman /en/ ke user Indonesia yang search dalam Bahasa Indonesia, atau sebaliknya. CTR turun, user bounce, ranking terganggu. Fix hreflang biasanya naikkan CTR 10-20 persen dalam 2 bulan.

Untuk situs dengan traffic signifikan dari pengguna internasional, hreflang bukan optional. Cross-reference ke panduan Technical SEO untuk foundation lain (canonical, sitemap, schema), dan Jasa SEO untuk audit professional.

Update frequency

Hreflang bukan "set and forget". Setiap kali Anda tambah halaman baru, update semua versi bahasa secara paralel. Setiap kali rename URL, update hreflang di semua halaman yang link balik. Tanpa maintenance, hreflang cluster cepat rusak seiring pertumbuhan situs.

Set monthly review: crawl situs dengan Screaming Frog, check "hreflang" tab, fix orphan atau mismatch. 30 menit per bulan, save ranking berjam-jam debugging nanti.

Pertanyaan Umum

Apa itu hreflang?
Hreflang adalah atribut HTML yang memberi tahu Google dan mesin pencari lain tentang variasi bahasa atau region dari sebuah halaman. Kalau punya konten sama dalam bahasa Indonesia dan Inggris, hreflang beritahu Google mana yang harus ditampilkan untuk pengguna bahasa Indonesia dan mana untuk pengguna Inggris. Tanpa hreflang, Google bisa salah pilih versi yang ditampilkan di hasil pencarian.
Kapan hreflang wajib diimplementasi?
Tiga skenario utama. Pertama, situs dengan konten sama dalam bahasa berbeda (id dan en). Kedua, situs dengan konten sama tapi targeting region berbeda (id-ID dan en-SG misal). Ketiga, situs dengan konten regional varian (en-US vs en-GB, ada perbedaan spelling color vs colour, minor content). Kalau hanya satu bahasa satu region, hreflang tidak dibutuhkan.
Apa itu x-default?
x-default adalah fallback hreflang untuk pengguna yang bahasanya tidak match dengan versi lain yang tersedia. Biasanya set ke bahasa paling "universal" di site Anda (kalau multibahasa) atau homepage default. x-default wajib disertakan kalau Anda punya 2 atau lebih varian bahasa, Google pakai ini sebagai fallback final kalau matching gagal.
Implementasi hreflang di HTML link tag, sitemap, atau HTTP header?
Tiga cara implementasi valid. HTML link tag di head paling umum dan mudah debug. XML sitemap cocok untuk situs besar dengan ribuan halaman, lebih clean karena semua info terpusat di sitemap. HTTP header untuk file non-HTML (PDF, image). Untuk situs Indonesia kecil-menengah, HTML link tag paling practical. Pilih satu metode, jangan campur dalam halaman sama.
Bagaimana cara testing hreflang?
Tools gratis tersedia. Google Search Console > International Targeting (meski tampilan baru mengurangi fitur ini). Screaming Frog versi desktop bisa extract semua hreflang dan detect conflict. Merkle hreflang testing tool (technicalseo.com/tools/hreflang) untuk validate per URL. Selalu test setelah implement, satu typo country code bisa break seluruh hreflang cluster.

Situs multi-bahasa Anda hreflang-nya benar?

Audit Entitas Gratis mencakup hreflang cluster validation, reciprocal link check, dan x-default coverage. Laporan dalam 5 hari kerja.

Audit Gratis