Mas Ahmad SafwanSEO & AI Search Knowledge Base Cari
Menu

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.

Oleh Diterbitkan 4 menit baca

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.

https://example.com/sepatu/https://www.example.com/sepatuhttps://www.example.com/sepatu/?utm_source=ighttps://www.example.com/Sepatu/
https://www.example.com/sepatu/
Empat URL, satu isi. Google memilih satu sebagai canonical dan menggabungkan sinyal dari yang lain ke sana.

Cara pasang

Ada tiga cara mendeklarasikan canonical. Pilih satu, jangan gabungkan dengan nilai berbeda.

Di HTML, di dalam <head>. Cara paling umum.
<head>
  <link rel="canonical" href="https://www.example.com/sepatu/">
</head>
Lewat HTTP header. Berguna untuk berkas non-HTML seperti PDF.
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:

  1. URL absolut. href="/sepatu/" secara teknis diterima tapi rawan salah tafsir; Google secara eksplisit menyarankan absolut, termasuk protokolnya.
  2. Self-referencing. Halaman canonical menunjuk ke dirinya sendiri. Ini mencegah parameter tracking atau salinan tak sengaja jadi canonical.
  3. 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.

SinyalKekuatan menurut GoogleCatatan
Redirect 301/308KuatTarget redirect hampir selalu jadi canonical.
rel="canonical"KuatTapi bisa diabaikan kalau bertentangan dengan sinyal lain.
SitemapLemahMembantu, tidak menentukan.
Internal linkTidak dinyatakan eksplisitDalam praktik, kalau seluruh situs menautkan versi A sementara canonical bilang B, Google sering memilih A.
HTTPS vs HTTPPreferensi bawaanGoogle lebih memilih HTTPS bila keduanya ada.
Kualitas isiPreferensi bawaanKalau 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

SituasiPakaiBukan
Halaman pindah permanen ke URL baruRedirect 301Canonical (halaman lama tetap bisa diakses dan terindeks sebagian)
Halaman tidak ingin muncul di hasil pencarian sama sekalinoindexCanonical ke halaman lain (Google bisa mengabaikannya kalau isinya beda)
Halaman 2, 3, 4 dari daftar berhalamanSelf-referencing canonical di tiap halamanCanonical semua halaman ke halaman 1 (menyembunyikan item di halaman lanjutan)
Versi bahasa berbedahreflang, dengan self-referencing canonical di tiap versiCanonical lintas bahasa (isinya tidak duplikat)
Konten disindikasi ke situs lainMinta situs penerima memasang canonical lintas domain ke sumber, atau noindexMengandalkan Google mengenali sumber asli sendiri

Cara mengecek canonical yang dipilih Google

  1. Buka URL Inspection, masukkan URL.
  2. Di bagian Indexing, bandingkan User-declared canonical dengan Google-selected canonical. Kalau sama: selesai. Kalau berbeda: cari sinyal yang bertentangan dari daftar di atas.
  3. 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.
  4. 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

  1. How to specify a canonical with rel="canonical" and other methods Google Search Central
  2. Canonicalization Google Search Central
  3. Page indexing report: reasons Search Console Help

Tentang penulis

Ahmad Safwan menulis dan mendokumentasikan pembelajaran tentang SEO, technical SEO, search visibility, dan perkembangan AI Search di situs ini. Koreksi dan pertanyaan lewat halaman kontak.

Lanjut membaca

  • Crawling vs indexingpemula

    Dua proses berbeda dengan alat kontrol berbeda, dan kenapa di-crawl tidak berarti diindeks.

  • Robots.txtmenengah

    Sintaks, aturan pencocokan Google, contoh berkas, dan lima kesalahan yang sering terjadi.

  • XML sitemappemula

    Format, batas, lastmod yang jujur, dan apa yang tidak dilakukan sitemap.