www mi, www'suz mu? Adresi 301 ile tekilleştirmek

Teknik olarak www ile www'suz adres iki ayrı ana makine adıdır; ikisi de aynı içeriği veriyorsa aynı sayfa iki adreste bulunur ve sinyaller bölünür. Hangisini seçtiğiniz arama motoru açısından önemsiz, seçmiş olmanız önemli. Kökte mi www alt adında mı tutmalı, 301 ile canonical ve site haritası nasıl hizalanır, zincir yönlendirme nasıl tek atlamaya indirilir.

DigiWSS Ekibi alan adı, arama motoru, seo, yönlendirme

Kısa cevap: ornekfirma.com ile www.ornekfirma.com teknik olarak iki ayrı ana makine adıdır; ikisi de aynı içeriği veriyorsa aynı sayfa iki adreste bulunur ve arama motoru sinyalleri bölünür. Hangisini tercih ettiğiniz arama sıralaması açısından önemsiz, bir tercih yapmış olmanız ise önemlidir. Tekilleştirme üç katmanda birden yapılır ve üçü aynı yöne bakmak zorundadır: tek bir 301 yönlendirmesi, rel=canonical etiketi ve Search Console mülkü ile site haritasındaki adresler.

İkisi gerçekten iki ayrı adres

Günlük kullanımda www bir süs gibi görünür, oysa DNS tarafında bambaşka bir satırdır. Kök adres, yani apex, bölgenin @ kaydıyla çözümlenir. www ise bir alt addır ve kendi kaydı vardır. İkisi aynı sunucuya baksa bile tarayıcı, arama motoru ve çerez mekanizması için iki ayrı ana makine adıdır.

Sonucu şudur: iki adres de aynı sayfayı döndürüyorsa, o sayfanın iki kopyası var demektir. Dış bağlantıların bir kısmı birine, bir kısmı diğerine gelir; arama motoru hangisinin asıl adres olduğuna kendi karar vermeye çalışır ve kararı sizin istediğiniz adres olmayabilir. Bu yüzden tekilleştirme kozmetik bir tercih değil, teknik bir gerekliliktir.

Çözüm karmaşık değil: biri asıl adres seçilir, diğeri ona kalıcı olarak yönlendirilir. Kaydın hangi türle çözümlendiğini görmek için DNS kayıt türleri yazısına bakabilirsiniz.

Kökte mi, www'da mı: seçim kriterleri

Arama motoru açısından iki seçenek eşittir, ama işletim tarafında gerçek farklar vardır. Aşağıdaki tablo kararı verirken bakılacak yerleri topluyor.

Konu Site kökte (apex) Site www alt adında
CNAME kullanımıStandart gereği kök kayda CNAME yazılamaz; A ve AAAA yönetmek gerekirCNAME serbest; bir ada bağlamak yeterli
CDN ve barındırma bağlamaSağlayıcının ALIAS ya da ANAME türünü sunmasına bağlıKolay; çoğu hizmet doğrudan CNAME ister
Sağlayıcı değiştirmeHer değişiklikte IP adresini elle güncellemek gerekirHedef ad değişince adresler kendiliğinden takip eder
Çerez kapsamıKök alan adı için alan niteliğiyle yazılan çerezler tüm alt adlara gönderilirÇerezi tek alt adla sınırlamak daha kolay
Görünen adresKısa, basılı malzemede daha derliDaha uzun ama hâlâ tanıdık
Arama sıralamasına etkisiYokYok

Pratik öneri: statik barındırma ya da bir CDN kullanıyorsanız www tarafı sizi daha az uğraştırır, çünkü CNAME ile bağlanır. Kendi sunucunuzda duran ve adresi basılı malzemede geçen bir site için kök adres daha derli görünür. Kararı verdikten sonra geri dönmemek en önemli kısımdır.

Tekilleştirmenin üç katmanı

Çoğu site yalnızca birinci katmanı kurar ve işin bittiğini sanır. Üçünün birden aynı adresi göstermesi gerekir.

  • 301 yönlendirmesi. Tercih edilmeyen adrese gelen her istek, kalıcı yönlendirme ile tercih edilen adrese gönderilir. Bu, ziyaretçiyi ve tarayıcıyı ilgilendiren katmandır.
  • rel=canonical etiketi. Her sayfanın head bölümünde, o sayfanın asıl adresi tercih edilen biçimde yazılır. Yönlendirmenin ters yönünü gösteren bir canonical, arama motoruna çelişkili sinyal verir.
  • Search Console mülkü ve site haritası. Site haritasındaki adresler ve iç bağlantılar tercih edilen biçimde olmalıdır. Mülk tarafında alan adı mülkü her iki biçimi de kapsar; URL önekli mülk ise yalnızca tek protokol ve yolu kapsadığı için iki biçimi ayrı ayrı izlemek gerekir. Mülk türlerinin farkını Search Console kurulumu yazısında anlatıyoruz.

Adım adım: tekilleştirme sırası

  1. Tercihinizi seçin ve yazılı hâle getirin. Kök adres mi, www mu? Kararı bir yere not edin; aynı sitede çalışan herkesin aynı biçimi kullanması gerekir.
  2. DNS'te her iki adın da çözümlenebildiğinden emin olun. Yönlendirme yapabilmek için tercih edilmeyen adın da bir sunucuya ulaşması gerekir. Kök için A ya da AAAA, www için genelde CNAME uygundur. İki addan biri hiç çözümlenmiyorsa ziyaretçi yönlendirmeye bile ulaşamaz.
  3. Sunucu ya da CDN tarafında TEK bir 301 kuralı yazın. Kuralın tek yerde durması esastır. Sunucuda bir kural, Cloudflare gibi bir katmanda başka bir kural varsa yönlendirmeler çakışır ya da zincirlenir; ayrıntısı Cloudflare geçişi ve SSL modu yazısında.
  4. Zincir yönlendirme olmadığını doğrulayın. Dört biçimi tek tek deneyin: HTTP kök, HTTP www, HTTPS kök, HTTPS www. Her biri tercih edilen adrese TEK atlamada ulaşmalıdır. Örneğin HTTP www adresinin önce HTTPS www sonra HTTPS kök üzerinden gitmesi üç atlama demektir ve tek atlamaya indirilmelidir.
  5. Canonical etiketlerini hizalayın. Her sayfanın canonical adresi tercih edilen biçimde ve kendi sayfasını göstermelidir. Yönetim panelinde site adresi alanı varsa onu da tercih edilen biçime çevirin; çoğu sistem canonical değerini oradan üretir.
  6. Site haritasını ve iç bağlantıları çevirin. Site haritasında ve menülerde eski biçim kalırsa her iç bağlantı gereksiz bir yönlendirme tetikler. Metin içindeki elle yazılmış bağlantılar en çok atlanan yerdir.
  7. Search Console tarafını kurun ve izleyin. Her iki biçimi de ekleyip hangisinin indekslendiğini takip edin. Tercih edilmeyen biçimde kalan sayfalar görünüyorsa yönlendirme ya canonical bir yerde eksik demektir.

Gerçek yönlendirme kuralları

Aşağıdaki örneklerde alan adı ornekfirma.com bir YER TUTUCUDUR; kendi alan adınızı yazmanız gerekir. Kuralların kendisi çalışır hâldedir ve tercih edilen adresin kök olduğu varsayımıyla yazılmıştır.

# Apache, .htaccess icinde www adresini koke cevirir
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.ornekfirma\.com$ [NC]
RewriteRule ^(.*)$ https://ornekfirma.com/$1 [R=301,L]
# nginx, www adini koke ceviren ayri sunucu blogu
server {
    listen      443 ssl;   # HTTPS dinleyicisi
    server_name www.ornekfirma.com;   # yalnizca www adi
    return 301  https://ornekfirma.com$request_uri;   # tek atlama, yol korunur
}
# nginx, HTTP istegini ayni adin HTTPS adresine cevirir
server {
    listen      80;   # sifresiz dinleyici
    server_name ornekfirma.com www.ornekfirma.com;   # iki ad birlikte
    return 301  https://$host$request_uri;   # $host gelen adi korur
}

İki örnekteki ortak fikir şudur: yönlendirme yolu ve sorgu dizesini koruyarak yapılır. Apache tarafında bunu yakalanan $1, nginx tarafında $request_uri sağlar. Bütün adresleri ana sayfaya yönlendiren bir kural, derin sayfalara gelen bağlantıların tamamını çöpe atar.

Yaygın hatalar

  • Hem www'dan köke hem kökten www'a kural yazmak. İki kural birbirini tetikler ve ziyaretçi sonsuz yönlendirme hatası görür. Kural tek yönlüdür: yalnızca tercih edilmeyen addan tercih edilene.
  • Yönlendirmeleri zincirlemek. HTTP www adresinin önce HTTPS www, sonra HTTPS köke gitmesi üç atlama yapar. Her atlama gecikme ekler ve bazı araçlar zincirin sonuna kadar takip etmez. Tek kuralda hem protokolü hem adı düzeltmek gerekir.
  • 302 kullanmak. Geçici yönlendirme, adres değişikliğinin kalıcı olduğunu söylemez; sinyaller eski adreste kalmaya devam eder. Tekilleştirme için doğru cevap 301'dir.
  • Canonical etiketini yönlendirmenin ters yönüne yazmak. Sunucu www adresini köke yönlendirirken sayfaların canonical değeri www biçimini gösteriyorsa iki katman birbiriyle çelişir. Arama motoru çelişkili sinyalde kendi kararını verir.
  • İç bağlantıları eski biçimde bırakmak. Menüler, düğmeler ve metin içindeki bağlantılar eski biçimi kullanıyorsa her tıklama bir yönlendirme daha üretir. Yönlendirme çalışıyor olsa bile bu gereksiz bir yüktür.
  • Site haritasında iki biçimi birden yayınlamak. Aynı sayfanın iki adresini de haritaya koymak, tekilleştirmeyi baştan boşa çıkarır. Haritada yalnızca tercih edilen biçim bulunur.
  • Protokol taşınmasıyla aynı güne sıkıştırmak. HTTP'den HTTPS'e geçmek ve adresi tekilleştirmek ayrı işlerdir; birlikte yapılırsa hangi kuralın hangi atlamayı ürettiği anlaşılmaz. Protokol tarafını HTTP'den HTTPS'e taşınma yazısında ele alıyoruz.

Ne zaman uzmana bırakmalı

Tek kurallı bir tekilleştirme çoğu sitede yarım saatlik iştir. Zorlaşan durumlar şunlar: sitede yıllar içinde birikmiş birden fazla yönlendirme kuralı varsa, araya bir CDN katmanı girdiyse, yayında olan sayfaların bir kısmı kök bir kısmı www biçiminde indekslenmişse, ya da ürün adresleri geçmişte değişmiş ve üzerine yeni yönlendirmeler yazılmışsa.

Böyle bir yapıda yapılacak iş önce ölçmektir: her adres biçiminin kaç atlama yaptığı, canonical değerlerinin hangi yönü gösterdiği ve haritada hangi biçimin yayınlandığı çıkarılır. Bu çalışmayı SEO hizmetimizin bir parçası olarak yapıyoruz; yapının bütününe bakmak isterseniz teknik denetim sayfasına bakabilir ya da iletişim sayfasından yazabilirsiniz.

Devamını okumak için

Kayıt türleri ve kök kayıttaki CNAME kısıtlaması için DNS kayıt türleri, araya bir katman girdiğinde yönlendirmelerin nasıl davrandığı için Cloudflare geçişi ve SSL modu, protokol taşınması için HTTP'den HTTPS'e taşınma, mülk kurulumu ve site haritası için Search Console kurulumu yazısına bakın. Tüm başlıklar blog sayfamızda, çalışma alanlarımız ana sayfamızda.

Bu yazıyla ilgili sık sorulan sorular

www kullanmak mı daha iyi, kullanmamak mı?

Arama sıralaması açısından ikisi eşittir; önemli olan bir tercih yapıp ona bağlı kalmaktır. İşletim tarafında fark vardır: kök adres standart gereği CNAME kabul etmediği için sağlayıcı değiştirirken A ve AAAA kaydını elle yönetmek gerekir, www ise bir CNAME olabildiği için CDN ve barındırma hizmetlerine kolay bağlanır.

301 ile 302 arasındaki fark tekilleştirmede neden önemli?

301 kalıcı yönlendirmedir ve adresin kalıcı olarak değiştiğini söyler. 302 geçicidir; sinyaller eski adreste kalmaya devam eder. Aynı içeriğin iki adreste bulunmasını bitirmek için kalıcı yönlendirme, yani 301 kullanılır.

Zincir yönlendirme ne demek ve neden kötü?

Bir isteğin hedefe birden fazla atlamayla ulaşmasıdır. Örneğin HTTP www adresinin önce HTTPS www, sonra HTTPS kök adresine gitmesi üç atlama yapar. Her atlama gecikme ekler ve bazı araçlar zincirin sonuna kadar takip etmez; tek kuralda hem protokol hem ad düzeltilerek tek atlamaya indirilir.

Yönlendirme varken canonical etiketine gerek var mı?

Var. Tekilleştirme üç katmanda birden yapılır: 301 yönlendirmesi, rel=canonical etiketi ve Search Console mülkü ile site haritasındaki adresler. Yönlendirmenin ters yönünü gösteren bir canonical arama motoruna çelişkili sinyal verir.

Konuşalım

Yazıda anlatılanı işletmenizde uygulamak istiyorsanız adresinizi gönderin; ölçüp ne yapılması gerektiğini paylaşalım.