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 wilayahnyaen-GB
: Konten bahasa Inggris, untuk pengguna di Inggris Rayade-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 dihttps://de.example.com/index.html
:<link rel="alternate" hreflang="en-gb" href="https://en-gb.example.com/index.html" />
Anda juga harus memiliki linkhreflang
dihttps://en-gb.example.com/index.html
yang mengarah kembali ke verside
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.
-
Alat pembuat tag
hreflang
Aleyda Solis untuk membuat atau mengubah taghreflang
. -
Alat pengujian tag
hreflang
SEO Merkle untuk memvalidasi taghreflang
di satu halaman aktif.