Lima konflik tag canonical yang diputuskan Google
Kata Google sendiri: petunjuk, bukan aturan. Ini lima titik tempat sinyal situs Anda saling bertabrakan, dan mana yang dimenangkan Google.
Tag canonical itu petunjuk, bukan aturan. Begitulah bunyi halaman kanonikalisasi milik Google, dan Google sendiri yang menentukan URL kanonis lewat pengalihan, keberadaan di sitemap, preferensi HTTPS dan klaster hreflang, bukan hanya lewat tag Anda. Ketika sinyal-sinyal itu saling bertentangan, tag Anda bisa kalah. Ini lima konflik penyebabnya.
Tag canonical itu perintah atau petunjuk?
Petunjuk. Halaman What is canonicalization menulis bahwa menyatakan preferensi kanonis adalah petunjuk, bukan aturan. Google mengelompokkan halaman yang ia baca sebagai duplikat, lalu menandai satu yang dinilainya paling lengkap dan paling berguna bagi pengguna. Tag Anda hanyalah satu masukan, dan posisinya ada dalam urutan kekuatan yang sudah dipublikasikan.
| Sinyal | Kekuatan | Kata Google |
|---|---|---|
| Pengalihan (redirect) | Kuat, disebut pertama | Sinyal kuat bahwa tujuan pengalihan yang sebaiknya jadi kanonis |
| Anotasi rel=canonical | Kuat, disebut kedua | Sinyal kuat bahwa URL yang ditentukan sebaiknya jadi kanonis |
| Tercantum di sitemap | Lemah | Membantu URL di sitemap menjadi kanonis, tapi Google tetap menentukan sendiri mana duplikatnya |
| HTTPS di atas HTTP | Sinyal dari setelan situs | Google lebih memilih halaman HTTPS sebagai kanonis, kecuali ada sinyal yang bertentangan |
| Keanggotaan klaster hreflang | Sinyal dari setelan situs | Google lebih memilih URL yang menjadi bagian klaster hreflang |
Dua praktik terbaik layak dicatat sebelum masuk ke daftar konflik. Jangan pakai robots.txt untuk kanonikalisasi, karena URL yang diblokir masih bisa diindeks Google, hanya saja tanpa isinya. Dan jangan menyebut URL kanonis yang berbeda untuk halaman yang sama lewat teknik yang berbeda.
Bolehkah canonical mengarah ke halaman noindex, terblokir, atau dialihkan?
Boleh, dan setiap variannya melemahkan tag itu sendiri. Google tidak menyarankan noindex untuk memilih kanonis di dalam satu situs, sebab halamannya lalu hilang sepenuhnya dari Penelusuran, dan menyebut rel=canonical sebagai solusi yang dianjurkan. Mengarah ke URL yang diblokir robots.txt lebih buruk lagi: dokumentasi noindex menyatakan tegas bahwa crawler yang tidak bisa mengambil halaman tidak akan pernah melihat aturan apa pun di dalamnya.
Pengalihan adalah kasus yang halus, karena posisinya di atas tag canonical dalam urutan Google sendiri. Dokumentasinya hanya menguraikan satu skenario: halaman HTTPS yang mengalihkan pengguna ke atau melewati HTTP, atau yang memasang canonical ke versi HTTP, terdaftar sebagai sinyal yang bertentangan, dan pengalihan HTTPS ke HTTP membuat Google sangat kuat memilih HTTP. Di luar contoh itu dokumentasinya tidak menjelaskan apa yang terjadi bila canonical menunjuk URL yang mengalihkan, jadi telusuri sendiri tujuannya dengan pemeriksa redirect kami, lalu arahkan tag ke URL yang menjawab 200.
Apa yang terjadi kalau sitemap dan tag canonical berbeda?
Yang satu ini disebut langsung di praktik terbaik Google: jangan mencantumkan satu URL di sitemap dan URL lain untuk halaman yang sama lewat rel=canonical. Keberadaan di sitemap adalah sinyal yang lebih lemah, jadi tag biasanya menang, tapi setiap URL yang Anda kirim tetap diusulkan sebagai kanonis dan Google masih harus memutuskan mana yang duplikat. Perbaikannya membosankan: bangun sitemap dari sumber data yang sama dengan yang menulis tag canonical, lalu periksa berkasnya dengan validator sitemap kami. Isi yang pantas masuk ke sana dibahas di panduan praktik terbaik sitemap.
Apakah rel=canonical bisa bentrok dengan hreflang?
Sering, dan inilah konflik yang paling merugikan situs multibahasa. Instruksi Google adalah menentukan halaman kanonis dalam bahasa yang sama, atau bahasa pengganti terbaik bila tidak ada yang sebahasa. Kalau canonical halaman Indonesia Anda menunjuk URL Inggris, Anda sedang meminta Google membuang yang berbahasa Indonesia.
Dua detail lain dari halaman yang sama. Anotasi rel=canonical yang membawa atribut hreflang, lang, media atau type sama sekali tidak dipakai untuk kanonikalisasi, itu tugas rel=alternate. Dan keanggotaan klaster itu sendiri sebuah sinyal: contoh Google adalah halaman de-de dan de-ch yang saling merujuk sehingga lebih disukai sebagai kanonis dibanding halaman de-at yang tertinggal di luar klaster. Kesalahan anotasi yang merusak klaster semacam itu dibahas di panduan hreflang kami.
Perlukah canonical yang menunjuk dirinya sendiri?
Google menganjurkannya. Praktik terbaiknya meminta Anda memasang link rel=canonical di halaman kanonis itu sendiri, yang dikenal sebagai self-referential canonical.
Kerusakan sebenarnya datang dari template yang menyusun tag dari URL permintaan. Begitu pengunjung datang membawa parameter pelacakan, tag langsung menunjuk varian berparameter itu, sehingga tiap klik iklan mendeklarasikan kanonisnya sendiri. Contoh Google untuk URL yang sebaiknya tidak muncul di hasil penelusuran adalah halaman produk dengan parameter gclid. Dua syarat lain dari halaman yang sama: pakai URL absolut, bukan relatif, dan jangan pernah mengarahkan canonical ke fragmen URL, karena Google umumnya tidak mendukung fragmen.
Apakah tag canonical bekerja di luar head atau lewat JavaScript?
Di luar head, tidak. Google menyatakan elemen link rel=canonical hanya diterima bila muncul di bagian <head> HTML, dan menambahkan bahwa setidaknya bagian head itu harus HTML yang valid. Di situlah biasanya bocor: satu tag yang tidak ditutup mendorong canonical Anda turun ke body, tempat ia tidak berarti apa-apa.
JavaScript didukung, tapi tidak dianjurkan. Halaman dasar-dasar JavaScript SEO menyebut Google Penelusuran menangkap canonical yang disuntikkan saat halaman dirender. Sementara halaman kanonikalisasi meminta Anda menaruh URL di sumber HTML dan memastikan JavaScript tidak mengubahnya jadi yang lain. Kalau tidak bisa ditaruh di sumber, hilangkan sama sekali dari sumber dan atur hanya lewat JavaScript. Apa pun pilihannya, kirim tepat satu: Google memperingatkan bahwa tag rel=canonical ganda atau yang saling bertentangan bisa memberi hasil tak terduga.
Bagaimana mengecek kanonis mana yang dipilih Google?
Alat Inspeksi URL di Search Console menampilkan kanonis pilihan Google di sebelah yang Anda deklarasikan. Halaman pemecahan masalah Google menambahkan hal yang perlu diketahui lebih dulu: setelah masalah konten diperbaiki pun, halaman bisa tertahan di klaster duplikat sampai dua minggu, dan lebih cepat keluar kalau perbedaan antarhalaman jelas dan signifikan. Semua itu tidak berarti kalau crawler tidak bisa menjangkau halamannya, dan itu cukup lima menit memeriksa robots.txt Anda.