Arama motorlarına hangi URL’nin “asıl” sayfa olduğunu söylemek için kullanılan canonical etiketi, teknik SEO’nun en güçlü ve en sık yanlış uygulanan araçlarından biridir. Duplicate content sorunlarından kaynaklanan sıralama kayıplarını önler, link juice’u doğru sayfada toplar ve crawl bütçesini verimli kullanmanızı sağlar.
Bu rehberde canonical etiketi nedir sorusundan başlayarak ileri düzey senaryolara — cross-domain canonical, sayfalama, URL parametreleri ve çakışan sinyaller — kadar her konuyu örneklerle ele alacağız.
Pratik kısayol: Doğru biçimli canonical etiketini saniyeler içinde üretmek için canonical tag oluşturucu aracımızı kullanabilirsiniz. Bu rehber, etiketi nereye ve neden koyacağınızı anlatır.
Canonical Etiketi Nedir?
Canonical etiketi (teknik adıyla rel="canonical" bağlantı öğesi), bir web sayfasının HTML <head> bölümüne ya da HTTP yanıt başlığına eklenen ve Google başta olmak üzere tüm büyük arama motorlarına “bu içeriğin tercih edilen, yetkili sürümü şu URL’dir” mesajını ileten bir HTML öğesidir.
2009 yılında Google, Bing ve Yahoo tarafından ortak bir standart olarak duyurulan canonical, bugün hâlâ teknik SEO’nun temel taşlarından biridir.
Temel Kullanımı
<link rel="canonical" href="https://www.orneksite.com/urun/kirmizi-sneaker/" />
Bu tek satır, sayfa içeriğinin özgün kaynağını tanımlar. Arama motorları bu sinyali okur ve sıralama değerini canonical URL’ye yönlendirir.
Neden Canonical Etiketi Gereklidir?
Web siteleri farkında olmadan aynı içeriği birden fazla URL üzerinden yayınlar. Bunun başlıca nedenleri şunlardır:
- Oturum kimlikleri (
?sessionid=abc123) - Sıralama ve filtreleme parametreleri (
?renk=kirmizi&boyut=42) - UTM izleme parametreleri (
?utm_source=newsletter) wwwilewwwsiz URL farklarıhttpilehttpskarışıklığı- Trailing slash farkları (
/urun/vs/urun) - Baskı sayfaları (
/print/) - Mobil ön eki olan URL’ler (
m.orneksite.com)
Tüm bu durumlarda Google, aynı içeriği farklı URL’lerde görür. Duplicate content (yinelenen içerik) olarak değerlendirilen bu durum iki somut zarara yol açar:
- Sıralama gücü bölünür. Aynı içeriğe gelen backlinkler farklı URL’lere dağılır; hiçbiri tek başına yeterince güçlü sinyal oluşturamaz.
- Crawl bütçesi israf edilir. Google botları aynı içeriği defalarca tarar; yeni ve değerli sayfalar geri planda kalır.
Canonical etiketi, bu sorunların tamamına tek bir direktifle yanıt verir.
Canonical ihtiyacını belirleyen karar çerçevesi
Bir sitede canonical sorunu olup olmadığını anlamak için sırasıyla şu soruları sorun:
- Aynı ürün veya içeriğe birden fazla URL üzerinden erişilebiliyor mu? (parametre, varyant, protokol farkı) Evetse canonical ihtiyacı vardır.
- Search Console’da “Yinelenen, Google tarafından farklı bir kanonik sayfa seçildi” uyarısı var mı? Varsa, canonical yapılandırması eksik veya çelişkilidir.
- Site haritanızda (sitemap) birden fazla varyant URL listeleniyor mu? Listeleniyorsa sitemap ile canonical arasında çelişki olabilir.
- CMS’iniz otomatik self-referencing canonical ekliyor mu? WordPress, Shopify gibi platformların çoğu ekler; ancak özel tema veya eklenti değişiklikleri bunu bozabilir — doğrulamak gerekir.
- Site büyük mü (binlerce sayfa) ve filtre/parametre kombinasyonu çok mu? Büyükse canonical stratejisi, crawl bütçesi yönetiminin ayrılmaz bir parçası hâline gelir.
HTML Head’e Canonical Nasıl Eklenir?
En yaygın yöntem, sayfanın <head> bölümüne <link> etiketi eklemektir:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Kırmızı Sneaker | Örnek Site</title>
<link rel="canonical" href="https://www.orneksite.com/urun/kirmizi-sneaker/" />
</head>
<body>
...
</body>
</html>
Dikkat Edilmesi Gereken Kurallar
hrefdeğeri her zaman tam ve mutlak URL olmalıdır. Göreli yollar (/urun/kirmizi-sneaker/) bazı tarayıcılarda farklı yorumlanabilir.<head>içinde yalnızca bir canonical etiketi bulunmalıdır. Birden fazla varsa Google ikisini de görmezden gelebilir.- Canonical etiketi
<body>içine konulmamalıdır; arama motorları bu etiketi geçersiz sayar. - URL büyük-küçük harf duyarlıdır.
orneksite.com/Urun/ileorneksite.com/urun/arama motorları için farklı adreslerdir.
HTTP Header ile Canonical
HTML <head> yöntemine ek olarak, canonical sinyali HTTP yanıt başlığı aracılığıyla da iletilebilir. Bu yöntem özellikle PDF dosyaları, CSV indirmeleri ve HTML olmayan belgeler için kullanışlıdır.
Sunucu yanıt başlığı şu biçimde gönderilir:
Link: <https://www.orneksite.com/rapor.pdf>; rel="canonical"
Apache sunucusunda .htaccess üzerinden bu başlık şöyle eklenir:
<FilesMatch "rapor\.pdf">
Header set Link '<https://www.orneksite.com/rapor.pdf>; rel="canonical"'
</FilesMatch>
Nginx’te ise:
location ~* \.pdf$ {
add_header Link '<https://www.orneksite.com/rapor.pdf>; rel="canonical"';
}
HTML Head vs HTTP Header: Hangisini Kullanmalı?
| Kriter | HTML <head> | HTTP Header |
|---|---|---|
| Uygulama kolaylığı | Yüksek | Orta (sunucu erişimi gerekir) |
| HTML sayfalar için destek | Tam | Tam |
| HTML dışı dosyalar için destek | Yok | Tam |
| CMS entegrasyonu | Çoğu CMS destekler | Manuel yapılandırma gerekebilir |
| Hata riski | Düşük | Orta (yapılandırma hatası olasılığı) |
Çoğu durumda HTML <head> yöntemi yeterlidir ve öncelikle tercih edilmelidir.
Self-Referencing Canonical Nedir?
Self-referencing canonical (öz referanslı canonical), bir sayfanın kendi URL’sini canonical olarak işaret etmesidir. Yani sayfa hem içeriği sunan hem de “benim asıl URL’im benim” diyen sayfadır.
<!-- https://www.orneksite.com/blog/seo-rehberi/ sayfasında -->
<link rel="canonical" href="https://www.orneksite.com/blog/seo-rehberi/" />
Neden Gereklidir?
Bir sayfanın duplicate olmadığı durumlarda bile self-referencing canonical eklemek önerilir. Nedeni şudur:
- Birisi sayfanıza
?ref=twittergibi bir parametreyle gelen bir URL’yi paylaşabilir. Canonical, Google’ın bu parametreli URL yerine asıl URL’yi indekslemesini sağlar. - Google, canonical sinyali olmayan sayfalarda “kanonikleştirmeyi” kendisi yapar. Kendi tercihi sizin beklentinizle örtüşmeyebilir.
- İçeriğiniz başka siteler tarafından izinsiz kopyalanırsa ve o sayfalar canonical olarak sizi işaret etmezse, self-referencing canonical özgünlüğünüzü pekiştirir.
Her Sayfaya Self-Referencing Canonical Eklemeli misiniz?
Evet. SEO en iyi uygulamaları kapsamında her sayfanın — blog yazıları, ürün sayfaları, kategori sayfaları dahil — bir self-referencing canonical etiketine sahip olması önerilir. Çoğu modern CMS (WordPress, Shopify, Webflow) bunu otomatik olarak yapar; ancak bunu doğrulamak her zaman akıllıca bir adımdır.
Teknik SEO hizmetimizde canonical denetimi, site genelindeki tüm sayfaları kapsayacak biçimde gerçekleştirilmektedir.
Cross-Domain Canonical Nedir?
Cross-domain canonical (alan adları arası canonical), bir sayfanın başka bir alan adındaki URL’yi canonical olarak işaret etmesidir. Bu senaryo en çok şu durumlarda karşılaşılır:
- İçerik sendikasyon anlaşmaları (bir makalenin birden fazla yayın organında yayınlanması)
- Marka birleşmeleri ve alan adı geçişleri
- Bölgesel site sürümleri arasındaki içerik tekrarı
Örnek Senaryo
Diyelim ki ornekblog.com’da yayınlanan bir makale, haberpaneli.com adlı bir haber portalında da yayınlanıyor. Haberpaneli.com, içeriğin özgün kaynağına atıfta bulunmak için şunu kullanır:
<!-- haberpaneli.com/ekonomi/seo-nedir sayfasında -->
<link rel="canonical" href="https://www.ornekblog.com/blog/seo-nedir/" />
Bu etiket, Google’a “bu içeriğin asıl sahibi ornekblog.com’dur, sıralama gücünü oraya ver” mesajını iletir.
Cross-Domain Canonical’ın Riskleri
- Google bu sinyali bir öneri olarak değerlendirir, zorunluluk olarak değil. Eğer Google iki domain arasındaki ilişkiyi güvenilir bulmuyorsa sinyali görmezden gelebilir.
- Yanlış yapılandırılmış bir cross-domain canonical, kendi sitenizin sıralama değerini rakiplerinize aktarabilir.
- Bir 301 yönlendirmesi genellikle daha güçlü bir sinyaldir; kalıcı domain taşımalarında canonical yerine 301 tercih edilmelidir.
Sayfalama (Pagination) ile Canonical Kullanımı
E-ticaret kategorileri, blog arşivleri ve forum listeleri gibi sayfalanmış içerik dizilerinde canonical yönetimi özellikle karmaşıklaşır.
Eski Yaklaşım: rel=prev / rel=next
Google 2019’a kadar rel="prev" ve rel="next" etiketlerini destekliyordu. O tarihten itibaren bu etiketlere artık sıralama sinyali olarak değer vermediğini açıkladı. Ancak Bing hâlâ bu etiketleri desteklemektedir.
Güncel Yaklaşım: Her Sayfalama Sayfasına Self-Referencing Canonical
Google’ın güncel önerisi, her sayfalama sayfasının kendisini canonical olarak işaret etmesidir:
<!-- /kategori/ayakkabi/?sayfa=2 sayfasında -->
<link rel="canonical" href="https://www.orneksite.com/kategori/ayakkabi/?sayfa=2" />
Bu yaklaşımda her sayfa bağımsız olarak indekslenir ve kendi sıralaması vardır.
Yanlış Yaklaşım: Tüm Sayfalama Sayfalarını Birinci Sayfaya Yönlendirmek
<!-- /kategori/ayakkabi/?sayfa=3 sayfasında YANLIŞ kullanım -->
<link rel="canonical" href="https://www.orneksite.com/kategori/ayakkabi/" />
Bu yaklaşım Google’a 2., 3., 4. sayfaların duplicate olduğunu söyler. Google bu sayfaları indekslemeyebilir; dolayısıyla o sayfalardaki ürünler ve bağlantılar crawl bütçesinden çıkarılabilir. Yalnızca ilk sayfada bulunan ürünler ve içerikler görünür olur.
Doğru Senaryo: “Hepsini Görüntüle” Sayfası Varsa
Eğer /kategori/ayakkabi/tumu/ gibi tüm ürünleri tek sayfada listeleyen bir URL varsa ve bu sayfa sayfalanmış versiyonlarla tamamen örtüşen içeriğe sahipse, o zaman tüm sayfalama sayfalarından bu tek sayfaya canonical yönlendirmesi mantıklı olabilir:
<!-- /kategori/ayakkabi/?sayfa=2 ve sonraki sayfalarda -->
<link rel="canonical" href="https://www.orneksite.com/kategori/ayakkabi/tumu/" />
Ancak bu yaklaşım yalnızca “tümünü göster” sayfası hem teknik olarak sağlam hem de hız açısından uygunsa uygulanmalıdır.
URL Parametreleri ve Canonical
URL parametreleri duplicate content’in en yaygın kaynaklarından biridir. Aşağıdaki URL’lerin hepsi aynı içeriği gösteriyor olabilir:
https://www.orneksite.com/urun/kirmizi-sneaker/
https://www.orneksite.com/urun/kirmizi-sneaker/?renk=kirmizi
https://www.orneksite.com/urun/kirmizi-sneaker/?renk=kirmizi&boyut=42
https://www.orneksite.com/urun/kirmizi-sneaker/?utm_source=instagram&utm_medium=story
https://www.orneksite.com/urun/kirmizi-sneaker/?sessionid=XYZ789
Her sayfalı URL için canonical etiketi temiz URL’ye yönlendirmelidir:
<!-- Yukarıdaki tüm URL varyantlarında kullanılacak canonical -->
<link rel="canonical" href="https://www.orneksite.com/urun/kirmizi-sneaker/" />
Parametre Türlerine Göre Yaklaşım
| Parametre Türü | Örnek | Canonical Yaklaşımı |
|---|---|---|
| UTM izleme | ?utm_source=google | Temiz URL’ye yönlendir |
| Oturum kimliği | ?sessionid=abc | Temiz URL’ye yönlendir |
| Sıralama | ?sirala=fiyat-artan | Kategori sayfasına yönlendir |
| Renk/boyut filtresi | ?renk=mavi | Ürüne veya kategoriye göre karar ver |
| Sayfalama | ?sayfa=2 | Self-referencing veya tüm-sayfa canonical |
| İçeriği değiştiren parametre | ?dil=en | Self-referencing (farklı içerik) |
Google Search Console’daki URL Parametreleri aracı (artık eski arayüzde mevcut), Google’ın belirli parametreleri nasıl işlediğini yapılandırmanıza olanak tanır. Ancak bu aracın yerini büyük ölçüde canonical etiketleri almıştır.
Çakışan Canonical Sinyalleri
Canonical etiketinin en tehlikeli tarafı, diğer SEO sinyalleriyle çakışabilmesidir. Çakışan sinyaller Google’ı karıştırır ve canonical direktifinizi geçersiz kılabilir.
301 Yönlendirme ile Canonical Çakışması
Senaryo: /eski-sayfa/ → 301 → /yeni-sayfa/
Ama /eski-sayfa/ üzerindeki canonical → /baska-sayfa/
Bu durumda Google hangi sinyali dinleyeceğini bilemez. 301 yönlendirme her zaman canonical etiketinden daha güçlüdür. Çakışmalardan kaçının: bir URL zaten başka bir yere 301 yönlendiriyorsa, o URL üzerinde canonical etiketi taşıması gerekmez.
Sitemap ile Canonical Çakışması
XML sitemap’iniz, canonical olarak işaretlemediğiniz URL’leri içeriyorsa Google’a çelişkili bir mesaj göndermiş olursunuz. Sitemap yalnızca canonical URL’leri içermelidir.
<!-- sitemap.xml - Doğru kullanım: yalnızca canonical URL'ler -->
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.orneksite.com/urun/kirmizi-sneaker/</loc>
<lastmod>2026-07-01</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
Hreflang ile Canonical Çakışması
Çok dilli sitelerde hreflang ve canonical birlikte kullanılır. Her dil sürümü kendi URL’sini canonical olarak işaret etmeli, hreflang ise dil/bölge varyantlarını birbirine bağlamalıdır.
<!-- Türkçe sayfa: tr.orneksite.com/urun/kirmizi-sneaker/ -->
<link rel="canonical" href="https://tr.orneksite.com/urun/kirmizi-sneaker/" />
<link rel="alternate" hreflang="tr" href="https://tr.orneksite.com/urun/kirmizi-sneaker/" />
<link rel="alternate" hreflang="en" href="https://en.orneksite.com/product/red-sneaker/" />
<link rel="alternate" hreflang="x-default" href="https://en.orneksite.com/product/red-sneaker/" />
Yaygın hata: tüm dil sürümlerini tek bir “varsayılan” dil URL’sine canonical etmek. Bu, diğer dil sayfalarının indekslenmesini engeller.
noindex ile Canonical Çakışması
Bir sayfada hem noindex hem de canonical bulunması çelişkilidir. noindex etiketi Google’a “bu sayfayı indeksleme” derken, canonical “bu sayfayı tercih et” der. Bu durumda Google genellikle noindex sinyalini önceliklendirir ve canonical işleme alınmaz.
<!-- YANLIŞ: Aynı sayfada noindex + canonical -->
<meta name="robots" content="noindex" />
<link rel="canonical" href="https://www.orneksite.com/kategori/ayakkabi/" />
Eğer bir sayfayı indekslemek istemiyorsanız, o sayfadan başka bir sayfaya canonical yönlendirmek yerine doğrudan noindex kullanın veya sayfayı robots.txt ile engelleyin.
Sinyal çakışması karşılaştırma tablosu
| Çakışma türü | Kazanan sinyal | Pratik sonuç |
|---|---|---|
| 301 yönlendirme vs canonical | 301 yönlendirme | Yönlendirilen sayfaya canonical eklemeye gerek yok |
| noindex vs canonical | noindex (genellikle) | Aynı sayfada ikisini birden kullanmayın |
| Sitemap vs canonical | Google, tutarsızlığı bir güven sorunu olarak görür | Sitemap’i yalnızca canonical URL’lerle sınırlayın |
| hreflang vs canonical | İkisi birlikte, farklı amaçlarla çalışır | Her dil kendi URL’sini canonical yapmalı |
| robots.txt engeli vs canonical | robots.txt (canonical URL taranamıyorsa sinyal geçersiz kalır) | Canonical URL’nin taranabilir olduğunu doğrulayın |
Yaygın Canonical Hataları
Canonical etiketini doğru yapılandırmak görünürde basit gibi görünse de pratikte pek çok yaygın hata karşımıza çıkar.
-
Canonical etiketi hiç olmamak. Özellikle el yapımı statik sitelerde veya eski CMS kurulumlarında hiç canonical etiketi bulunmayabilir. Bu durumda Google, duplicate URL’ler arasında kanonikleştirmeyi kendisi yapar; ve bu tercih her zaman site sahibinin beklentisiyle örtüşmez. Çözüm: Tüm sayfa türleri için en azından self-referencing canonical ekleyin.
-
Göreli URL kullanımı.
href="/urun/kirmizi-sneaker/"gibi göreli bir yol yerine her zaman tam URL (https://www.orneksite.com/urun/kirmizi-sneaker/) kullanılmalıdır. Göreli URL’ler tarayıcı tarafından base URL’ye göre çözümlenir; ancak farklı bot uygulamalarında bu çözümleme tutarsız sonuçlar doğurabilir. -
Birden fazla canonical etiketi. Aynı sayfada iki farklı canonical etiketi bulunması, Google’ın her iki etiketi de geçersiz sayıp kanonikleştirmeyi tamamen kendi başına yapmasına yol açabilir. CMS eklentileri ve tema dosyaları zaman zaman birbiriyle örtüşen canonical etiketleri üretebilir; bu durum denetimle tespit edilebilir.
-
Canonical’ın farklı protokol veya alt domaine işaret etmesi. Site https’e geçmişse ama canonical hâlâ http gösteriyorsa, ya da tercih www iken canonical www’suz URL’yi işaret ediyorsa, sinyal tutarsız hâle gelir. Canonical URL, sitenizin tercih edilen sürümüyle (https + www veya https + www’suz) tam olarak eşleşmelidir.
-
Yönlendirilen URL’ye işaret eden canonical. Canonical’ın işaret ettiği URL’nin zincir yönlendirme içermemesi gerekir. Canonical, her zaman son ve erişilebilir URL’yi göstermelidir.
-
Canonical zinciri. Sayfa A → canonical → Sayfa B → canonical → Sayfa C yapısından kaçının. Google zinciri takip edebilir; ancak her ekstra adım sinyali zayıflatır. Mümkünse tüm zinciri tek adıma kısaltın: Sayfa A → canonical → Sayfa C.
-
JavaScript ile canonical eklemek. Google, JavaScript’i her sayfada anında çalıştırmaz. Canonical mutlaka HTML kaynak kodunda, sayfa yüklendiğinde zaten mevcut olmalıdır. JavaScript render gecikmesi, Google’ın canonical sinyalini hiç görmemesine yol açabilir.
-
Canonical’ı noindex ile aynı sayfada çelişkili kullanmak. Yukarıda ayrıntılı ele alındığı gibi, bu iki direktif aynı sayfada birlikte anlamsızdır ve Google genellikle noindex’i önceliklendirir.
Google’ın Canonical’ı Her Zaman Kabul Edeceğinin Garantisi Var mı?
Hayır. Google, canonical etiketini bir direktif (kesin emir) değil, bir sinyal (ipucu) olarak değerlendirir. Google şu durumlarda canonical sinyalinizi görmezden gelebilir:
- Canonical URL, taranabilir ve erişilebilir değilse
- Canonical URL’nin içeriği, işaret ettiği sayfadan çok farklıysa
- İçerik kalitesi düşükse (arama motoru, içeriğin duplicate olduğuna zaten karar vermişse)
- Çok daha güçlü ters sinyaller varsa (örneğin, canonical URL’nin robots.txt ile engellenmiş olması)
Google’ın kendi canonical seçimini neden yaptığını anlamak için Search Console’daki “Google tarafından seçilen kanonik URL” raporunu incelemek gerekir.
Search Console’da Canonical Raporu
Google Search Console, canonical etiketlerini doğrulamak için vazgeçilmez bir araçtır.
URL İnceleme Aracı
Herhangi bir URL için şu adımları izleyin:
- Search Console’a giriş yapın
- Sol menüden “URL İnceleme”yi seçin
- İncelemek istediğiniz URL’yi girin
- ”Dizin oluşturma kapsamı” bölümünü açın
Bu bölümde iki kritik bilgi görürsünüz:
- Kullanıcı tarafından bildirilen kanonik: Canonical etiketinizde ne yazdığı
- Google tarafından seçilen kanonik: Google’ın gerçekte hangi URL’yi canonical saydığı
Bu iki değer eşleşmiyorsa bir sorun var demektir.
Dizine Ekleme Kapsamı Raporu
Search Console → Dizine Ekleme → Sayfalar bölümünde, “Yinelenen sayfa, Google tarafından farklı bir kanonik seçildi” veya “Kullanıcı tarafından seçilen kanonik sayfa değil” gibi durumları görebilirsiniz. Bu uyarılar, canonical yapılandırmanızda tutarsızlıklar olduğuna işaret eder.
| Search Console Durumu | Olası Neden | Çözüm |
|---|---|---|
| Google tarafından farklı kanonik seçildi | İçerik kalitesi düşük veya çelişkili sinyaller | İçeriği güçlendirin, çelişkili sinyalleri temizleyin |
| Kullanıcı tarafından seçilen kanonik değil | Canonical URL erişilebilir değil | Canonical URL’nin 200 döndürdüğünü doğrulayın |
| Yinelenen sayfa, kanonik yok | Self-referencing canonical eksik | Tüm sayfalara canonical ekleyin |
| Dizine eklenmedi, robots.txt tarafından engellendi | Canonical URL robots.txt’de bloke | robots.txt’yi düzeltin |
Canonical Denetimi İçin Araçlar
Kendi sitenizin canonical yapılandırmasını hızlıca denetlemek için Canonical Tag Oluşturucu ve Denetim Aracımızı kullanabilirsiniz. Bu araç, herhangi bir URL’nin canonical etiketini anında kontrol etmenizi sağlar.
CMS Platformlarında Canonical Yönetimi
WordPress
WordPress için Yoast SEO veya Rank Math eklentileri, her sayfaya otomatik olarak self-referencing canonical ekler. Özel bir canonical ayarlamak için:
Yoast SEO ile:
- Sayfa/yazı düzenleme ekranına gidin
- Yoast SEO bloğunu açın
- ”Gelişmiş” sekmesini seçin
- ”Canonical URL” alanına tercih edilen URL’yi girin
Yoast aynı zamanda arama parametrelerini (?s=kelime) ve arşiv sayfalarını (/tag/, /author/) otomatik olarak yönetir.
Shopify
Shopify, ürün ve koleksiyon sayfaları için canonical etiketlerini otomatik olarak yönetir. Ancak tema özelleştirmelerinde dikkat edilmesi gereken bir kural vardır:
{%- comment -%}
Shopify canonical - theme.liquid veya layout dosyasında
{%- endcomment -%}
<link rel="canonical" href="{{ canonical_url }}" />
Shopify’da {{ canonical_url }} değişkeni, Liquid tarafından otomatik olarak doldurulur. Tema dosyanızda bu değişkenin iki kez çağrılmadığına dikkat edin.
Statik Site Üreticileri (Astro, Next.js, Gatsby)
Statik site üreticilerinde canonical etiketleri genellikle sayfa bileşenlerinin <head> bölümünde programatik olarak oluşturulur:
---
// Astro bileşeni örneği
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
---
<head>
<link rel="canonical" href={canonicalURL} />
</head>
Bu yaklaşım, canonical URL’nin her zaman sitenin base URL’si ile tutarlı olmasını sağlar.
Platform bazlı canonical yönetim tablosu
| Platform | Otomatik self-referencing | Özel canonical ayarlama | Dikkat noktası |
|---|---|---|---|
| WordPress + Yoast/Rank Math | Evet | Yazı/sayfa düzenleyicisinden | Arşiv ve etiket sayfalarını da kontrol edin |
| Shopify | Evet | Tema dosyasında canonical_url değişkeni | Değişkenin iki kez çağrılmadığından emin olun |
| Webflow | Evet (çoğu durumda) | Sayfa ayarlarından | 301 ile canonical’ı çelişecek şekilde birlikte kullanmayın |
| Astro / Next.js / Gatsby | Hayır, geliştirici eklemeli | Bileşen kodunda programatik | Base URL yapılandırmasının doğruluğu kritik |
| Özel (custom) CMS | Genellikle hayır | Şablon dosyasında manuel | Denetim olmadan unutulma riski yüksek |
E-Ticaret Sitelerinde Canonical Stratejisi
E-ticaret siteleri canonical sorunlarının en yoğun yaşandığı platformlardır. Birkaç kritik senaryo:
Varyant Sayfaları
Aynı ürünün renk veya boyut varyantları ayrı URL’lere sahipse ve içerikleri büyük ölçüde örtüşüyorsa:
/urun/sneaker-kirmizi/ → canonical: /urun/sneaker/
/urun/sneaker-mavi/ → canonical: /urun/sneaker/
/urun/sneaker-yesil/ → canonical: /urun/sneaker/
Ancak dikkat: eğer her varyant sayfasının kendi SEO değeri varsa (özellikle renk bazlı arama hacmi mevcutsa), self-referencing canonical daha uygun olabilir.
Birden Fazla Kategori Yolundaki Ürünler
Bir ürün birden fazla kategoride listeleniyorsa farklı URL yolları oluşabilir:
/kategori/ayakkabi/sneaker/kirmizi-sneaker/
/kategori/erkek-giyim/ayakkabi/kirmizi-sneaker/
/kategori/indirim/kirmizi-sneaker/
Bu durumda tek bir “asıl” URL seçilir ve diğerleri bu URL’ye canonical ile yönlendirilir:
<!-- /kategori/indirim/kirmizi-sneaker/ sayfasında -->
<link rel="canonical" href="https://www.orneksite.com/kategori/ayakkabi/sneaker/kirmizi-sneaker/" />
Filtreli Kategori Sayfaları
Renk, beden, marka gibi filtreler uygulandığında oluşan URL’ler:
/kategori/ayakkabi/?renk=kirmizi&marka=nike&beden=42&sirala=fiyat-artan
Bu URL’nin canonical’ı, filtrelerin içerik açısından anlamlı olup olmadığına göre belirlenir:
- Filtre kombinasyonu yalnızca sıralama/görünüm değişikliği yapıyorsa → Ana kategori URL’ye yönlendir
- Filtre kombinasyonu gerçekten özgün bir içerik oluşturuyorsa (örneğin belirli bir marka + kategori sayfası SEO hedefliyorsa) → Self-referencing canonical
Vaka Kurgusu: Orta Ölçekli Bir E-Ticaret Sitesinde Canonical Denetimi
Yaklaşık 3.000 ürünlü, orta ölçekli bir giyim e-ticaret sitesini ele alalım. Site üç yıldır aktif; organik trafik son altı ayda kademeli olarak gerilemiş, özellikle kategori sayfalarındaki sıralamalar dalgalanıyor.
Başlangıç durumu: Screaming Frog ile yapılan taramada dikkat çekici bir örüntü ortaya çıkıyor: her ürün sayfası ortalama 4-5 farklı URL varyantı üzerinden erişilebiliyor (renk parametresi, beden parametresi, sıralama parametresi ve bunların kombinasyonları). Bu varyantların hiçbirinde canonical etiketi bulunmuyor; tema, canonical desteğini yalnızca ana ürün URL’sinde sağlıyor, parametreli varyantlarda hiç eklemiyor.
Tespit edilen ikinci sorun: Sitemap dosyası, hem temiz URL’leri hem de bazı eski kampanya döneminden kalma UTM’li URL’leri içeriyor. Bu durum Google’a çelişkili bir sinyal gönderiyor.
Uygulanan çözüm: Öncelikle tüm ürün ve kategori sayfası şablonlarına self-referencing canonical, parametreli varyantlara ise temiz URL’yi işaret eden canonical eklendi. Ardından sitemap yalnızca canonical URL’leri içerecek şekilde yeniden oluşturuldu. Filtre kombinasyonlarından SEO değeri taşıyanlar (örneğin “kırmızı elbise” gibi arama hacmi olan kombinasyonlar) için ayrı, self-referencing canonical’lı statik kategori sayfaları oluşturuldu; geri kalan filtre kombinasyonları ana kategoriye canonical edildi.
Sonuç penceresi (8-10 hafta): Search Console’daki “Yinelenen, Google tarafından farklı kanonik seçildi” uyarı sayısı düzenli olarak azaldı. Kategori sayfalarındaki sıralama dalgalanması yatıştı ve önceki aylara kıyasla daha istikrarlı bir görünüm kazandı. Crawl istatistikleri raporunda, günlük taranan sayfa sayısı aynı kalırken taranan benzersiz URL çeşitliliği arttı — botlar artık aynı içeriği tekrar tekrar taramak yerine daha fazla farklı sayfaya ulaşabiliyordu.
Alınan ders: Bu vakada sorunun kaynağı içerik kalitesi değil, saf teknik yapılandırmaydı. Ürünlerin kendisi iyi yazılmış, görselleri kaliteliydi; ancak parametreli URL çoğalması sinyali o kadar zayıflatmıştı ki Google hangi sayfayı öncelikli göstereceğine kendi başına, tutarsız biçimde karar veriyordu.
(Vaka temsilidir.)
Canonical Etiketini Test Etme ve Doğrulama
1. Sayfa Kaynağını İncelemek
Tarayıcıda Ctrl+U (Windows) veya Cmd+Option+U (Mac) kısayoluyla sayfa kaynağını açın. <head> bölümünde şunu arayın:
rel="canonical"
2. Tarayıcı Geliştirici Araçları
Chrome DevTools → Elements → <head> → canonical etiketini bulun. Bu yöntem, JavaScript ile eklenen canonical etiketlerini de gösterir.
3. curl ile HTTP Header Canonical Kontrolü
curl -I https://www.orneksite.com/rapor.pdf | grep -i "link:"
4. Google Search Console URL İnceleme Aracı
Yukarıda açıklandığı şekilde URL İnceleme aracını kullanın. Bu, Google’ın gerçekte ne gördüğünü raporlar — kaynak kodunuzdaki değil.
5. Screaming Frog SEO Spider
Screaming Frog ile site genelinde canonical denetimi yapabilirsiniz:
- Canonical Tag sütunu: Her URL’nin canonical etiketini gösterir
- Canonical Tag Mismatch: Canonical URL ile gerçek URL’nin uyuşmadığı durumları listeler
- Canonical Points to Redirect: Canonical URL’nin yönlendirme içerdiğini bildirir
- Multiple Canonicals: Aynı sayfada birden fazla canonical olduğunu gösterir
Site geneli canonical denetimi kontrol listesi
- Her sayfa türünde (ürün, kategori, blog, arşiv) canonical etiketi var mı?
- Tüm canonical URL’ler mutlak (tam) formatta mı?
- Hiçbir sayfada birden fazla canonical etiketi yok mu?
- Canonical URL’ler 200 HTTP kodu döndürüyor mu, yönlendirme veya hata yok mu?
- Sitemap yalnızca canonical URL’leri mi içeriyor?
- noindex ve canonical aynı sayfada çelişkili kullanılmıyor mu?
- Hreflang kullanan sayfalarda her dil kendi URL’sini canonical yapıyor mu?
- Search Console’da “kullanıcı tarafından bildirilen” ile “Google tarafından seçilen” kanonik eşleşiyor mu?
Canonical ile noindex Arasındaki Fark
Canonical ve noindex etiketleri zaman zaman karıştırılır; ancak amaçları ve etkileri birbirinden temelden farklıdır.
| Özellik | rel="canonical" | noindex |
|---|---|---|
| Amacı | Tercih edilen URL’yi bildirir | Sayfanın indekslenmesini engeller |
| İçerik indekslemesi | İşaret ettiği URL indekslenir | Sayfa hiç indekslenmez |
| Link juice aktarımı | Canonical URL’ye aktarılır | Aktarım olmaz |
| Tarama devam eder mi | Evet, Google sayfayı taramaya devam edebilir | Evet, taranabilir ama indekslenmez |
| Kullanım amacı | Duplicate URL yönetimi | Gizli kalması gereken sayfalar |
noindex, test sayfaları, kullanıcı paneli içerikleri, dahili arama sonuç sayfaları gibi kamuya açık olmaması gereken içerikler için kullanılır. Canonical ise her zaman kamuya açık, erişilebilir bir URL’ye işaret etmelidir.
Canonical Etiketi ve PageRank Konsolidasyonu
Duplicate sayfalar olmasa bile canonical’ın SEO’ya katkısı vardır: PageRank (link juice) konsolidasyonu.
Bir içerik farklı URL’lerden erişilebiliyorsa ve farklı harici linkler bu URL’lerin farklı versiyonlarına geliyorsa, tüm bu linklerin sağladığı otorite bölünür. Canonical, bu dağınık otorite parçalarını tek bir URL’de toplar.
Örneğin:
http://orneksite.com/blog/seo-nedir→ birkaç harici linkhttps://orneksite.com/blog/seo-nedir→ daha fazla harici linkhttps://www.orneksite.com/blog/seo-nedir→ başka bir grup harici link
Bu üç URL, gerçekte aynı içeriği sunuyor. Canonical etiketiyle https://www.orneksite.com/blog/seo-nedir tercih edildiğinde, tüm bu linklerin sağladığı otorite bu tek URL’de birleşir. Bu, ilgili anahtar kelimelerde sıralama gücünü somut biçimde artırır.
Canonical Etiketi ve Crawl Bütçesi İlişkisi
Büyük e-ticaret siteleri ve haber portalları için crawl bütçesi kritik bir SEO kaynağıdır. Google botlarının belirli bir sürede tarayabileceği sayfa sayısı sınırlıdır; duplicate sayfaların gereksiz yere taranması, yeni ve değerli içeriklerin geri planda kalmasına neden olur.
Canonical etiketleri, Google’a “bu URL’yi taramanı gerekmeyebilir; asıl URL şu” mesajını iletir. Ancak canonical bir indexing direktifi değil, bir sinyaldir. Google yine de canonical olmayan URL’leri tarayabilir.
Daha güçlü bir crawl bütçesi kontrolü için canonical + robots.txt veya canonical + noindex kombinasyonu kullanılabilir. Ancak her iki yöntemin de birlikte ne anlama geldiğini yukarıda açıkladık — çelişkili yapılandırmalardan kaçının.
Sık Yapılan Hatalar
-
Canonical’ı 301 yönlendirmenin yerine kullanmaya çalışmak. Kalıcı bir URL değişikliği veya domain taşıması söz konusuysa canonical yetersiz kalır; bu durumlarda mutlaka 301 yönlendirme kullanılmalıdır.
-
Tüm sayfaları “en popüler” sayfaya canonical etmek. Bazı site sahipleri, tüm trafiği tek bir güçlü sayfaya yönlendirmek amacıyla alakasız sayfaları da o sayfaya canonical eder. Bu, Google tarafından manipülasyon girişimi olarak değerlendirilebilir ve genellikle işe yaramaz.
-
Canonical’ı yalnızca ana sayfa şablonuna eklemek, alt şablonları unutmak. Kategori, etiket, arama sonucu ve arşiv gibi ikincil şablonların canonical etiketinden yoksun kalması sık görülen bir gözden kaçırma hatasıdır.
-
Mobil ve masaüstü sürümler arasında canonical’ı yanlış yönlendirmek. Ayrı mobil URL’ler (
m.site.com) kullanan eski yapılarda, masaüstü ve mobil sayfalar arasındaki canonical/alternate ilişkisinin doğru kurulmaması indeksleme karmaşasına yol açar. -
Site taşıma veya yeniden tasarım sonrası canonical’ları güncellememek. URL yapısı değiştiğinde eski canonical değerleri unutulursa, yeni sayfalar eski (artık var olmayan) URL’lere işaret etmeye devam edebilir.
-
Canonical denetimini tek seferlik bir iş sanmak. Site büyüdükçe, yeni şablonlar eklendikçe veya CMS güncellemeleri yapıldıkça canonical yapılandırması bozulabilir; periyodik denetim gereklidir.
Canonical Etiketinde Sıkça Sorulan Sorular
<head> bölümünde yer alır ve sayfa içeriğini, görünümünü ya da kullanıcı deneyimini hiçbir şekilde etkilemez. Yalnızca arama motoru botlarına yönelik bir sinyaldir; kullanıcı sayfayı normal şekilde görüntülemeye devam eder, herhangi bir yönlendirme yaşamaz. Bu nedenle canonical eklemek veya değiştirmek, kullanıcı deneyimi açısından risksiz bir işlemdir.Özet: Canonical Etiketi En İyi Uygulamaları
Tüm konuları bir araya getiren temel kurallar şunlardır:
- Her sayfaya en az self-referencing canonical ekleyin — duplicate olmayan sayfalar bile bu uygulamadan yararlanır.
- Her zaman tam (mutlak) URL kullanın — göreli yollar kullanmayın.
- Tek bir canonical etiketine sahip olun — birden fazla canonical etiketi Google’ı yanıltır.
- Canonical URL’nin 200 döndürdüğünü doğrulayın — yönlendirilen veya hata veren URL’lere işaret etmeyin.
- Sitemap’inizi canonical URL’lerle senkronize edin — yalnızca tercih edilen URL’leri sitemap’e ekleyin.
- 301 yönlendirmeyle çakışmayın — zaten yönlendirilen URL’ler için canonical gereksizdir; kalıcı birleşmelerde canonical yerine 301 kullanın.
- Search Console’u düzenli inceleyin — Google’ın seçtiği canonical ile sizin işaret ettiğiniz URL’nin eşleşip eşleşmediğini kontrol edin.
- Sayfalama için her sayfaya self-referencing canonical ekleyin — tüm sayfalama sayfalarını ilk sayfaya yönlendirmek içerik erişilebilirliğini kısıtlar.
Canonical etiketinin doğru yapılandırılması, özellikle büyük ve karmaşık sitelerde teknik SEO denetiminin vazgeçilmez bir parçasıdır. Teknik SEO danışmanlığı kapsamında yürüttüğümüz canonical denetimlerinde, sitelerin büyük çoğunluğunda yukarıda sayılan hatalardan en az ikisine rastlıyoruz.
Kendi sitenizin canonical yapılandırmasını hemen kontrol etmek istiyorsanız Canonical Tag Aracımızı kullanabilirsiniz; herhangi bir URL’nin canonical durumunu anında görüntüleyebilirsiniz.