Ana içeriğe geç

Canonical ve Yönlendirme: Lighthouse'ın Görmediği SEO Hatası

Teknik2 dk

Sitemin Lighthouse SEO puanı 100'dü. Buna rağmen her sayfanın canonical adresi, Google'ı başka bir adrese yönlendiriyordu.

Sorun Neydi?

Sayfalarda canonical etiketi www'suz adresi gösteriyordu:

<link rel="canonical" href="https://omergulcicek.com/blog" />

Vercel'de ise ana alan adı www.omergulcicek.com seçiliydi. Yani canonical'daki adres açılmıyor, www'ya yönleniyordu:

curl -I https://omergulcicek.com/blog
# HTTP/2 308
# location: https://www.omergulcicek.com/blog

Google'a "asıl adres A" diyordum, A'ya gelince de onu B'ye gönderiyordum. Sitemap, robots.txt ve yapılandırılmış veri de A'yı gösteriyordu.

Google İçin Ne Anlama Geliyor?

Canonical bir emir değil, ipucu. Yönlendirme ise daha güçlü bir sinyal. İkisi çeliştiğinde Google hangi adresi indeksleyeceğine kendisi karar veriyor.

Bu yüzden sitem indeksten düşmedi, puanım da değişmedi. Ufak bir dikkatsizlikti, ama şunlara sebep oluyordu:

  • Asıl adresi ben değil Google seçiyordu.
  • Link değeri iki adres arasında bölünebiliyordu.
  • Search Console bu durumda "Google, kullanıcıdan farklı bir standart sayfa seçti" uyarısı verebiliyor.

307 mi, 308 mi?

Vercel'de yönü çevirdiğimde ilk ayarda 307 seçili kalmıştı. Fark küçük görünüyor ama anlamı farklı:

KodAnlamıNe zaman
301Kalıcı taşındıEski, yaygın kalıcı yönlendirme
307Geçici taşındı, metot korunurBakım, deneme, A/B testi
308Kalıcı taşındı, metot korunurAlan adı ve adres değişikliği

Geçici yönlendirmede Google eski adresi hatırlamaya devam ediyor. Alan adı tercihi kalıcı bir karar, bu yüzden doğru kod 308.

Nasıl Düzelttim?

Kodda hiçbir şey değiştirmedim. Kodun tamamı zaten www'suz adresi kullanıyordu, ben de Vercel'i ona uydurdum:

  1. Settings → Domains bölümünde omergulcicek.com'u ana alan adı yaptım.
  2. www.omergulcicek.com için yönlendirmeyi 308 Permanent Redirect olarak seçtim.
Vercel Domains ayarında www.omergulcicek.com adresinin 308 ile omergulcicek.com'a yönlendirilmesi
Vercel Domains ayarında www.omergulcicek.com adresinin 308 ile omergulcicek.com'a yönlendirilmesi
curl -I https://www.omergulcicek.com/blog
# HTTP/2 308
# location: https://omergulcicek.com/blog

Lighthouse etiketin var olup olmadığına bakıyor, gösterdiği adresin açılıp açılmadığına bakmıyor. Canonical'a yazdığın adresi bir kez curl -I ile kontrol etmen yeterli.