Memberi tahu Google tentang versi halaman yang dilokalkan

Jika Anda memiliki beberapa versi halaman untuk bahasa atau wilayah yang berbeda, beri tahu Google tentang variasi tersebut. Tindakan ini akan membantu Google Penelusuran mengarahkan pengguna ke versi halaman yang paling sesuai menurut bahasa atau wilayah.

Perlu diperhatikan bahwa tanpa melakukan tindakan apa pun, Google mungkin tetap menemukan versi bahasa alternatif halaman Anda, tetapi sebaiknya Anda secara eksplisit menandai halaman khusus bahasa atau wilayah.

Sebaiknya tandai halaman alternatif seperti dalam beberapa contoh skenario berikut:

  • Jika Anda mempertahankan konten utama dalam satu bahasa dan hanya menerjemahkan template, seperti navigasi dan footer. Halaman yang menyajikan konten buatan pengguna, seperti forum, biasanya melakukan hal ini.
  • Jika konten Anda memiliki variasi regional yang kecil dengan konten yang mirip dalam satu bahasa. Misalnya, Anda mungkin memiliki konten berbahasa Inggris yang ditargetkan ke AS, Britania Raya, dan Irlandia.
  • Jika konten Anda sepenuhnya diterjemahkan ke beberapa bahasa. Contoh, Anda memiliki versi bahasa Inggris dan Jerman untuk tiap halaman.

Versi halaman yang dilokalkan hanya dianggap duplikat jika konten utama halaman tersebut tidak diterjemahkan.

Metode untuk menandai halaman alternatif

Ada tiga cara untuk menandai beberapa versi bahasa/lokalitas suatu halaman ke Google:

Ketiga metode ini setara dari perspektif Google dan Anda dapat memilih metode yang paling sesuai untuk situs Anda. Meskipun Anda dapat menggunakan ketiga metode tersebut secara bersamaan, tidak ada manfaatnya di Penelusuran (bahkan, mungkin lebih sulit untuk mengelola tiga penerapan daripada hanya memilih satu).

Gunakan hreflang untuk memberi tahu Google tentang variasi konten Anda, sehingga kami dapat memahami bahwa halaman tersebut merupakan variasi yang dilokalkan dari konten yang sama. Google tidak menggunakan atribut hreflang atau lang HTML untuk mendeteksi bahasa halaman; sebagai gantinya, kami menggunakan algoritme untuk menentukan bahasa.

Panduan untuk semua metode

  • Tiap versi bahasa harus mencantumkan versinya sendiri serta semua versi bahasa lainnya.
  • URL alternatif harus sepenuhnya memenuhi syarat, termasuk metode transportasi (http/https), sehingga:
    https://example.com/foo, bukan //example.com/foo atau /foo
  • URL alternatif tidak harus berada di domain yang sama.
  • Jika Anda memiliki beberapa URL alternatif yang ditargetkan kepada pengguna dengan bahasa yang sama tetapi pada lokalitas yang berbeda, sebaiknya berikan juga URL umum untuk pengguna yang tidak ditentukan secara geografis dari bahasa tersebut. Misalnya, jika Anda memiliki URL khusus untuk penutur bahasa Inggris di Irlandia (en-ie), Kanada (en-ca), dan Australia (en-au), sediakan halaman bahasa Inggris umum (en) untuk penelusur di AS, Inggris Raya, dan semua lokasi berbahasa Inggris lainnya. URL tersebut dapat berupa salah satu halaman khusus, jika Anda menginginkannya.
  • Jika dua halaman tidak mengarahkan ke satu sama lain, tag akan diabaikan. Ini bertujuan agar seseorang di situs lain tidak dapat dengan bebas membuat tag yang menamai dirinya sendiri sebagai versi alternatif dari salah satu halaman Anda.
  • Jika sulit untuk mempertahankan sekumpulan link dua arah yang lengkap untuk setiap bahasa, Anda dapat menghilangkan beberapa bahasa di sejumlah halaman; Google akan tetap memproses link yang mengarahkan ke satu sama lain. Namun, sangat penting untuk menautkan halaman bahasa yang baru diperluas secara dua arah ke bahasa asal/dominan. Misalnya, jika situs pada awalnya dibuat dalam bahasa Prancis menggunakan URL .fr, Anda harus menautkan secara dua arah dari halaman bahasa Meksiko (.mx) dan Spanyol (.es) yang baru ke halaman .fr yang paling sering digunakan, bukan menautkan secara dua arah halaman variasi bahasa Spanyol (.mx dan .es) yang baru ke satu sama lain.
  • Pertimbangkan untuk menambahkan halaman cadangan bagi bahasa yang tidak cocok, terutama di fitur pemilih bahasa/negara atau halaman beranda yang otomatis mengalihkan. Gunakan nilai x-default:
    <link rel="alternate" href="https://example.com/" hreflang="x-default" />

Tag HTML

Tambahkan elemen <link rel="alternate" hreflang="lang_code"... > ke header halaman Anda untuk memberi tahu Google semua variasi bahasa dan wilayah halaman. Metode ini berguna jika Anda tidak memiliki peta situs atau kemampuan untuk menentukan header respons HTTP pada situs.

Untuk setiap variasi halaman, sertakan kumpulan elemen <link> dalam elemen <head>, dengan satu link untuk setiap variasi halaman termasuk halaman itu sendiri. Kumpulan link akan serupa untuk tiap versi halaman. Lihat panduan tambahan.

Berikut adalah sintaksis dari tiap elemen link:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />
Sintaksis
lang_code Kode bahasa/wilayah yang didukung yang ditargetkan oleh versi halaman, atau x-default untuk dicocokkan dengan bahasa apa pun yang tidak dicantumkan secara eksplisit oleh tag hreflang di halaman.
url_of_page URL yang sepenuhnya memenuhi syarat untuk versi halaman ini bagi bahasa/wilayah yang ditentukan.

Tag <link> harus berada di dalam bagian HTML <head> yang terbentuk dengan baik. Jika ragu, tempelkan kode dari halaman yang dirender ke validator HTML untuk memastikan bahwa link berada di dalam elemen <head>. Selain itu, jangan gabungkan tag link untuk representasi alternatif dokumen; misalnya, jangan gabungkan anotasi hreflang dengan atribut lain seperti media dalam satu tag <link>.

Contoh

Misalnya, Widgets, Inc memiliki situs yang melayani pengguna di AS, Britania Raya, dan Jerman. URL berikut berisi konten yang hampir sama persis, tetapi dengan variasi regional:

URL dengan variasi regional
https://en.example.com/page.html Halaman beranda berbahasa Inggris umum yang berisi informasi tentang biaya pengiriman internasional dari AS.
https://en-gb.example.com/page.html Halaman beranda Inggris Raya yang menampilkan harga dalam pound sterling.
https://en-us.example.com/page.html Halaman beranda AS yang menampilkan harga dalam dolar AS.
https://de.example.com/page.html Halaman beranda berbahasa Jerman.
https://www.example.com/ Halaman default yang tidak menargetkan bahasa atau lokalitas mana pun; memiliki pemilih untuk mengizinkan pengguna memilih bahasa dan wilayah mereka.

Perlu diperhatikan bahwa subdomain bahasa tertentu di URL tersebut (en, en-gb, en-us, de) tidak digunakan oleh Google untuk menentukan target audiens halaman; Anda harus memetakan target audiens secara eksplisit.

Berikut adalah HTML yang akan berada di bagian <head> dari semua halaman yang tercantum di tabel URL dengan variasi regional. HTML ini akan mengarahkan pengguna berbahasa Inggris umum, AS, dan Inggris Raya, serta pengguna berbahasa Jerman ke halaman yang dilokalkan, dan semua pengguna lainnya ke halaman beranda umum. Google Penelusuran menampilkan hasil yang sesuai untuk pengguna, menurut setelan browser mereka.

<head>
 <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
       href="https://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
       href="https://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
       href="https://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
       href="https://de.example.com/page.html" />
 <link rel="alternate" hreflang="x-default"
       href="https://www.example.com/" />
</head>

Header HTTP

Anda dapat menampilkan header HTTP dengan respons GET halaman untuk memberi tahu Google tentang semua varian bahasa dan wilayah di halaman. Ini berguna untuk file non-HTML (seperti PDF).

Berikut adalah format header:

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...
Sintaksis
<url_x> URL yang sepenuhnya memenuhi syarat dari halaman alternatif yang sesuai dengan string lokalitas yang ditetapkan ke atribut hreflang terkait. URL harus menyertakan tanda < dan > sebelum dan setelahnya. Contoh: <https://www.google.com>
lang_code_x Kode bahasa/wilayah yang didukung yang ditargetkan oleh versi halaman ini, atau x-default untuk dicocokkan dengan bahasa apa pun yang tidak dicantumkan secara eksplisit oleh tag hreflang di halaman.

Anda harus menentukan kumpulan nilai <url>, rel="alternate", dan hreflang untuk setiap versi halaman termasuk versi yang diminta, yang dipisahkan dengan koma seperti yang ditunjukkan dalam contoh berikut. Header Link: yang ditampilkan untuk setiap halaman akan serupa. Lihat panduan tambahan.

Contoh

Berikut contoh header Link: yang ditampilkan oleh situs yang memiliki tiga versi file PDF, yaitu satu versi untuk pengguna berbahasa Inggris, satu versi untuk pengguna berbahasa Jerman dari Swiss, dan satu versi untuk semua pengguna berbahasa Jerman lainnya:

Link: <https://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <https://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <https://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

Peta Situs

Anda dapat menggunakan peta situs XML untuk memberi tahu Google semua variasi bahasa dan wilayah untuk setiap URL. Untuk melakukannya, tambahkan elemen <loc> yang menentukan URL tunggal, dengan entri <xhtml:link> turunan yang mencantumkan setiap varian bahasa/lokalitas halaman, termasuk halaman itu sendiri. Oleh karena itu, jika Anda memiliki 3 versi halaman, peta situs akan memiliki entri untuk URL setiap versi dan setiap entri akan memiliki 3 entri turunan yang serupa.

Aturan peta situs:

  • Tentukan namespace xhtml sebagai berikut:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Buat elemen <url> terpisah untuk setiap URL seperti yang Anda lakukan pada peta situs lainnya.
  • Setiap elemen <url> harus menyertakan <loc> turunan yang menunjukkan URL halaman.
  • Setiap elemen <url> harus memiliki elemen <xhtml:link rel="alternate" hreflang="supported_language-code"> turunan yang mencantumkan setiap versi alternatif halaman, termasuk halaman itu sendiri. Urutan elemen <xhtml:link> turunan tersebut tidak penting, tetapi sebaiknya tetap gunakan urutan yang sama untuk memudahkan pemeriksaan kesalahan. Elemen turunan tidak masuk hitungan batas URL untuk peta situs.
  • Upload peta situs yang berlaku ke direktori di situs Anda. Perlu diingat bahwa peta situs hanya dapat berisi URL turunan dari direktori tempat peta situs dihosting.
  • Dokumentasi kami tentang peta situs juga berlaku untuk ekstensi peta situs. Pastikan untuk mengikuti panduan peta situs umum.
  • Lihat panduan tambahan.

Contoh

Berikut halaman berbahasa Inggris yang ditargetkan kepada pengguna berbahasa Inggris di seluruh dunia, dengan versi ekuivalen dari halaman ini yang ditargetkan kepada pengguna berbahasa Jerman di seluruh dunia, dan pengguna berbahasa Jerman yang tinggal di Swiss. Berikut semua URL yang ada di situs Anda:

  • www.example.com/english/page.html ditargetkan untuk pengguna berbahasa Inggris.
  • www.example.de/deutsch/page.html ditargetkan untuk pengguna berbahasa Jerman.
  • www.example.de/schweiz-deutsch/page.html ditargetkan untuk pengguna berbahasa Jerman di Swiss.

Berikut peta situs untuk ketiga halaman tersebut:

<?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://www.example.com/english/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>https://www.example.de/deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>https://www.example.de/schweiz-deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="https://www.example.de/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="https://www.example.de/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="https://www.example.com/english/page.html"/>
  </url>
</urlset>

Kode bahasa dan wilayah yang didukung

Nilai atribut hreflang terdiri dari satu atau dua nilai opsional, yang dipisahkan oleh tanda hubung. Misalnya en-US. Kode pertama dari atribut hreflang adalah kode bahasa (dalam format ISO 639-1) yang diikuti oleh kode kedua opsional yang mewakili kode wilayah (dalam format ISO 3166-1 Alpha 2) dari URL alternatif.

Untuk menargetkan berbagai penutur bahasa di Belgia, Anda dapat menggunakan kode bahasa dan wilayah berikut:

  • Baik (Bahasa Jerman untuk pengguna di Belgia): de-be
  • Baik (Belanda untuk pengguna di Belgia): nl-be
  • Baik (Prancis untuk pengguna di Belgia): fr-be
  • Buruk karena kode pertama adalah untuk bahasa (be adalah kode bahasa Belarusia): be

Untuk menyederhanakan pemberian label, Anda dapat menentukan kode bahasa yang berdiri sendiri. Contoh:

  • de: Konten bahasa Jerman, apa pun wilayahnya
  • en-GB: Konten bahasa Inggris, untuk pengguna di Inggris Raya
  • de-ES: Konten bahasa Jerman, untuk pengguna di Spanyol

Untuk variasi skrip bahasa, skrip yang tepat diperoleh dari negara yang bersangkutan. Misalnya, dengan menggunakan zh-TW untuk pengguna di Taiwan, skrip bahasa akan diperoleh secara otomatis (dalam contoh ini: Aksara China Tradisional). Anda juga dapat menentukan skrip itu sendiri secara eksplisit menggunakan ISO 15924, seperti ini:

  • zh-Hant: China (Aksara Tradisional)
  • zh-Hans: China (Aksara Sederhana)

Seperti kode bahasa lainnya, Anda juga dapat menentukan wilayah opsional. Misalnya, gunakan zh-Hans-US untuk menentukan bahasa China (Aksara Sederhana) bagi pengguna di Amerika Serikat.

Menggunakan nilai x-default untuk bahasa yang tidak cocok

Nilai x-default yang dicadangkan digunakan jika tidak ada bahasa/wilayah lain yang cocok dengan setelan browser pengguna. Nilai ini direkomendasikan untuk menentukan halaman cadangan bagi pengguna yang setelan bahasanya tidak cocok dengan versi situs Anda yang dilokalkan. Meskipun Anda dapat menggunakan nilai x-default untuk halaman mana pun, nilai tersebut didesain untuk halaman pemilih bahasa, sehingga akan berfungsi paling baik di halaman tersebut.

Anda tidak perlu menentukan kode bahasa untuk nilai x-default; halaman akan ditargetkan kepada pengguna yang setelan bahasanya tidak cocok dengan situs Anda, sehingga bahasa halamannya tidak relevan.

Untuk menerapkan anotasi hreflang="x-default", tambahkan tag link tambahan ke anotasi hreflang yang sudah ada, lalu tetapkan atribut href ke URL yang Anda inginkan untuk dituju pengguna jika situs Anda tidak mendukung bahasa mereka. Misalnya, penerapan HTML mungkin akan terlihat seperti ini:

<link rel="alternate" href="https://example.com/en-gb" hreflang="en-gb" />
<link rel="alternate" href="https://example.com/en-us" hreflang="en-us" />
<link rel="alternate" href="https://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="https://example.com/country-selector" hreflang="x-default" />

Pemecahan masalah

Kesalahan Umum

Berikut ini kesalahan yang umum terjadi dengan penggunaan hreflang:

  • Tidak ada link kembali: Jika halaman X ditautkan ke halaman Y, halaman Y harus ditautkan kembali ke halaman X. Jika hal ini tidak terjadi di semua halaman yang menggunakan anotasi hreflang, anotasi tersebut dapat diabaikan atau diinterpretasikan dengan tidak tepat. Misalnya, anggaplah link ini di https://de.example.com/index.html:
    <link rel="alternate" hreflang="en-gb" href="https://en-gb.example.com/index.html" />
    Anda juga harus memiliki link hreflang di https://en-gb.example.com/index.html yang mengarah kembali ke versi de konten:
    <link rel="alternate" hreflang="de" href="https://de.example.com/index.html" />
  • Kode bahasa salah: Pastikan semua kode bahasa yang Anda gunakan mengidentifikasi bahasa (dalam format ISO 639-1) dan, secara opsional, wilayah (dalam format ISO 3166-1 Alpha 2) dari URL alternatif. Menentukan wilayah saja akan dianggap tidak valid.

Mendebug error hreflang

Ada banyak alat pihak ketiga yang tersedia yang dapat Anda gunakan untuk men-debug anotasi hreflang. Berikut beberapa alat yang populer. Semua alat ini tidak dikelola atau diperiksa oleh Google.