Canonical Etiketlerinin SEO’daki Rolü ve Önemi
Arama motorları bir web sitesini tararken aynı veya benzer içeriğe sahip birden fazla sayfa ile karşılaşabilir. Bu durum, arama motoru botlarının hangi sayfayı dizine ekleyeceğini ve arama sonuçlarında hangi adresi öncelikli olarak göstereceğini belirlemesini zorlaştırır. rel="canonical" (kurallı) etiketi, bir web sayfasının tercih edilen orijinal sürümünü arama motorlarına bildiren bir HTML ögesidir.
Doğru yapılandırılmış bir kurallı etiket, yinelenen içerik (duplicate content) sorunlarının önüne geçer. Arama motoru botları bu etiketi okuyarak, farklı parametrelere veya URL yapılarına sahip sayfaların tek bir ana kaynak altında birleştiğini anlar. Bu sayede sayfa değerleri ve bağlantı gücü (link juice) doğru adrese aktarılmış olur.
Yönlendirmeler ve Kurallı URL Değerlendirmesi
Bir web sayfasının adresi girildiğinde, tarayıcılar ve arama motorları doğrudan hedef sayfaya ulaşmadan önce çeşitli yönlendirmelerle (redirects) karşılaşabilir. Canonical (Kurallı) Etiket Denetleyici, girilen URL adresini aldıktan sonra varsa tüm yönlendirmeleri sırasıyla takip eder.
Yönlendirmelerin varlığı, girilen ilk adres ile ulaşılan nihai adres arasında fark yaratır. Araç, bu süreci analiz ederek şu iki kavramı birbirinden ayırır:
- Girilen URL: Kullanıcının denetleme başlatmak için araca ilk yazdığı adrestir.
- Yönlendirmelerden sonraki nihai URL: Tüm yönlendirme zinciri tamamlandıktan sonra tarayıcının ulaştığı ve içeriğin yüklendiği son sayfa adresidir.
Eğer bir sayfa yönlendiriliyorsa, kurallı etiketin yönlendirmeden sonraki nihai sayfa ile eşleşmesi beklenir. Bu durum, arama motorlarının yanlış veya döngüsel adresleri dizine eklemesini engellemek açısından kritik bir öneme sahiptir.
Kendine Atıfta Bulunan (Self-Referencing) Kurallı Etiketler
Bir web sayfasının kurallı etiketinin, doğrudan kendi nihai URL adresini göstermesi durumuna "kendine atıfta bulunan" (self-referencing) kurallı etiket denir. Bu yöntem, arama motoru optimizasyonunda en iyi uygulamalardan biri olarak kabul edilir.
Sayfaya parametreler eklendiğinde (örneğin takip kodları veya sıralama filtreleri), kendine atıfta bulunan etiket sayesinde arama motorları bu parametreli varyasyonları ayrı birer sayfa olarak algılamaz. Doğrudan parametresiz ana sürümü dizine eklemeye devam eder. Bu denetleyici, sayfadaki etiketin kendine atıfta bulunup bulunmadığını tespit ederek "Kendine atıfta bulunuyor" alanında "Evet" veya "Hayır" şeklinde net bir yanıt üretir.
JavaScript ile Eklenen Etiketlerin Sınırları
Modern web geliştirme süreçlerinde bazı etiketler istemci tarafında, yani JavaScript kodları tarayıcıda çalıştırıldıktan sonra dinamik olarak sayfaya eklenebilir. Ancak arama motoru botlarının bir kısmı sayfayı tararken JavaScript kodlarını her zaman tam olarak yürütmeyebilir veya bu işlem gecikmeli olarak gerçekleşebilir.
Bu denetleme aracı, sayfa tarafından sunucudan döndürülen ham HTML kodunu analiz eder. Sayfa betikleri çalıştıktan sonra istemci tarafında eklenen kurallı etiketler bu tarama esnasında tespit edilemeyebilir. Bu nedenle, arama motorlarının sayfayı her koşulda doğru anlamlandırması için önemli canonical etiketlerinin doğrudan orijinal sayfa kaynağında (ham HTML içinde) yer alması gerekir.
Hatalı ve Çoklu Kurallı Etiketlerin Çözümü
Bir web sayfasında birden fazla kurallı etiket bulunması, arama motorlarının kafasını karıştırır ve etiketin tamamen göz ardı edilmesine yol açabilir. Standartlara göre her sayfada yalnızca bir adet kurallı etiket bulunmalıdır.
Araç, sayfa kaynağını tararken birden fazla etiket tespit ederse yalnızca ilk bulduğu etiketi işleme alır ve kullanıcıya "{count} adet kurallı etiket bulundu. İlki gösteriliyor; yalnızca bir tane bulundurmanız önerilir." uyarısını verir. Benzer şekilde, etiketin işaret ettiği adresin geçerli bir protokol içermemesi durumunda "Bir kurallı etiket mevcut ancak href değeri geçerli bir HTTP veya HTTPS URL'si değil." hatası üretilir. Bu hataların giderilmesi, arama motoru botlarının sayfayı doğru dizine eklemesini sağlar.
HTTP Durum Kodları ve Sayfa Erişilebilirliği
Bir sayfanın kurallı etiketinin denetlenebilmesi için öncelikle o sayfanın sunucu tarafından başarılı bir şekilde sunulması gerekir. HTTP durum kodları, sunucunun gelen isteğe verdiği yanıtın durumunu gösterir.
Eğer sayfa başarılı bir şekilde yüklenemezse araç denetimi tamamlayamaz ve ilgili HTTP durum koduna göre hata mesajı verir. Örneğin, sayfa yüklenirken bir sunucu hatası veya erişim engeli oluşursa "Sayfa HTTP {status} hatası döndürdü, bu nedenle kurallı URL denetlenemedi." uyarısı ekrana yansıtılır. Sayfanın HTML formatında olmaması durumunda "Bu URL bir HTML sayfası döndürmedi." hatası, boş veya okunamaz bir içerik döndüğünde ise "Sayfa okunabilir bir HTML döndürmedi." hatası gösterilir.
Gizlilik ve Veri İşleme Esasları
BroBroGo, girilen herkese açık web sayfasının içeriğini çekebilmek amacıyla ilgili URL adresini alır. İşlem sırasında çekilen sayfa içeriği, analiz sonuçları saklanmaz.
Sıkça Sorulan Sorular
Kendine atıfta bulunan (self-referencing) kurallı URL nedir? Doğrudan sayfanın kendi nihai URL'sini işaret eden bir kurallı etikettir. Bu, aynı içeriğe birkaç farklı yoldan ulaşılabildiğinde bile arama motorlarına net bir tercih edilen URL sunar.
Girilen URL eşleşmediği halde kendine atıfta bulunma denetimi neden başarılı olabiliyor? Girdiğiniz adres başka bir URL'ye yönlendiriliyor olabilir. Kurallı URL, yazdığınız orijinal adresten farklı olsa bile bu nihai sayfayı doğru bir şekilde işaret edebilir.
Denetleyici, JavaScript ile eklenen canonical etiketlerini görür mü? Bu araç, sayfa tarafından döndürülen ham HTML'yi denetler. Yalnızca sayfa betikleri çalıştıktan sonra eklenen bir kurallı etiket burada görünmeyebilir; bu nedenle önemli canonical etiketlerinin orijinal sayfa kaynağında bulunduğundan emin olun.
Özel veya yerel ağlardaki adresleri bu araçla denetleyebilir miyim? Hayır, araç yalnızca herkese açık HTTP veya HTTPS protokolüne sahip web adreslerini denetleyebilir. Yerel sunucu adresleri veya şifre korumalı özel sayfalar denetlenmek istendiğinde sistem isteği göndermeden önce "Özel ve yerel adresler denetlenemez." uyarısı vererek işlemi durdurur.