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/lokal suatu halaman ke Google:

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.

Setiap variasi halaman harus menyertakan 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 sintaks dari tiap elemen link:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />

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.
Letakkan tag <link> di dekat bagian atas elemen <head>. Setidaknya, tag <link> harus berada di dalam bagian <head> yang terbentuk dengan baik, atau di depan item yang mungkin menyebabkan <head> ditutup sebelum waktunya, seperti <p> atau piksel pelacakan. Jika ragu, tempelkan kode dari halaman yang dirender ke validator HTML untuk memastikan bahwa link berada di dalam elemen <head>.

Contoh

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

  • http://en.example.com/page.html - Halaman beranda berbahasa Inggris umum yang berisi informasi tentang biaya pengiriman internasional dari AS.
  • http://en-gb.example.com/page.html - Halaman beranda Inggris Raya yang menampilkan harga dalam pound sterling.
  • http://en-us.example.com/page.html - Halaman beranda AS yang menampilkan harga dalam dolar AS.
  • http://de.example.com/page.html Halaman beranda berbahasa Jerman.
  • http://www.example.com/ Halaman default yang tidak menargetkan bahasa atau lokal apa pun, serta memungkinkan pengguna memilih bahasa dan wilayahnya.

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

Berikut adalah HTML yang harus ditempelkan ke bagian <head> dari semua halaman yang tercantum di atas. HTML ini akan mengarahkan pengguna berbahasa Inggris umum, AS, dan Inggris Raya, serta pengguna berbahasa Jerman ke halaman yang dilokalkan, dan semua yang 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="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
       href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
       href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
       href="http://de.example.com/page.html" />
 <link rel="alternate" hreflang="x-default"
       href="http://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", ...

<url_x>
URL yang sepenuhnya memenuhi syarat dari halaman alternatif yang sesuai dengan string lokal yang ditetapkan ke atribut hreflang terkait. URL harus menyertakan tanda < > yang mengelilinginya. 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 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 pada contoh di bawah. Header Link: yang ditampilkan untuk setiap versi halaman akan serupa. Lihat panduan tambahan.

Contoh

Berikut contoh header Link: yang ditampilkan oleh situs yang memiliki 3 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: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

Peta Situs

Anda dapat menggunakan Peta Situs 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/lokal halaman, termasuk halaman itu sendiri. Oleh karena, itu jika Anda memiliki 3 versi halaman, peta situs memiliki 3 entri, masing-masing dengan 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.
  • Setiap elemen <url> harus menyertakan turunan <loc> yang menunjukkan URL halaman.
  • Setiap elemen <url> harus memiliki elemen turunan <xhtml:link rel="alternate" hreflang="supported_language-code"> yang mencantumkan setiap versi alternatif halaman, termasuk halaman itu sendiri. Urutan elemen <xhtml:link> turunan tersebut tidak penting, tetapi sebaiknya tetap dalam urutan yang sama untuk memudahkan pemeriksaan kesalahan.
  • Lihat panduan tambahan.

Contoh

Berikut ini 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, yang ditargetkan kepada pengguna berbahasa Inggris.
  • www.example.com/deutsch/page.html yang ditargetkan kepada pengguna berbahasa Jerman.
  • www.example.com/schweiz-deutsch/page.html yang ditargetkan kepada 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>http://www.example.com/english/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

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 lokal yang berbeda, sebaiknya berikan URL umum untuk pengguna yang tidak ditentukan secara geografis dari bahasa tersebut. Misalnya, Anda dapat memiliki URL khusus untuk penutur bahasa Inggris di Irlandia (en-ie), Kanada (en-ca), dan Australia (en-au), tetapi juga harus menyediakan halaman bahasa Inggris umum (en) untuk penelusur di, misalnya, AS, Inggris Raya, dan semua lokasi berbahasa Inggris lainnya. URL tersebut dapat berupa salah satu halaman khusus, jika Anda menginginkannya.
  • Jika 2 halaman tidak mengarahkan ke satu sama lain, tag akan diabaikan. Ini bertujuan agar seseorang di situs lain tidak dapat dengan bebas membuat tag yang memberi namanya sendiri sebagai versi alternatif di salah satu halaman Anda.
  • Jika sulit untuk mempertahankan sekumpulan link 2 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 and .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="http://example.com/" hreflang="x-default" />

Kode bahasa/wilayah yang didukung

Nilai dari atribut hreflang mengidentifikasi bahasa (dalam format ISO 639-1) dan, secara opsional, wilayah (dalam format ISO 3166-1 Alpha 2) dari URL alternatif. (Bahasa tidak harus terkait dengan wilayah.) Contoh:

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

Kode negara tidak serta merta ditentukan secara otomatis. Google tidak memperoleh bahasa dari kode negara secara otomatis. Anda dapat menentukan kode bahasa sendiri jika ingin menyederhanakan pemberian label. Tambahkan kode negara setelah bahasa untuk membatasi halaman di wilayah tertentu. Contoh:

  • be: Bahasa Belarus, apa pun wilayahnya (bukan bahasa Prancis Belgia)
  • nl-be: Bahasa Belanda untuk Belgia
  • fr-be: Bahasa Prancis untuk Belgia

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)

Atau, Anda juga dapat menentukan kombinasi skrip dan wilayah—misalnya, menggunakan zh-Hans-TW untuk menentukan bahasa China (Aksara Sederhana) bagi pengguna Taiwan.

Gunakan tag x-default untuk bahasa yang tidak cocok

Nilai hreflang="x-default" yang dicadangkan digunakan jika tidak ada bahasa/wilayah lain yang cocok dengan setelan browser pengguna. Nilai ini bersifat opsional, tetapi disarankan, sebagai cara Anda mengontrol halaman jika tidak ada bahasa yang cocok. Penggunaan yang tepat adalah menargetkan halaman beranda situs dengan peta yang dapat diklik untuk memungkinkan pengguna memilih negara.

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.
  • 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.

Men-debug error hreflang

Anda dapat menggunakan laporan Penargetan Internasional untuk men-debug masalah-masalah umum. Pastikan bahwa Google memiliki waktu untuk meng-crawl halaman Anda, lalu buka tab Bahasa di laporan untuk melihat apakah ada error yang terdeteksi.

Banyak pula alat pihak ketiga yang tersedia. Berikut beberapa alat yang populer. (Semua alat ini tidak dikelola atau diperiksa oleh Google.)