Kesalahan Hreflang yang Merusak SEO Internasional
Sepuluh kesalahan menjelaskan hampir semua setelan hreflang yang rusak, dan sebagian besar gagal tanpa suara. Begini cara mengenali dan memperbaikinya satu per satu.
Sebagian besar masalah hreflang berujung pada sepuluh kesalahan: tautan balik yang hilang, tidak adanya referensi diri, kode bahasa atau wilayah yang tidak valid, URL relatif, penunjukan ke halaman non-kanonis, x-default yang hilang, metode implementasi yang dicampur, cakupan yang setengah jadi, alternate yang diblokir, dan menganggap hreflang sebagai obat konten duplikat. Masing-masing punya gejala yang jelas dan perbaikan yang spesifik.
Apa yang sebenarnya dilakukan hreflang
hreflang memberi tahu mesin pencari versi bahasa atau wilayah mana dari sebuah halaman yang harus ditampilkan kepada pengguna tertentu. Ia menukar URL di hasil pencarian, tidak lebih dari itu. Ini bukan pendongkrak peringkat. Halaman dengan anotasi sesempurna apa pun tetap harus memperjuangkan posisinya sendiri.
Seperti apa set hreflang yang benar
Tiga versi — Inggris, Spanyol, dan satu fallback — ditulis sebagai elemen link di head setiap halaman tersebut:
<link rel="alternate" hreflang="en" href="https://example.com/page/">
<link rel="alternate" hreflang="es" href="https://example.com/es/pagina/">
<link rel="alternate" hreflang="x-default" href="https://example.com/page/">
Hubungan yang sama dinyatakan dalam sitemap XML, yang urlset-nya wajib mendeklarasikan namespace xhtml:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/page/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/page/"/>
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/pagina/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page/"/>
</url>
</urlset>
Halaman Spanyol membawa set yang identik. Simetri itulah seluruh mekanismenya, dan sebagian besar kesalahan di bawah ini adalah cara-cara merusaknya.
1. Tautan balik yang hilang
Setiap hubungan hreflang bersifat dua arah. Jika A menunjuk ke B, B wajib menunjuk balik ke A, atau anotasinya tidak terkonfirmasi dan diabaikan. Gejala: versi tidak pernah bertukar di hasil pencarian, dan Search Console melaporkan tidak ada tag balik. Perbaikan: hasilkan set lengkap yang sama untuk setiap halaman dalam grup, bukan daftar satu arah.
2. Tidak ada hreflang yang mereferensikan diri sendiri
Setiap halaman wajib menyertakan entri hreflang untuk URL-nya sendiri. Menghilangkannya membuat set menjadi tidak lengkap, dan mesin membuang set yang tidak bisa mereka rekonsiliasi. Perbaikan: tambahkan referensi diri, sehingga grup tiga bahasa membawa tiga entri di ketiga halamannya.
3. Kode bahasa dan wilayah yang salah
Nilai bahasa harus berupa kode ISO 639-1 dan wilayah opsionalnya harus ISO 3166-1 Alpha 2. Wilayah tidak pernah boleh berdiri sendiri. Tiga kesalahan klasik: en-UK alih-alih en-GB, mengacaukan zh-CN (bahasa Tionghoa di Tiongkok) dengan zh-Hans (subtag aksara, bukan wilayah), dan mengarang bahasa dari nama negara, seperti uk untuk Britania padahal artinya bahasa Ukraina. Nilai yang tidak valid dibuang tanpa peringatan.
4. URL relatif
Nilai hreflang harus berupa URL absolut yang lengkap, termasuk protokolnya. Nilai seperti /es/pagina/ tidak valid dan entrinya dilewati. Gejala: anotasi yang tampak benar di template Anda tetapi tidak pernah terdaftar di mana pun. Perbaikan: tulis https://example.com/es/pagina/ setiap kali — aturan yang sama berlaku untuk nilai loc di sitemap.
5. Menunjuk ke URL non-kanonis, yang mengalihkan, atau ber-noindex
hreflang dan canonical harus sejalan. Canonical setiap halaman menunjuk ke dirinya sendiri, dan setiap nilai hreflang menunjuk ke URL kanonis versi lain. Menganotasi URL yang mengalihkan, dikanonisasi ke tempat lain, atau ber-noindex mengirim instruksi yang saling bertentangan, dan konflik itu biasanya berakhir dengan dibuangnya anotasi Anda. Perbaikan: pastikan setiap URL dalam grup mengembalikan status 200, dapat diindeks, dan kanonis ke dirinya sendiri.
6. x-default hilang atau salah pakai
x-default menandai fallback bagi pengguna yang bahasanya tidak Anda cakup: sebuah pemilih bahasa, halaman arahan global, atau versi utama Anda. Gejala: pengunjung dari lokal yang tidak tercakup mendarat di versi yang sembarang. Perbaikan: tetapkan satu fallback yang sungguhan dan ulangi di seluruh grup.
7. Mencampur metode implementasi
Ada tiga tempat yang sah untuk hreflang: elemen link HTML di head, header HTTP Link, dan anotasi xhtml:link di sitemap XML. Salah satu saja sudah cukup. Masalah muncul ketika sebuah situs menerapkan dua metode setengah-setengah, sehingga head mencantumkan dua bahasa sementara sitemap mencantumkan empat. Pilih satu metode dan lengkapi di situ.
8. Menganotasi beranda saja
hreflang adalah sinyal tingkat halaman, bukan setelan tingkat situs. Menandai beranda tidak berbuat apa-apa untuk 500 halaman produk di bawahnya. Gejala: beranda yang tepat untuk tiap pasar, tetapi halaman yang lebih dalam tampil dalam bahasa yang salah. Perbaikan: pasangkan setiap halaman dengan padanan sejatinya, dan bila padanannya tidak ada, tinggalkan bahasa itu daripada menunjuk ke sesuatu yang sekadar mirip.
9. Memblokir alternate sehingga tidak bisa dirayapi
Sebuah hubungan hanya terkonfirmasi jika kedua halaman bisa diambil. Melarang folder bahasa di robots.txt, atau mengurungnya di balik pengalihan geo yang memantulkan crawler, merusak pemeriksaan tautan balik. Perbaikan: jaga agar setiap URL yang dianotasi tetap bisa dirayapi dan dijangkau tanpa pengalihan.
10. Berharap hreflang memperbaiki konten duplikat
hreflang mengelola varian wilayah dan bahasa. Ia tidak menghapus duplikasi halaman yang nyaris identik dan bukan pengganti tag canonical. Dua halaman berbahasa Inggris yang hampir sama, satu untuk AS dan satu untuk Australia, tetap saling bersaing; hreflang hanya menyatakan pasar mana yang dituju masing-masing. Duplikat sejati butuh kanonisasi atau konsolidasi.
Metode implementasi mana yang dipakai
| Metode | Paling cocok untuk | Kelemahan utama |
|---|---|---|
| Elemen link HTML di head | Halaman HTML, bahasa yang sedikit, situs berbasis template | Markup tumbuh sebanding kuadrat jumlah bahasa dan ikut terkirim di setiap pemuatan halaman |
| Header HTTP Link | File non-HTML seperti PDF, yang tidak punya head untuk disunting | Tak terlihat di view source, butuh konfigurasi server atau CDN, mudah hilang saat migrasi |
| xhtml:link di sitemap XML | Situs besar dan banyak bahasa; menjaga markup halaman tetap ramping | Lebih sulit diperiksa sepintas, dan sitemap harus tetap valid serta mutakhir atau seluruh setnya basi |
Rute sitemap paling baik untuk skala besar, dan justru karena itu ia gagal tanpa suara: namespace yang cacat atau file yang basi ikut menyeret anotasinya. Validasi sitemap setelah setiap perubahan generator, dan pecah set multibahasa yang besar dengan sitemap index.
Cara memastikan hreflang bekerja
Periksa dari dua arah. Ambil halaman A, baca set anotasinya, lalu ambil setiap URL yang disebutkannya dan pastikan masing-masing mencantumkan set yang sama, termasuk dirinya sendiri. View source mencakup metode HTML, header respons mencakup yang kedua, dan sitemap mencakup yang ketiga. Setiap asimetri adalah bug-nya.
Bila Search Console menyediakan pelaporan penargetan internasional untuk properti Anda, laporan itu mendaftar error hreflang seperti tag balik yang hilang dan kode bahasa yang tak dikenal — cara tercepat melihat masalah dalam skala besar. Laporannya tertinggal dari deploy Anda, jadi perlakukan sebagai pendapat kedua. Untuk kesalahan tingkat perayapan yang mendasarinya, panduan error sitemap membahas pengalihan, 404, dan blokir robots.txt yang menjatuhkan set anotasi.