John Flaxman's randoms

Canonical, noindex ve robots.txt ne zaman kullanılır? (karar tablosu)

Teknik denetimlerde en sık gördüğüm hata bu üç aracın birbirinin yerine kullanılması. Bir sayfa dizinden çıksın diye robots.txt'e ekleniyor, filtre sayfalarına aynı anda hem canonical hem noindex veriliyor, sayfalama sayfaları birinci sayfaya canonical ediliyor. Sonra Search Console'da kimsenin açıklayamadığı durumlar birikiyor.

Sorun araçlarda değil. Her biri farklı bir aşamada çalışıyor: biri taramayı, biri dizine eklemeyi, biri sinyal birleştirmeyi kontrol ediyor. Hangisinin ne yaptığını netleştirmeden doğru seçim yapılamıyor.

Canonical, noindex ve robots.txt ne zaman kullanılır? (karar tablosu) »

Filtreli kategori sayfalarında hangi kombinasyon dizine girmeli?

Bir e-ticaret kategorisinde 8 filtre grubu ve her grupta onlarca değer varsa, olası URL sayısı katalogdaki ürün sayısını çok hızlı geçer. Bu URL'lerin neredeyse hepsi birbirinin alt kümesidir ve kimse onları aramaz. Ama hepsi link olarak sayfada durduğu için Googlebot onları tek tek keşfetmeye çalışır.

Öte yandan "kırmızı elbise" gibi bir sorguyu karşılayacak en iyi sayfa da çoğu zaman bir filtre sayfasıdır. Yani mesele filtreleri kapatmak değil, hangilerinin dizine girmeyi hak ettiğine karar verip gerisini taramadan uzak tutmak.

Filtreli kategori sayfalarında hangi kombinasyon dizine girmeli? »

İç linkleme stratejisi ile önemli sayfaya güç aktarmak

Çoğu sitede en çok para kazandıran sayfa, en az iç link alan sayfalardan biridir. Ana menüde yoktur, blog yazıları ona değinmez, ancak dört beş tıklamayla ulaşılır. Sonra "neden sıralamıyor" diye içeriği üçüncü kez yeniden yazarız.

Oysa iç linkler, tamamen sizin kontrolünüzde olan tek link kaynağı. Dışarıdan link almak zaman ve şans işi; içeriden link vermek ise bir öğleden sonralık iş.

İç linkleme stratejisi ile önemli sayfaya güç aktarmak »

Site taşıma kontrol listesi: öncesi, taşıma günü ve sonrası

Site taşımalarında trafik kaybının sebebi neredeyse hiçbir zaman Google'ın "yeni siteyi sevmemesi" olmuyor. Sebep genelde unutulmuş bir yönlendirme, staging'den kalan bir noindex, eski sitemap ya da yeni şablonda kaybolan canonical etiketleri oluyor. Yani sorunların çoğu önceden görülebilir.

Ben taşımaları her seferinde aynı listeyle yürütüyorum. Liste üç aşamadan oluşuyor: taşımadan önce, taşıma günü ve taşımadan sonra. Aşağıdaki maddeleri kopyalayıp kendi projenize göre kısaltabilir ya da genişletebilirsiniz.

Site taşıma kontrol listesi: öncesi, taşıma günü ve sonrası »

Domain değişikliğinde trafik kaybetmemek

Domain değişikliği, site taşımanın en hassas türü. Aynı domain içinde URL değiştirdiğinizde Google en azından siteyi tanıyor; domain değiştiğinde ise bütün sinyallerin yeni adrese aktarılması gerekiyor. Bu aktarımı mümkün kılan şey de sadece doğru kurulmuş yönlendirmeler.

İşin kötü tarafı, domain değişikliğinde yapılan hataların çoğu geri alınamaz hale geliyor. Eski domaini bıraktıysanız ya da bütün URL'leri ana sayfaya yönlendirdiyseniz, sonradan düzeltmek için elinizde fazla bir şey kalmıyor.

Domain değişikliğinde trafik kaybetmemek »

HTTP'den HTTPS'e, www'dan www'suza: doğru yönlendirme

Her sitenin en az dört adresi vardır: http://, https://, www'lu ve www'suz. Bunlardan sadece biri yayında görünmeli, diğer üçü tek adımda ona yönlenmeli. Kulağa basit geliyor ama denetlediğim sitelerde en sık rastladığım teknik sorunlardan biri hâlâ bu: zincirleme yönlendirmeler, 302'ler ya da hiç yönlenmeyen bir varyasyon.

Sonuç olarak aynı sayfa birden fazla adreste açılıyor, linkler farklı varyasyonlara dağılıyor ve Google hangi adresin asıl adres olduğunu kendisi seçmek zorunda kalıyor.

HTTP'den HTTPS'e, www'dan www'suza: doğru yönlendirme »

Googlebot JavaScript'i nasıl işliyor?

"Google JavaScript'i çalıştırıyor, o yüzden sorun yok" cümlesi yarı doğru. Google gerçekten JavaScript çalıştırıyor, ama bir kullanıcı gibi değil. Tıklamıyor, kaydırmıyor, izin pencerelerine cevap vermiyor ve bir sayfadan diğerine hiçbir şey taşımıyor. Sayfanızın içeriği bu davranışlardan birine bağlıysa, Google o içeriği görmüyor.

JavaScript ağırlıklı sitelerde karşılaştığım dizine ekleme sorunlarının çoğu, Googlebot'un sayfayı nasıl işlediği tam bilinmediği için ortaya çıkıyor. Süreci anladığınızda sorunların nereden geldiğini tahmin etmek kolaylaşıyor.

Googlebot JavaScript'i nasıl işliyor? »

React ve Vue sitelerinde SEO: SSR, SSG ve prerender

React ya da Vue ile yapılmış bir sitenin SEO sorunları çoğu zaman framework'ten değil, render stratejisinden çıkıyor. Aynı React bileşenleri, tarayıcıda boş bir <div id="root"> içine de basılabilir, sunucuda tam HTML olarak da üretilebilir. Google açısından bu ikisi arasında büyük fark var.

Doğru stratejiyi seçmek için önce seçeneklerin ne yaptığını netleştirmek gerekiyor. Sonra sitenin türüne bakıp karar vermek kolaylaşıyor.

React ve Vue sitelerinde SEO: SSR, SSG ve prerender »

Render farkını test etmek: kaynak kod ve DOM karşılaştırması

Bir sayfanın iki hâli var: sunucunun gönderdiği ham HTML ve JavaScript çalıştıktan sonra tarayıcıda oluşan DOM. İki hâl aynıysa JavaScript SEO'su hakkında endişelenecek pek bir şey yok. Farklıysa, hangi alanın farklı olduğunu bilmek gerekiyor: title mı değişiyor, canonical mı ekleniyor, içerik mi sonradan geliyor?

Bu farkı gözle görmek, JavaScript ağırlıklı bir sitede yaptığım ilk kontrollerden biri. Aşağıda en basitinden otomatiğine dört yöntemi ve karşılaştırmayı raporlayan küçük bir Node.js betiğini anlatıyorum.

Render farkını test etmek: kaynak kod ve DOM karşılaştırması »

INP nasıl düzeltilir? Etkileşim gecikmesinin sebepleri ve çözümleri

Kullanıcı bir butona tıklıyor, sayfa bir süre donuk kalıyor, sonra tepki veriyor. Lighthouse puanı yüksek görünse bile Search Console'da INP uyarısı geliyorsa sorun tam olarak budur: ana iş parçacığı (main thread) o anda başka işle meşgul.

INP, Mart 2024'te FID'in yerini aldı ve FID'den çok daha zor bir metrik. Sadece ilk etkileşimi değil, sayfa ömrü boyunca yapılan etkileşimleri izliyor. Bu yüzden "ilk yüklemede JavaScript'i ertele" gibi eski taktikler tek başına yetmiyor.

INP nasıl düzeltilir? Etkileşim gecikmesinin sebepleri ve çözümleri »