Canonical etiketi ile sunucu yönlendirmeleri farklı hedefler gösterirse SEO sinyalleri karışabilir. Çakışmaları nasıl tespit edip düzelteceğinizi öğrenin.
Canonical etiketi ile sunucu taraflı yönlendirme aynı URL için farklı hedefler gösterdiğinde, arama motorları ve kullanıcılar açısından karışık sinyaller oluşur. Bu durum çoğu zaman fark edilmeden yaşanır; özellikle HTTP’den HTTPS’e geçiş, www tercihinin değiştirilmesi, alan adı taşıma, CDN kurulumu veya WordPress kalıcı bağlantı ayarlarının güncellenmesi sonrasında ortaya çıkar. Sorunun kritik tarafı, sayfanın teknik olarak açılıyor görünmesine rağmen SEO performansının sessizce zayıflayabilmesidir.
Canonical etiketi, arama motorlarına “bu içeriğin tercih edilen sürümü şudur” mesajını verir. Ancak bu bir öneridir; tarayıcıyı otomatik olarak başka adrese göndermez. 301 veya 302 yönlendirmeleri ise sunucu seviyesinde çalışır ve kullanıcıyı doğrudan başka bir URL’ye taşır.
Bu nedenle canonical daha çok benzer veya yinelenen içeriklerin sinyal yönetiminde kullanılırken, yönlendirme kalıcı URL değişikliklerinde tercih edilir. İkisini aynı amaçla ve aynı hedefe hizmet edecek şekilde kullanmak mümkündür; sorun, farklı hedeflere işaret ettiklerinde başlar.
Örneğin bir sayfa sunucu tarafından https://www.ornek.com/urun adresine yönlenirken, sayfa içindeki canonical etiketi https://ornek.com/urun adresini gösteriyorsa arama motoru iki farklı tercih sinyali alır. Bu durumda hangi URL’nin dizine alınacağı gecikebilir, yanlış URL indekslenebilir veya sayfanın otoritesi beklenen adreste toplanmayabilir.
Pratikte en sık görülen etkiler şunlardır:
Bu sorunların tamamı her sitede aynı şiddette görülmez. Ancak e-ticaret, haber, kurumsal blog ve çok sayfalı kategori yapılarında küçük bir canonical-yönlendirme hatası bile geniş çaplı indeksleme karmaşasına yol açabilir.
Birçok site sahibi canonical etiketini WordPress SEO eklentisinden yönettiğini düşünür; ancak yönlendirme çoğu zaman hosting tarafında, web sunucusu kurallarında, kontrol panelinde, CDN’de veya güvenlik katmanında tanımlıdır. Yani WordPress doğru canonical üretse bile sunucu başka bir URL’ye zorunlu yönlendirme yapıyorsa nihai sinyal yine çakışabilir.
Apache kullanılan ortamlarda .htaccess kuralları, Nginx yapılarında server block ayarları, kontrol panellerinde ise “Force HTTPS”, “www yönlendirmesi” veya “domain alias” seçenekleri bu davranışı etkiler. CDN servislerinde tanımlanan sayfa kuralları da ayrıca kontrol edilmelidir.
Site HTTPS’e geçmiş olabilir ancak canonical hâlâ HTTP adresini gösteriyor olabilir. Bu durumda sunucu kullanıcıyı güvenli sürüme taşırken canonical eski protokolü işaret eder. Doğru yapı, tüm canonical etiketlerinin HTTPS sürümü göstermesidir.
Sunucu www’li alan adına yönlendirirken canonical non-www adresini gösterebilir veya bunun tam tersi yaşanabilir. Bu küçük görünen fark, arama motorları için iki ayrı URL varyasyonu anlamına gelir. Tek bir ana tercih belirlenmeli ve tüm sistemler buna göre hizalanmalıdır.
/hizmet ile /hizmet/ teknik olarak farklı URL’lerdir. WordPress genellikle trailing slash kullanan yapıları tercih eder. Sunucu farklı davranıyorsa canonical ile yönlendirme arasında gereksiz tekrar oluşabilir.
Bir içerik yeni adrese 301 ile taşınmışsa eski sayfanın canonical’ı da yeni adresle uyumlu olmalıdır. Eski URL kendisini canonical gösterirken başka sayfaya yönleniyorsa arama motoru için işlem netliğini kaybeder.
İlk adım, test edilen URL’nin tarayıcıda hangi nihai adrese ulaştığını görmektir. Ardından sayfa kaynak kodunda canonical etiketi kontrol edilmelidir. Nihai URL ile canonical hedefi birebir aynı olmalıdır; protokol, www kullanımı, slash, küçük-büyük harf ve parametre farkları dahil tüm detaylar incelenmelidir.
Kontrol sırasında şu sırayı izlemek pratik olur:
Kurumsal projelerde bu kontrol yalnızca ana sayfa için yapılmamalıdır. Kategori, ürün, blog yazısı, etiket, sayfalama ve filtreli URL örnekleri de test edilmelidir.
Önce sitenin ana URL standardı belirlenmelidir: HTTPS mi, www var mı, trailing slash kullanılacak mı? Bu karar verildikten sonra sunucu yönlendirmeleri bu standarda göre sadeleştirilmelidir. Ardından WordPress genel ayarları, SEO eklentisi, tema çıktıları ve varsa CDN kuralları aynı hedefi göstermelidir.
Kalıcı taşımalar için 301 kullanılmalı, geçici testler dışında 302 tercih edilmemelidir. Canonical etiketi ise yönlendirme yapılmayan, erişilebilir ve indekslenmesi istenen nihai sayfayı göstermelidir. Bir sayfa zaten başka adrese yönleniyorsa, eski URL’nin canonical stratejisinden çok doğru 301 davranışı önem kazanır.
Teknik ekipler için en güvenli yöntem, canlıya almadan önce küçük bir URL listesiyle test yapmaktır. Bu listede ana sayfa, örnek kategori, örnek içerik, eski taşınmış URL ve parametreli bir adres bulunmalıdır. Böylece hosting seviyesindeki kural ile WordPress’in ürettiği canonical çıktısı aynı anda doğrulanır ve indeksleme sorunları büyümeden yakalanır.