Canonical etiketi (rel="canonical"), aynı ya da çok benzer içeriği gösteren URL'lerden hangisinin asıl sürüm olarak dizine girmesini istediğinizi Google'a bildiren bağlantı işaretidir. E-ticarette dizine açık her sayfa kendi URL'sini, dizme, takip ve varyant parametresi taşıyan adresler ise parametresiz sürümü göstermelidir. İç linkler, site haritası ve yönlendirmeler aynı adresi desteklemezse Google başka bir sürümü seçebilir.

Mağaza denetimlerinde en sık bozuk bulduğum etiket canonical. Kimi sitede her ürün sayfası kategori sayfasını gösteriyor, kimi sitede tema güncellemesinden sonra bütün sayfaların canonical'ı ana sayfaya dönmüş, kimi sitede de canonical ile site haritası iki farklı URL sürümünü savunuyor. Etiketin yeri, e-ticaret SEO rehberinde anlattığım dizin envanterinin içinde. Aşağıda hangi sayfanın neyi göstermesi gerektiğini, Google'ın etiketi nasıl değerlendirdiğini ve hataların Search Console'da nasıl göründüğünü anlatıyorum.

Canonical URL nedir ve Google canonical etiketini nasıl değerlendirir?

Canonical URL, birbirinin kopyası sayılan sayfa grubundan Google'ın arama sonuçlarında göstermek için seçtiği temsilci adrestir. Canonical etiketi ise bu seçim için sizin yaptığınız öneridir. Google'ın kopya URL'leri birleştirme belgesi rel="canonical" bağlantısını güçlü bir sinyal olarak tanımlıyor, ama son kararı sayfaları değerlendirdikten sonra kendisi veriyor.

Aynı belge üç yöntemi etkisine göre sıralıyor. Yönlendirmeler, hedef adresin canonical olması için güçlü bir sinyal. Rel="canonical" etiketi de güçlü bir sinyal. Site haritasına eklemek ise zayıf bir sinyal. Yöntemler birbirini destekleyebiliyor ve hiçbiri zorunlu değil. Hiç belirtmezseniz Google en uygun bulduğu sürümü kendisi seçiyor. Bu yüzden canonical URL kavramını bir etiket olarak değil, bir karar olarak düşünmek gerekir. Etiket, o kararı etkileyen sinyallerden yalnızca biridir.

Etiket HTML'nin head bölümünde bir link öğesi olarak ya da HTTP üstbilgisinde verilebiliyor. Mağazalarda her zaman mutlak adres kullanırım, yani alan adı ve https dahil tam adres. Göreli yol yazılan canonical'ların test ortamına ya da yanlış alan adına kaydığını defalarca gördüm.

E-ticaret sitesinde hangi sayfa hangi URL'yi canonical göstermeli?

E-ticaret sitesinde dizine girmesi istenen her sayfa kendi URL'sini canonical göstermeli, aynı içeriğin parametreli ya da alternatif yollu sürümleri ise bu asıl adresi göstermelidir. Sayfalama sayfaları ve ayrı aranan varyantlar gibi kendi değeri olan sayfalar başka bir sayfaya canonical vermez.

Sayfa türüÖrnek adresCanonical
Kategori/kadin/botKendisi
Sayfalama/kadin/bot?page=3Kendisi, ilk sayfa değil
Dizme seçeneği/kadin/bot?sirala=fiyat-artanParametresiz kategori
Takip parametresi/kadin/bot?utm_source=ornekParametresiz adres
Dizine açık filtre/kadin/bot/siyahKendisi
Dizine kapalı filtre/kadin/bot?beden=38Kategori, asıl çözüm robots.txt
Parametreli varyant/urun/deri-bot?renk=siyahParametresiz ürün adresi
Kategori yolu içeren ürün/kadin/bot/deri-botTek ürün adresi, örneğin /urun/deri-bot
Protokol ve alan adı sürümlerihttp, www'siz, sonda eğik çizgiliTek sürüm, 301 yönlendirmeyle birlikte

Tablodaki en çok bozulan satır, kategori yolu içeren ürün adresleri. Aynı ürün üç kategoride listelendiğinde bazı altyapılar üç ayrı adres üretir. Canonical tek adresi gösterse bile iç linkler üç adrese dağıldığı için Google bazen başka bir sürümü seçer. Kalıcı çözüm, ürünü kategori yolundan bağımsız tek bir adreste yayınlamak ve bütün iç linkleri o adrese vermektir. Adres kurallarını e-ticaret URL yapısı yazısında ayrıca anlattım.

Takip parametreleri reklam yapan mağazalarda ayrı bir kaynak. Google Ads'in gclid'i, Meta'nın fbclid'i ve e-posta araçlarının utm etiketleri her tıklamada farklı bir adres üretir. Bu adresler sosyal medyada paylaşıldığında ya da bir blogdan link aldığında Google'a da ulaşır. Kendini gösteren canonical burada sigorta görevi görür ve sinyal, parametreli adres hangi kaynaktan gelirse gelsin parametresiz sürümde toplanır. Bu nedenle canonical'ı şablonda istek adresinden değil, sayfanın kayıtlı kalıcı adresinden üretirim. İstek adresini olduğu gibi canonical'a basan şablonlar, her parametreli adresi kendi asıl sürümü ilan eder.

Sayfalama sayfalarında canonical neden ilk sayfaya verilmez?

Sayfalama sayfalarında canonical ilk sayfaya verilmez, çünkü ikinci ve sonraki sayfalar ilk sayfanın kopyası değildir. Her biri farklı ürünler listeler. Google'ın sayfalama belgesi de sayfalı bir dizinin ilk sayfasını canonical olarak kullanmamayı ve her sayfaya kendi canonical URL'sini vermeyi öneriyor.

İlk sayfaya canonical veren mağazalarda derindeki sayfaların ürün linkleri zamanla daha seyrek izlenebilir ve kategorinin sonlarındaki ürünler geç keşfedilir. Aynı belge, Google'ın rel="next" ve rel="prev" etiketlerini artık kullanmadığını, her sayfanın ?page=n gibi benzersiz bir adrese sahip olması ve bir sonrakine normal bir bağlantı vermesi gerektiğini de yazıyor.

Bir tutarlılık ayrıntısı daha var. Birinci sayfaya iç linklerde hep parametresiz adresle gidin. Menüde /kadin/bot, sayfalama bileşeninde /kadin/bot?page=1 kullanırsanız aynı sayfa için iki adres üretmiş olursunuz. Pagination kurgusunun kategori tarafını kategori SEO nasıl yapılır yazısında anlattım.

Ürün varyantlarında canonical nasıl kurulur?

Ürün varyantları ?renk=siyah gibi bir sorgu parametresiyle ayrılıyorsa canonical olarak parametresiz ürün adresi kullanılır. Google'ın e-ticaret URL yapısı belgesi de bunu öneriyor. Varyantlar ayrı yollarla yayınlanıyor ve her biri ayrıca aranıyorsa, her varyant kendi adresini canonical gösterebilir.

Kararı arama verir. Bir tişörtün beden varyantlarını kimse ayrı aramaz. Tek ürün adresi yeterlidir. Bir telefonun renk ve hafıza seçenekleri ise ayrı ayrı aranabilir ve her birinin ayrı fiyatı, ayrı stoğu vardır. Bu durumda varyantı kendi adresinde, kendi başlığıyla yayınlamak trafik getirir. Ayrı varyant sayfaları açarsanız aralarındaki ilişkiyi yapılandırılmış veriyle göstermek gerekir. Google ürün varyantları için ProductGroup işaretlemesini destekliyor ve kurulumunu e-ticaret sitelerinde schema markup yazısında anlattım. Terimin kısa tanımı için varyant SEO sayfasına bakabilirsiniz.

Canonical, noindex ve robots.txt birlikte kullanılabilir mi?

Canonical etiketi noindex ve robots.txt ile aynı adreste birlikte kullanılmamalıdır. Üçü farklı işler yapar ve birlikte kullanıldığında Google'a çelişkili sinyal verir. Google'ın belgesi de robots.txt'yi ve noindex'i site içinde canonical seçimi için kullanmamayı öneriyor.

DurumNe olurNe yaparım
Canonical başka sayfayı gösteriyor, sayfada noindex de var"Sinyalleri oraya taşı" ile "bu sayfayı dizinden çıkar" çelişirAmaç birleştirmekse yalnızca canonical, dizinden çıkarmaksa yalnızca noindex
Robots.txt ile engellenmiş sayfada canonicalGoogle sayfayı taramadığı için etiketi göremezRobots.txt kararı verildiyse canonical'a güvenmem
Canonical yönlendirilen bir adresi gösteriyorSinyal zinciri zayıflarCanonical'ı doğrudan son adrese veririm
Canonical noindex'li ya da 404 dönen sayfayı gösteriyorGoogle canonical'ı yok sayabilirHedefin 200 dönen ve dizine açık bir sayfa olmasını sağlarım
Site haritası ile canonical farklı adres söylüyorBelgede açıkça kaçınılması istenen durumİkisini aynı adrese eşitlerim

Google'ın belgesinde bir uyarı daha var. Robots.txt ile engellenen adresler içerikleri görülmeden de dizine girebiliyor, yani engelleme canonical'ın yerini tutmuyor. URL kaldırma aracı ise bir adresin bütün sürümlerini aramadan gizlediği için canonical amacıyla hiç kullanılmamalı. Noindex ile canonical arasındaki seçimin filtre sayfalarındaki karşılığını filtre sayfaları index'lenmeli mi yazısında anlattım.

Search Console'da "Kullanıcı tarafından seçilen standart sayfa olmadan kopya" ne anlama gelir?

"Kullanıcı tarafından seçilen standart sayfa olmadan kopya" durumu, Google'ın bir sayfayı başka bir sayfanın kopyası saydığı ama sayfada canonical belirtilmediği için kendi seçtiği sürümü dizine aldığı anlamına gelir. Mağazalarda bu satır genelde parametreli adreslerden, takip parametrelerinden ve kategori yolu içeren ürün adreslerinden dolar.

Search Console'un sayfa dizine ekleme raporunda canonical ile ilgili üç durum var ve her biri farklı bir şey söylüyor.

  • Doğru standart etikete sahip alternatif sayfa. Sayfa başka bir adresi canonical gösteriyor ve Google bunu kabul etmiş. Parametreli adresler için beklenen durumdur.
  • Kullanıcı tarafından seçilen standart sayfa olmadan kopya. Sayfada canonical yok, Google kopya saymış ve kendi seçimini yapmış. Hangi şablondan geldiğini bulup canonical eklerim.
  • Kopya, Google kullanıcıdan farklı bir standart sayfa seçti. Canonical'ınız var ama Google başka bir sürümü seçmiş. En çok dikkat isteyen satır budur.

Tek bir adresin durumunu görmek için URL denetimi aracını kullanırım. Araç sizin bildirdiğiniz canonical ile Google'ın seçtiği canonical'ı ayrı ayrı gösterir. İkisi farklıysa bir sonraki bölümdeki nedenlere bakarım. Raporları düzenli okuma alışkanlığı için Google Search Console nasıl etkili kullanılır yazısına da göz atabilirsiniz.

Google canonical etiketinizi neden yok sayar?

Google canonical etiketini çoğunlukla diğer sinyaller farklı bir adresi işaret ettiğinde ya da canonical verilen sayfa ile hedef sayfanın içeriği yeterince benzer olmadığında yok sayar. İç linkler, site haritası, yönlendirmeler ve hreflang başka bir sürümü destekliyorsa tek bir etiket bu sinyallerin önüne geçemez.

Sahada karşılaştığım nedenleri sıklık sırasıyla şöyle sıralayabilirim. İç linkler canonical'dan farklı sürüme gidiyor. Menü sonda eğik çizgili, ürün kartları eğik çizgisiz adres kullanıyor. Site haritasında parametreli ya da eski adresler duruyor. Filtre sayfasına verilen canonical kategoriyi gösteriyor, ama sayfa kategoriden çok farklı ürünler listelediği için Google onu kopya saymıyor. HTTP ile HTTPS sürümleri birlikte yaşıyor. Belgeye göre sertifika sorunu ya da HTTPS'ten HTTP'ye yönlendirme gibi bir engel yoksa Google HTTPS sürümünü tercih ediyor. Son olarak canonical etiketi sayfa yüklendikten sonra JavaScript ile değiştiriliyor ve ilk HTML ile işlenmiş sayfa farklı adres söylüyor.

Çözüm, sinyalleri aynı adreste buluşturmaktır. Canonical, iç linkler, site haritası, hreflang ve yönlendirmeler aynı sürümü gösterdiğinde Google'ın farklı seçim yapması nadirdir. Kopya içeriğin canonical dışındaki çözümlerini e-ticarette duplicate content sorunu yazısında topladım.

Çok dilli mağazada canonical ile hreflang nasıl birlikte çalışır?

Çok dilli mağazada her dil sürümü kendi URL'sini canonical göstermeli ve hreflang ile diğer dil sürümlerine bağlanmalıdır. Google'ın belgesi, hreflang kullanıldığında canonical sayfanın aynı dilde belirtilmesini istiyor ve canonical seçiminde hreflang kümesinin parçası olan adresleri tercih ettiğini yazıyor.

En sık gördüğüm hata, İngilizce sayfaların canonical'ını Türkçe ana sürüme vermek. Bu durumda Google İngilizce sayfayı Türkçe sayfanın kopyası gibi değerlendirebilir ve yabancı aramada Türkçe sayfayı gösterebilir. Ülke ya da para birimi için ayrı adres kullanan mağazalarda da kural aynı. İçerik aynı dilde olsa bile ülke sürümleri hreflang ile ayrıştırılır, birbirine canonical verilmez. Hreflang etiketlerindeki adreslerin de canonical adreslerle birebir aynı olması gerekir. Hreflang'de sonda eğik çizgili, canonical'da eğik çizgisiz adres kullanmak kümenin bağlantısını koparabilir.

Bir mağazada canonical hataları nasıl denetlenir ve ne sıklıkla kontrol edilmeli?

Mağazada canonical hataları, site bir tarama aracıyla taranıp her şablonun canonical, durum kodu, iç link ve site haritası bilgisi yan yana konarak denetlenir. Kontrol her tema ya da altyapı güncellemesinden sonra ve ayda bir rutin olarak yapılmalıdır. Bozulmalar sessiz ilerlediği için düzenli kontrol olmadan haftalarca fark edilmez.

Denetimde şablon başına birkaç örnek adres seçerim. Kategori, sayfalama, filtre, ürün, varyant ve kampanya sayfası. Screaming Frog gibi bir araçla canonical'ı kendisinden farklı olan sayfaları, canonical'ı yönlendirilen ya da 404 dönen bir adresi gösterenleri ve site haritasında olup canonical olmayan adresleri listelerim. Ardından aynı örnekleri URL denetimi aracında kontrol eder, Google'ın seçimiyle karşılaştırırım.

Ayrıca anmak istediğim bir felaket senaryosu var. Test ortamında hazırlanan tema canlıya alınırken canonical'lar test alan adını göstermeye devam ederse, Google birkaç hafta içinde canlı sayfaların bir kısmını dizinden düşürebilir. Her yayından sonra ana sayfa, bir kategori ve bir ürün sayfasının kaynak kodunda canonical satırına bakmak beş dakika sürer ve bu kaybı önler. Şablon bazında canonical kontrolünü de içeren denetim akışını e-ticaret SEO denetimi yazısında anlattım. Dizin ve canonical sorunlarını yazılım ekibinizle birlikte şablon düzeyinde çözmek isterseniz e-ticaret SEO danışmanlığı kapsamına bakabilirsiniz.

Denedim, tutmadı

  • Bütün filtre ve varyantları tek canonical ile kategoriye bağlamak. Google ürünleri belirgin biçimde farklı olan filtre sayfalarında canonical'ı kabul etmedi, rapordaki "farklı standart seçti" satırı büyüdü.
  • Canonical'ı göreli yolla yazmak. Bir alan adı değişikliğinde etiketler yanlış alan adını göstermeye başladı.
  • Sayfalamayı ilk sayfaya bağlamak. Kategorinin derin sayfalarındaki ürünlerin dizine girmesi yavaşladı.

Sık sorulan sorular

Canonical etiketi her sayfada olmalı mı?

Dizine açık her sayfada, sayfanın kendi adresini gösteren bir canonical etiketi bulunması iyi bir uygulamadır, ama Google bunu zorunlu tutmuyor. Kendini gösteren canonical, takip parametresi ya da büyük küçük harf farkıyla oluşan kopya adreslerin hangi sürümde toplanacağını önceden belirler.

Canonical ile 301 yönlendirme arasındaki fark nedir?

Canonical etiketi sayfayı kullanıcıya açık bırakıp yalnızca arama sinyallerini başka bir adreste toplamayı önerir, 301 yönlendirme ise hem kullanıcıyı hem de Google'ı kalıcı olarak yeni adrese gönderir. Sayfa kaldırılıyor ya da taşınıyorsa 301, sayfa kullanıcı için gerekli ama arama için kopyaysa canonical kullanılır.

Farklı alan adındaki bir sayfaya canonical verilebilir mi?

Farklı alan adındaki bir sayfaya canonical verilebilir ve Google bunu alan adları arası bir sinyal olarak değerlendirir. Aynı ürün içeriğinin iki ayrı mağaza alan adında yayınlandığı durumlarda hangi alan adının sıralanmasını istediğinizi bu yolla belirtebilirsiniz.

Yeni bir canonical ne kadar sürede etkisini gösterir?

Yeni bir canonical etiketi, Google ilgili sayfaları yeniden taradıkça etkisini gösterir. Sık taranan sayfalarda birkaç gün, derindeki sayfalarda birkaç hafta sürebilir. Binlerce sayfayı tek tek dizine ekleme isteğiyle göndermek yerine site haritasını güncel tutmak ve iç linkleri yeni adrese çevirmek daha etkilidir.

Pazaryerinde aynı ürün metnini kullanmak canonical ile çözülür mü?

Pazaryerinde aynı ürün metnini kullanmak canonical ile çözülmez, çünkü pazaryeri sayfasına kendi sitenizi gösteren bir canonical ekleyemezsiniz. Kendi sitenizdeki ürün açıklamasını pazaryerindekinden farklı ve daha ayrıntılı yazmak, iki sayfanın aynı aramada yarışmasını azaltmanın pratik yoludur.

Kaynaklar

Bu konunun tüm rehberi E-Ticaret SEO Nasıl Yapılır? Kategori, Ürün ve Filtre Sayfalarından Satış Getiren Organik Trafik ve Ajans Seçimi
İlgili hizmet E-Ticaret SEO Danışmanlığı

Reklamların satış getirmiyor mu?

Reklam hesabını birlikte inceleyelim, nerede bütçe kaybettiğini netçe görelim.

Ücretsiz Ön Görüşme
Adem Demir
Yazar

Adem Demir

10+ yıldır e-ticaret markalarının performans pazarlamasını yönetiyorum. Giyim.tr, bilet.com ve ara.com.tr gibi markalarla Meta Ads, Google Ads ve dönüşüm optimizasyonu tarafında çalıştım. Bu blogdaki her yazı, yönettiğim gerçek reklam hesaplarından edinilen saha deneyimine dayanır.