Blog · 27 Ekim 2026

Canonical URL Nedir? Kopya İçerik Sorununu rel=canonical ile Çözmek

Canonical URL, aynı ya da birbirine çok benzeyen içeriğe birden fazla adresten ulaşılabildiğinde, arama motoruna "bu içeriğin asıl adresi budur" diye bildirdiğiniz tercih edilen URL'dir. Bu bildirim genellikle sayfanın head bölümüne eklenen rel="canonical" etiketiyle yapılır. Google canonical olarak seçtiği adresi dizine ekler, sıralama sinyallerini o adreste toplar ve arama sonuçlarında çoğunlukla o adresi gösterir.

Canonical nedir sorusunun kısa cevabı budur; ama asıl iş, sitenizde kaç adet "aynı sayfa" olduğunu fark etmek ve Google'a tutarlı sinyal vermektir. Bu rehberde etiketin doğru yazımını, kopya içeriğin nereden çıktığını, canonical ile 301 yönlendirme arasında nasıl karar verileceğini ve Search Console'daki canonical uyarılarını nasıl çözeceğinizi adım adım anlatıyoruz.

Canonical etiketi nasıl yazılır?

En yaygın yöntem, HTML belgesinin head bölümüne tek bir link etiketi eklemektir:

<head>
  <link rel="canonical" href="https://www.ornek.com/erkek-ayakkabi/" />
</head>

Bu satır, bulunduğu sayfanın asıl adresinin https://www.ornek.com/erkek-ayakkabi/ olduğunu söyler. Etiketi yazarken şu kurallara uyun:

Kopya içerik nereden çıkar?

Çoğu site sahibi kopya içerik denince başka bir siteden kopyalanmış metni düşünür. Oysa teknik SEO açısından en sık karşılaşılan durum, sitenin kendi içeriğinin farklı URL'lerle tekrar tekrar üretilmesidir. Başlıca nedenler şunlardır:

URL parametreleri

Kampanya takibi, sıralama, oturum ya da filtre için eklenen parametreler aynı sayfanın yeni bir adresini yaratır. /urun/mavi-gomlek, /urun/mavi-gomlek?utm_source=instagram ve /urun/mavi-gomlek?sirala=fiyat içerik olarak aynıdır ama Google için üç ayrı URL'dir. UTM parametrelerinin nasıl kurulduğunu UTM rehberimizde anlattık; burada önemli olan, bu adreslerin hepsinin parametresiz sürüme canonical vermesidir.

www, https ve alan adı varyantları

Sunucu yapılandırması eksikse aynı sayfa dört farklı adresten açılabilir: http://ornek.com, http://www.ornek.com, https://ornek.com ve https://www.ornek.com. Bu durumun asıl çözümü canonical değil, tek bir sürüme kalıcı yönlendirmedir; canonical ise ek güvence olarak tercih edilen sürümü göstermelidir.

Sondaki eğik çizgi ve büyük-küçük harf

/hakkimizda ile /hakkimizda/ sunucu her ikisine de 200 dönüyorsa iki ayrı sayfadır. Aynı şekilde bazı sunucular /Urunler ve /urunler adreslerini aynı içerikle sunar. Sitede tek bir yazım kuralı seçin, diğerini ona yönlendirin ve iç linklerinizi de bu kurala göre yazın.

Filtre ve fasetli gezinme

E-ticaret sitelerinde renk, beden, fiyat aralığı ve marka filtrelerinin her kombinasyonu yeni bir URL oluşturabilir. Bunların bir kısmı gerçekten aranan sayfalardır (örneğin "siyah deri ceket"), çoğu ise yalnızca kategori sayfasının farklı bir dilimidir. Hangi filtrelerin kendi canonical'ı olacağına, hangilerinin ana kategoriye işaret edeceğine arama talebine bakarak karar vermek gerekir. Bu konunun kategori ve ürün yapısıyla ilgili ayrıntılarını e-ticaret SEO rehberinde bulabilirsiniz.

Yazdırma sürümü, AMP ve mobil alt alan adı

Eski sitelerde ?print=1 gibi yazdırma sürümleri, ayrı mobil alt alan adları (m.ornek.com) ya da AMP sayfaları aynı içeriğin ikinci bir kopyasını oluşturur. Bu sürümlerin her biri ana sayfaya canonical vermelidir.

Sendikasyon ve içerik paylaşımı

Yazınızı bir haber sitesine ya da iş ortağınıza yayın için verdiğinizde, aynı metin başka bir alan adında da yer alır. Burada alan adları arası canonical kullanılabilir: yayıncı, kendi sayfasında sizin özgün yazınızı canonical olarak gösterebilir. Ancak Google sendikasyon durumlarında alan adları arası canonical'ın her zaman dikkate alınmayabileceğini belirtir; yayıncının kopya sayfayı noindex ile dizin dışı bırakması daha kesin bir sonuç verir. Bunu yayın anlaşmasına baştan yazmak en sağlıklısıdır.

Canonical bir ipucudur, direktif değil

Canonical'ı anlamanın en kritik noktası budur. Robots.txt'teki bir engel ya da noindex etiketi Google'a ne yapacağını söyler; canonical ise yalnızca tercihinizi bildirir. Google bu tercihi diğer sinyallerle birlikte değerlendirir ve kendi seçimini yapar.

Google'ın canonical seçerken baktığı başlıca sinyaller şunlardır:

Bu sinyaller birbiriyle çelişirse, örneğin canonical A sayfasını gösterirken site haritası ve iç linklerin tamamı B sayfasını gösteriyorsa, Google büyük ihtimalle B'yi seçer. Bu yüzden canonical tek başına bir çözüm değil, tutarlı bir sinyal setinin parçasıdır. Site haritasına yalnız canonical URL'leri koymanın neden önemli olduğunu sitemap rehberinde ayrıca ele aldık.

Google'ın seçtiği canonical ile sizin bildirdiğiniz canonical

Search Console'daki URL denetimi aracı bir adres için iki ayrı bilgi gösterir: kullanıcı tarafından bildirilen standart URL ve Google tarafından seçilen standart URL. Bu iki alan aynıysa sorun yoktur. Farklıysa Google sizin tercihinizi uygulamamıştır.

Kontrol için şu adımları izleyin:

  1. Search Console'da üstteki arama çubuğuna incelemek istediğiniz tam URL'yi yapıştırın.
  2. Sayfanın dizine eklenme bölümünü genişletin ve iki canonical alanını karşılaştırın.
  3. Google farklı bir URL seçmişse, o URL'yi tarayıcıda açın ve içeriğin gerçekten aynı olup olmadığına bakın.
  4. Canlı URL'yi test et seçeneğiyle sayfanın şu anki halinde canonical etiketinin görülüp görülmediğini doğrulayın; özellikle JavaScript ile basılan canonical'larda bu adım önemlidir.

Search Console'un genel kullanımı ve rapor türleri için Google Search Console rehberine göz atabilirsiniz.

Self-referencing canonical: her sayfa kendine işaret etsin

Self-referencing canonical, bir sayfanın canonical etiketinde kendi adresini göstermesidir. Kopyası olmayan bir sayfa için gereksiz görünebilir, ama pratikte iki önemli fayda sağlar. Birincisi, birileri sayfanıza parametreli bir adresle link verdiğinde ya da bir kampanya parametresi eklendiğinde, parametreli sürüm otomatik olarak temiz adrese işaret eder. İkincisi, sitenizin içeriği başka bir alan adında izinsiz yayınlanırsa, canonical etiketi de kopyalandığı ölçüde özgün adresinizi göstermeye devam eder.

Burada dikkat edilmesi gereken nokta, self-referencing canonical'ın "o anki URL"yi değil "temiz URL"yi basmasıdır. Şablon, canonical'a tarayıcıda görünen tam adresi parametreleriyle birlikte yazıyorsa, her parametreli sürüm kendini canonical ilan eder ve etiketin bir anlamı kalmaz.

Canonical ile noindex'i birlikte kullanmayın

Sık yapılan bir hata, bir kopya sayfaya hem ana sayfayı gösteren canonical hem de noindex eklemektir. Bu iki sinyal birbiriyle çelişir: canonical "bu sayfanın sinyallerini şu adrese aktar" der, noindex ise "bu sayfayı dizine ekleme" der. Google, site içi kanonikleştirme için noindex kullanılmamasını önerir; çünkü noindex sinyali yanlış sayfaya, yani tercih ettiğiniz canonical'a da yansıyabilir.

Kural basit: bir sayfanın bir kopya olduğunu düşünüyorsanız canonical verin. Bir sayfanın hiç dizinde olmasını istemiyorsanız ve başka bir sayfanın kopyası değilse noindex verin. İkisini aynı sayfada birleştirmeyin. Benzer şekilde, kopya URL'leri robots.txt ile engellemek de canonical'ı işlevsiz kılar: Google engelli sayfayı tarayamadığı için içindeki canonical etiketini de göremez. Robots.txt'nin ne zaman doğru araç olduğunu robots.txt rehberinde anlattık.

301 yönlendirme mi, canonical mı? Karar tablosu

İki yöntem de sinyalleri tek bir adreste toplar, ama kullanıcı deneyimi açısından farklı çalışır. 301 kullanıcıyı da yeni adrese taşır; canonical ise kullanıcıyı olduğu sayfada bırakır ve yalnızca arama motoruna tercih bildirir.

DurumÖnerilen yöntemNeden
Sayfa kalıcı olarak taşındı ya da URL yapısı değişti301Eski adresin kullanıcıya gösterilmesine gerek yok
HTTP'den HTTPS'e, www'suz sürümden www'lu sürüme geçiş301 (canonical ek güvence)Tüm varyantlar tek adrese inmeli
Kampanya ya da takip parametreli URL'lerCanonicalParametre ölçüm için gerekli, yönlendirme veriyi bozabilir
Sıralama ve filtre parametreleriCanonicalKullanıcı filtreli görünümü görmeye devam etmeli
Birden fazla kategoride listelenen aynı ürünCanonicalHer yoldan erişim korunur, tek adres dizine girer
İki benzer yazının tek yazıda birleştirilmesi301Eski yazı artık yaşamıyor
Başka sitede yayınlanan sendike içerikAlan adları arası canonical veya karşı tarafta noindexYönlendirme sizin kontrolünüzde değil
Yazdırma sürümü, eski mobil alt alan adıCanonical (mümkünse sürümü kaldırıp 301)Kullanıcıya hâlâ sunuluyorsa canonical yeterli

Yönlendirme zincirleri, 301 ile 302 farkı ve silinen sayfaların yönetimi için 404 hatası ve 301 yönlendirme rehberine bakabilirsiniz.

Sayfalamada canonical hatası

Blog arşivleri ve kategori sayfaları genellikle sayfalanır: /blog/, /blog/sayfa/2/, /blog/sayfa/3/. Yaygın hata, ikinci ve sonraki sayfaların canonical etiketini birinci sayfaya yönlendirmektir. Bu sayfaların içeriği birbirinin aynısı değildir; her biri farklı ürün ya da yazı listeler. Canonical'ı birinci sayfaya verdiğinizde Google ikinci ve sonraki sayfaları kopya kabul edebilir ve oralarda listelenen içeriğe ulaşmak zorlaşır.

Doğru yaklaşım, her sayfalama adresinin kendine canonical vermesidir:

<!-- /blog/sayfa/2/ adresinde -->
<link rel="canonical" href="https://www.ornek.com/blog/sayfa/2/" />

Bir "tümünü göster" sayfanız varsa ve bu sayfa makul bir hızda yükleniyorsa, sayfalama adreslerinin canonical'ını o sayfaya vermek bir seçenektir. Google, sayfalama ilişkisini belirtmek için eskiden kullanılan rel=prev ve rel=next etiketlerini artık dizine ekleme sinyali olarak kullanmadığını açıklamıştır; bu nedenle sayfalanmış adreslerin normal linklerle birbirine bağlı ve taranabilir olması daha önemlidir.

HTTP başlığında canonical: PDF ve HTML olmayan dosyalar

PDF, Word belgesi ya da görsel gibi HTML olmayan dosyalara head etiketi eklenemez. Bu durumda canonical, sunucunun döndürdüğü HTTP yanıt başlığında Link alanıyla bildirilir:

HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <https://www.ornek.com/katalog/urun-katalogu/>; rel="canonical"

Bu örnekte PDF kataloğun asıl adresinin HTML sürümü olduğu bildirilmektedir. Tipik kullanım alanı, aynı içeriğin hem HTML sayfa hem PDF olarak yayınlandığı durumlardır; böylece arama sonuçlarında indirilebilir dosya yerine HTML sayfa öne çıkar. Başlığı Apache'de .htaccess ile, Nginx'te add_header yönergesiyle ekleyebilirsiniz. Ekledikten sonra tarayıcının geliştirici araçlarında ağ sekmesinden ya da komut satırından yanıt başlıklarını kontrol edin.

Hreflang ile canonical birlikte nasıl kullanılır?

Çok dilli sitelerde her dil sürümü ayrı bir sayfadır ve her biri kendi adresine canonical vermelidir. Türkçe sayfanın canonical'ını İngilizce sayfaya vermek, Google'a "Türkçe sürüm, İngilizcenin kopyasıdır" demektir; bu durumda Türkçe sayfa dizinden düşebilir ve hreflang bağlantısı da işlemez.

<!-- https://www.ornek.com/tr/hizmetler/ sayfasında -->
<link rel="canonical" href="https://www.ornek.com/tr/hizmetler/" />
<link rel="alternate" hreflang="tr" href="https://www.ornek.com/tr/hizmetler/" />
<link rel="alternate" hreflang="en" href="https://www.ornek.com/en/services/" />
<link rel="alternate" hreflang="x-default" href="https://www.ornek.com/en/services/" />

Hreflang etiketlerinde listelenen adresler canonical adresler olmalıdır. Hreflang bir parametreli ya da yönlendirilen URL'yi gösterirse sinyaller çelişir. Aynı dilde farklı ülkeler için hazırlanmış neredeyse aynı sayfalarda (örneğin Almanya ve Avusturya için iki Almanca sürüm) Google içerikleri tek bir canonical altında birleştirebilir; hreflang yine de doğru bölgede doğru adresin gösterilmesine yardım eder.

"Kopya, Google kullanıcıdan farklı bir standart seçti" ne demek?

Search Console'un sayfa dizine ekleme raporunda bu durum, bir sayfaya canonical etiketi eklediğiniz halde Google'ın sizin gösterdiğiniz adresi değil başka bir adresi canonical olarak seçtiği anlamına gelir. Google sayfanızı başka bir sayfanın kopyası saymıştır, ama hangi sayfanın asıl olduğu konusunda sizinle aynı fikirde değildir.

Bu raporu, benzer görünen iki diğer durumdan ayırmak gerekir:

Çözüm adımları

  1. Örnek URL'leri inceleyin. Rapordaki birkaç URL'yi URL denetimine sokun ve Google'ın seçtiği canonical'ı not edin.
  2. Hangisi gerçekten doğru, karar verin. Bazen Google haklıdır: örneğin canonical yanlışlıkla eski bir adrese ya da yönlendirilen bir sayfaya işaret ediyordur. Bu durumda düzeltilmesi gereken sizin etiketinizdir.
  3. İçerik farkını kontrol edin. Canonical verdiğiniz sayfa ile kopya sayfa içerik olarak belirgin biçimde farklıysa Google canonical'ı yok sayabilir. Canonical yalnızca gerçekten aynı ya da çok benzer içerikte işe yarar.
  4. Sinyalleri hizalayın. İç linkler, menü, breadcrumb ve site haritası tercih ettiğiniz adresi göstermeli. Google'ın seçtiği adrese link veren şablon parçalarını bulup düzeltin.
  5. Yönlendirmeyi değerlendirin. Kopya sürümün kullanıcıya gösterilmesine gerek yoksa 301 ile tercih ettiğiniz adrese yönlendirin; bu canonical'dan çok daha güçlü bir sinyaldir.
  6. Doğrulama başlatın. Düzeltmeden sonra raporda düzeltmeyi doğrula seçeneğini kullanın. Google'ın sayfaları yeniden taramasının birkaç hafta sürebileceğini hesaba katın.

Bu adımları yalnız uyarı çıktığında değil, düzenli aralıklarla yapmak daha az sürpriz yaratır. Search Console verisini düzenli izleyen ekipler için seoanalytics.com.tr panelindeki kanibalizasyon raporu, aynı sorgu için birbirinin yerine sıralanan sayfaları göstererek canonical ya da birleştirme gerektirebilecek sayfa çiftlerini erken fark etmeye yardım eder.

Yaygın canonical hataları

Canonical denetimi için kontrol listesi

Bir site denetiminde canonical'ı şu sırayla kontrol edebilirsiniz. Daha geniş bir denetim çerçevesi için teknik SEO rehberine bakabilirsiniz.

  1. Rastgele 20-30 sayfanın kaynak kodunda head içinde tek bir canonical olduğunu doğrulayın.
  2. Canonical adreslerinin mutlak URL olduğunu, doğru protokol ve alan adını kullandığını kontrol edin.
  3. Parametreli bir URL açın (örneğin sonuna ?test=1 ekleyin) ve canonical'ın temiz adresi gösterdiğinden emin olun.
  4. Sayfalama adreslerinin birinci sayfaya değil kendilerine canonical verdiğini kontrol edin.
  5. Çok dilli sayfalarda her dilin kendi canonical'ını taşıdığını ve hreflang adresleriyle uyumlu olduğunu doğrulayın.
  6. PDF gibi dosyaların HTML karşılığı varsa HTTP başlığında canonical eklenip eklenmediğine bakın.
  7. Site haritasındaki URL'lerin canonical adreslerle bire bir örtüştüğünü kontrol edin.
  8. Search Console'un sayfa dizine ekleme raporunda kopya ve alternatif sayfa durumlarını inceleyin, sayıdaki ani artışları not edin.
  9. Önemli sayfalar için URL denetiminde kullanıcı ve Google canonical'larının aynı olduğunu doğrulayın.

Sık sorulan sorular

Canonical etiketi sıralamayı doğrudan yükseltir mi?

Hayır, canonical bir sıralama faktörü değildir. Kopya adreslere dağılan link ve sinyalleri tek adreste topladığı, Google'ın hangi sürümü göstereceğini netleştirdiği ve tarama bütçesinin kopyalara harcanmasını azalttığı için dolaylı olarak fayda sağlar.

Her sayfaya self-referencing canonical eklemek gerekir mi?

Zorunlu değildir, ama önerilen bir uygulamadır. Parametreli linkler, takip kodları ve içerik kopyalama gibi durumlarda tercih ettiğiniz adresi otomatik olarak bildirir. Yeter ki canonical, parametresiz temiz URL'yi göstersin.

Google canonical etiketimi neden dikkate almıyor?

En sık nedenler; iki sayfanın içeriğinin belirgin biçimde farklı olması, iç linklerin ve site haritasının başka bir adresi göstermesi, canonical'ın yönlendirilen ya da erişilemeyen bir adrese işaret etmesi ve etiketin head yerine body içinde kalmasıdır. URL denetimi aracıyla Google'ın seçtiği canonical'ı görüp sinyalleri ona göre hizalayın.

Canonical ile 301 aynı anda kullanılabilir mi?

Aynı URL üzerinde kullanılamaz, çünkü 301 dönen bir sayfanın içeriği okunmaz. Ancak birlikte çalışabilirler: varyantları 301 ile tek adrese yönlendirirken, o hedef adreste self-referencing canonical bulundurmak tutarlı ve önerilen bir yapıdır.

Diğer yazılar

Canonical URL Nedir? Kopya İçerik Sorununu rel=canonical ile Çözmek | SEO Analytics