Technical SEO menengah
Canonical Tag
Canonical bukan alat untuk memaksa Google memilih URL. Tag ini cuma memberi sinyal tentang URL mana yang menurut kita paling representatif. Google masih bisa memilih URL lain kalau sinyal lainnya bertentangan, dan memahami kenapa itu terjadi lebih berguna daripada menghafal cara pasangnya.
Canonical tag (<link rel="canonical">) adalah elemen HTML yang memberi sinyal kepada mesin pencari tentang URL utama yang ingin dianggap sebagai versi representatif dari sekumpulan halaman serupa atau duplikat. Google menggabungkan sinyal dari halaman-halaman duplikat ke URL canonical dan biasanya hanya menampilkan URL itu di hasil pencarian.
Masalah yang diselesaikan canonical
Satu halaman hampir selalu bisa diakses lewat lebih dari satu URL: dengan dan tanpa www, dengan dan tanpa garis miring akhir, dengan parameter tracking, dengan huruf besar-kecil berbeda, lewat halaman kategori yang berbeda, atau versi cetak. Mesin pencari harus memilih satu untuk ditampilkan dan untuk menampung sinyal seperti link. Proses memilih itu disebut kanonikalisasi, dan canonical tag adalah salah satu masukannya.
Cara pasang
Ada tiga cara mendeklarasikan canonical. Pilih satu, jangan gabungkan dengan nilai berbeda.
<head>
<link rel="canonical" href="https://www.example.com/sepatu/">
</head>Link: <https://www.example.com/panduan.pdf>; rel="canonical"Cara ketiga: masukkan hanya URL canonical ke sitemap. Ini sinyal yang lemah dan hanya melengkapi, tidak menggantikan dua cara di atas.
Tiga aturan yang tidak boleh dilanggar:
- URL absolut.
href="/sepatu/"secara teknis diterima tapi rawan salah tafsir; Google secara eksplisit menyarankan absolut, termasuk protokolnya. - Self-referencing. Halaman canonical menunjuk ke dirinya sendiri. Ini mencegah parameter tracking atau salinan tak sengaja jadi canonical.
- Satu deklarasi per halaman. Dua tag canonical dengan nilai berbeda membuat Google mengabaikan keduanya.
Bagaimana Google memilih canonical
Ini bagian yang jarang dijelaskan. Google tidak menuruti tag canonical begitu saja; ia menimbang beberapa sinyal, dan dokumentasinya menyebut kekuatan relatif masing-masing.
| Sinyal | Kekuatan menurut Google | Catatan |
|---|---|---|
| Redirect 301/308 | Kuat | Target redirect hampir selalu jadi canonical. |
rel="canonical" | Kuat | Tapi bisa diabaikan kalau bertentangan dengan sinyal lain. |
| Sitemap | Lemah | Membantu, tidak menentukan. |
| Internal link | Tidak dinyatakan eksplisit | Dalam praktik, kalau seluruh situs menautkan versi A sementara canonical bilang B, Google sering memilih A. |
| HTTPS vs HTTP | Preferensi bawaan | Google lebih memilih HTTPS bila keduanya ada. |
| Kualitas isi | Preferensi bawaan | Kalau dua halaman "duplikat" ternyata isinya berbeda cukup jauh, Google bisa mengindeks keduanya atau memilih yang lebih lengkap. |
Skenario yang paling sering membuat Google memilih URL lain:
- Canonical menunjuk ke halaman yang isinya berbeda. Canonical hanya untuk halaman yang benar-benar serupa. Kalau halaman kategori diberi canonical ke beranda, Google mengabaikannya dan melaporkan "Duplicate, Google chose different canonical than user".
- Canonical menunjuk ke URL yang redirect atau 404. Google mengikuti redirect-nya, atau membuang sinyalnya kalau targetnya mati.
- Internal link, sitemap, dan canonical tidak sepakat. Google memilih berdasarkan mayoritas sinyal.
- Canonical dimasukkan lewat JavaScript setelah render, sementara HTML mentah punya nilai lain. Google membaca yang mana? Tidak pasti. Taruh di HTML mentah.
- Halaman diblokir robots.txt. Google tidak bisa membaca tag canonical-nya.
Kapan canonical bukan alat yang tepat
| Situasi | Pakai | Bukan |
|---|---|---|
| Halaman pindah permanen ke URL baru | Redirect 301 | Canonical (halaman lama tetap bisa diakses dan terindeks sebagian) |
| Halaman tidak ingin muncul di hasil pencarian sama sekali | noindex | Canonical ke halaman lain (Google bisa mengabaikannya kalau isinya beda) |
| Halaman 2, 3, 4 dari daftar berhalaman | Self-referencing canonical di tiap halaman | Canonical semua halaman ke halaman 1 (menyembunyikan item di halaman lanjutan) |
| Versi bahasa berbeda | hreflang, dengan self-referencing canonical di tiap versi | Canonical lintas bahasa (isinya tidak duplikat) |
| Konten disindikasi ke situs lain | Minta situs penerima memasang canonical lintas domain ke sumber, atau noindex | Mengandalkan Google mengenali sumber asli sendiri |
Cara mengecek canonical yang dipilih Google
- Buka URL Inspection, masukkan URL.
- Di bagian Indexing, bandingkan User-declared canonical dengan Google-selected canonical. Kalau sama: selesai. Kalau berbeda: cari sinyal yang bertentangan dari daftar di atas.
- Untuk melihat skala masalahnya, buka laporan Page indexing dan cari alasan "Duplicate, Google chose different canonical than user" dan "Duplicate without user-selected canonical". Yang kedua berarti kita tidak memasang canonical sama sekali di URL itu.
- Jalankan crawler desktop dan ekspor kolom canonical. Cari halaman yang canonical-nya menunjuk ke URL berstatus 3xx atau 4xx, dan halaman yang canonical-nya kosong.
Canonical lintas domain
Google menerima canonical yang menunjuk ke domain lain, dan memperlakukannya seperti canonical biasa. Ini yang dipakai untuk sindikasi: situs penerima memasang canonical ke artikel asli. Dalam praktik, penerima yang lebih besar sering tidak mau memasangnya, dan Google pernah menyatakan bahwa untuk sindikasi, noindex di pihak penerima lebih dapat diandalkan daripada canonical. Kalau tidak bisa mengontrol situs penerima, terima bahwa versi mereka mungkin yang tampil.
Rujukan
- How to specify a canonical with rel="canonical" and other methods Google Search Central
- Canonicalization Google Search Central
- Page indexing report: reasons Search Console Help