Kesilapan Hreflang yang Membunuh SEO Antarabangsa
Sepuluh ralat menjelaskan hampir setiap persediaan hreflang yang rosak, dan kebanyakannya gagal secara senyap. Begini cara mengesan dan membetulkan setiap satu.
Kebanyakan masalah hreflang berpunca daripada sepuluh kesilapan: pautan balik yang tiada, tiada rujukan kendiri, kod bahasa atau wilayah yang tidak sah, URL relatif, menunjuk ke halaman bukan kanonikal, x-default yang tiada, kaedah pelaksanaan yang bercampur, liputan separa, versi alternatif yang disekat, dan menganggap hreflang sebagai penyelesaian kandungan pendua. Setiap satu ada gejala yang jelas dan pembetulan yang khusus.
Apa sebenarnya yang hreflang lakukan
hreflang memberitahu enjin carian versi bahasa atau wilayah yang mana patut ditunjukkan kepada seseorang pengguna. Ia menukar URL dalam hasil carian, dan tidak lebih daripada itu. Ia bukan peningkat kedudukan. Halaman dengan anotasi yang sempurna tetap perlu memperoleh kedudukannya atas merit sendiri.
Rupa set hreflang yang betul
Tiga versi — Inggeris, Sepanyol dan satu sandaran — ditulis sebagai elemen link dalam head setiap satu 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 peta laman XML, di mana urlset mesti mengisytiharkan 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 Sepanyol membawa set yang serupa. Simetri itulah keseluruhan mekanismenya, dan kebanyakan kesilapan di bawah ialah cara-cara merosakkannya.
1. Pautan balik yang tiada
Setiap hubungan hreflang bersifat dua hala. Jika A menunjuk ke B, B mesti menunjuk balik ke A, jika tidak anotasi itu tidak disahkan dan diabaikan. Gejala: versi tidak pernah bertukar dalam hasil carian, dan Search Console melaporkan tiada tag balik. Pembetulan: jana set lengkap yang sama untuk setiap halaman dalam kumpulan itu, bukan senarai sehala.
2. Tiada hreflang rujukan kendiri
Setiap halaman mesti menyertakan entri hreflang untuk URL-nya sendiri. Meninggalkannya menjadikan set itu tidak lengkap, dan enjin membuang set yang tidak dapat diselaraskan. Pembetulan: tambah rujukan kendiri, supaya kumpulan tiga bahasa membawa tiga entri pada ketiga-tiga halaman.
3. Kod bahasa dan wilayah yang salah
Nilai bahasa mesti kod ISO 639-1 dan wilayah yang bersifat pilihan mesti ISO 3166-1 Alpha 2. Wilayah tidak boleh berdiri sendiri. Tiga ralat klasik: en-UK dan bukannya en-GB, mengelirukan zh-CN (bahasa Cina di China) dengan zh-Hans (subtag skrip, bukan wilayah), dan mencipta bahasa daripada nama negara, seperti uk untuk Britain sedangkan ia bermaksud bahasa Ukraine. Nilai yang tidak sah dibuang tanpa amaran.
4. URL relatif
Nilai hreflang mesti URL mutlak yang lengkap, termasuk protokol. Nilai seperti /es/pagina/ tidak sah dan entri itu dilangkau. Gejala: anotasi yang nampak betul dalam templat anda tetapi tidak pernah didaftarkan di mana-mana. Pembetulan: keluarkan https://example.com/es/pagina/ setiap kali, peraturan yang sama seperti yang terpakai pada nilai loc peta laman.
5. Menunjuk ke URL bukan kanonikal, yang mengubah hala atau noindex
hreflang dan kanonikal mesti sepakat. Kanonikal setiap halaman menunjuk kepada dirinya sendiri, dan setiap nilai hreflang menunjuk ke URL kanonikal versi yang lain. Menganotasi URL yang mengubah hala, dikanonikalkan ke tempat lain atau ditanda noindex menghantar arahan yang bercanggah, dan konflik itu biasanya diselesaikan dengan membuang anotasi anda. Pembetulan: pastikan setiap URL dalam kumpulan memulangkan 200, boleh diindeks dan kanonikal kepada dirinya sendiri.
6. x-default yang tiada atau disalahgunakan
x-default menandakan sandaran untuk pengguna yang bahasanya tidak anda liputi: pemilih bahasa, halaman pendaratan global, atau versi utama anda. Gejala: pelawat dari lokal yang tidak diliputi mendarat pada versi yang sembarangan. Pembetulan: namakan satu sandaran yang benar-benar sesuai dan ulanginya merentas seluruh kumpulan.
7. Mencampurkan kaedah pelaksanaan
Ada tiga tempat yang sah untuk hreflang: elemen link HTML dalam head, pengepala Link HTTP, dan anotasi xhtml:link dalam peta laman XML. Mana-mana satu berfungsi. Masalah bermula apabila sesebuah laman melaksanakan dua kaedah separuh jalan, sehingga head menyenaraikan dua bahasa manakala peta laman menyenaraikan empat. Pilih satu kaedah dan lengkapkannya.
8. Menganotasi halaman utama sahaja
hreflang ialah isyarat peringkat halaman, bukan tetapan peringkat laman. Menandakan halaman utama tidak membantu 500 halaman produk di bawahnya. Gejala: halaman utama yang betul bagi setiap pasaran, tetapi halaman yang lebih dalam dalam bahasa yang salah. Pembetulan: gandingkan setiap halaman dengan padanan sebenarnya, dan jika tiada padanan wujud, tinggalkan bahasa itu daripada set dan bukannya menunjuk ke sesuatu yang hampir sama.
9. Menyekat versi alternatif sehingga ia tidak boleh dirayap
Sesuatu hubungan hanya disahkan jika kedua-dua halaman boleh diambil. Melarang folder bahasa dalam robots.txt, atau memagarinya di sebalik pengubahhalaan geo yang menyingkir perayap, merosakkan semakan pautan balik. Pembetulan: kekalkan setiap URL yang dianotasi boleh dirayap dan boleh dicapai tanpa pengubahhalaan.
10. Mengharapkan hreflang membetulkan kandungan pendua
hreflang menguruskan varian wilayah dan bahasa. Ia tidak menyahpendua halaman yang hampir serupa dan ia bukan pengganti tag kanonikal. Dua halaman Inggeris yang hampir serupa, satu untuk AS dan satu untuk Australia, tetap bersaing antara satu sama lain; hreflang cuma menyatakan pasaran mana yang dituju oleh setiap satu. Pendua sebenar memerlukan kanonikalisasi atau penyatuan.
Kaedah pelaksanaan yang mana patut digunakan
| Kaedah | Sesuai untuk | Kelemahan utama |
|---|---|---|
| Elemen link HTML dalam head | Halaman HTML, bahasa yang sedikit, laman berasaskan templat | Markup membesar mengikut kuasa dua bilangan bahasa dan dihantar pada setiap muatan halaman |
| Pengepala Link HTTP | Fail bukan HTML seperti PDF, yang tiada head untuk disunting | Tidak kelihatan dalam view source, perlukan konfigurasi pelayan atau CDN, mudah hilang semasa penghijrahan |
| xhtml:link dalam peta laman XML | Laman besar dan banyak bahasa; mengekalkan markup halaman ringkas | Lebih sukar disemak secara rawak, dan peta laman mesti kekal sah dan terkini atau keseluruhan set menjadi lapuk |
Laluan peta laman paling baik untuk skala, dan itu jugalah sebabnya ia gagal secara senyap: namespace yang cacat atau fail yang lapuk membawa anotasi turun bersamanya. Sahkan peta laman selepas sebarang perubahan penjana, dan pecahkan set berbilang bahasa yang besar dengan indeks peta laman.
Cara menyemak sama ada hreflang berfungsi
Semak dalam kedua-dua arah. Ambil halaman A, baca set anotasinya, kemudian ambil setiap URL yang dinamakannya dan sahkan setiap satu menyenaraikan set yang sama termasuk dirinya sendiri. View source merangkumi kaedah HTML, pengepala respons merangkumi yang kedua, dan peta laman merangkumi yang ketiga. Sebarang ketidaksimetrian itulah pepijatnya.
Jika Search Console menawarkan pelaporan penyasaran antarabangsa untuk laman anda, ia menyenaraikan ralat hreflang seperti tag balik yang tiada dan kod bahasa yang tidak dikenali — cara terpantas melihat masalah pada skala besar. Ia ketinggalan di belakang penerapan anda, jadi anggapnya sebagai pendapat kedua. Untuk kerosakan peringkat perayapan di bawahnya, panduan ralat peta laman merangkumi pengubahhalaan, 404 dan sekatan robots.txt yang menjatuhkan set anotasi.