JavaScript SEO: Dinamik İçerikler Google Tarafından Nasıl Taranır ve İndekslenir?
JavaScript ile oluşturulan web siteleri kullanıcıya hızlı ve etkileşimli bir deneyim sunabilir. Ancak sayfanın asıl içeriği tarayıcıda JavaScript çalıştıktan sonra ortaya çıkıyorsa arama motorlarının bu içeriği taraması ve dizine eklemesi için ek bir işleme aşaması gerekir. JavaScript SEO’nun amacı, arama motorlarının sayfanın başlığını, metnini, bağlantılarını ve diğer önemli sinyallerini doğru biçimde görebilmesini sağlamaktır.

Google JavaScript ile hazırlanan sayfaları nasıl işler?
Klasik bir HTML sayfasında içerik, sunucudan gelen HTML yanıtında bulunur. JavaScript ağırlıklı uygulamalarda ise ilk yanıt bir uygulama kabuğu içerebilir ve gerçek sayfa içeriği daha sonra JavaScript tarafından oluşturulabilir. Google’ın belgelediği süreçte Googlebot URL’yi tarar, uygun sayfaları oluşturma kuyruğuna alır ve kaynaklar elverdiğinde Chromium tabanlı bir tarayıcıyla JavaScript’i çalıştırır. Ardından oluşturulmuş HTML içindeki metin ve bağlantılar yeniden işlenebilir.
Bu süreç, JavaScript içeriğinin hiç taranamayacağı anlamına gelmez. Ancak tarama, oluşturma ve indeksleme farklı aşamalardır. Sayfanın ilk yanıtı hatalıysa, gerekli JavaScript dosyaları engellenmişse veya içerik yalnızca kullanıcı etkileşiminden sonra yükleniyorsa arama motorunun sayfayı anlaması zorlaşabilir. Google’ın JavaScript SEO temel bilgileri bu işleme akışını ve test yöntemlerini açıklar.
Önemli içerikleri ilk HTML yanıtında sunun
Ürün adı, hizmet açıklaması, ana başlık, fiyat, kategori metni ve temel iç bağlantılar gibi indekslenmesi gereken içerikleri mümkün olduğunca sunucu tarafında oluşturun. Server-side rendering (SSR) veya statik site üretimi, kritik içeriğin ilk HTML yanıtında bulunmasını sağlayabilir. İstemci tarafı JavaScript yine etkileşim ve kişiselleştirme için kullanılabilir; ancak sayfanın temel anlamı tek başına geç çalışan bir betiğe bağlı olmamalıdır.
Uygulama mimarisi seçilirken performans, bakım maliyeti ve içerik sıklığı da değerlendirilmelidir. Küçük bir kurumsal web sitesi için her sayfayı tamamen istemci tarafında oluşturmak gereksiz karmaşıklık yaratabilir. Büyük kataloglarda ise sunucu taraflı veya statik oluşturma, arama motorlarının ürün ve kategori içeriğini daha güvenilir görmesine yardımcı olabilir.
Bağlantıları gerçek HTML bağlantısı olarak üretin
Googlebot bağlantıları keşfederken standart href niteliğine sahip a öğelerini kullanır. Sadece JavaScript click olayına bağlanmış bir div veya buton, normal bir bağlantıyla aynı şekilde taranabilir olmayabilir. İç sayfalara geçişlerde gerçek URL içeren bağlantılar kullanın. Örneğin kullanıcı ürün başlığına tıkladığında tarayıcıda erişilebilir bir ürün adresi bulunmalıdır.
Tek sayfa uygulamalarında istemci tarafı yönlendirme kullanılabilir; ancak her önemli içerik için doğrudan açılabilen, anlamlı ve kalıcı bir URL bulunmalıdır. URL’ler yalnızca hash değişimine dayanıyorsa arama motoru taraması açısından ek sorunlar oluşabilir. Menü ve kategori bağlantılarını da JavaScript tarafından ekranda gösterilmekle sınırlamayın; HTML içinde erişilebilir hale getirin.
Canonical, meta etiketler ve indeksleme sinyallerini kontrol edin
JavaScript sayfanın başlığını veya meta açıklamasını dinamik olarak değiştirebilir. Ancak ilk HTML ile oluşturulmuş HTML arasında çelişki bulunması, arama motorlarının hangi sinyali esas alacağını belirsizleştirebilir. Canonical URL mümkünse ilk HTML yanıtında açıkça yer almalı ve JavaScript tarafından farklı bir URL’ye dönüştürülmemelidir. Meta robots etiketi, HTTP yanıt kodu ve canonical birbiriyle tutarlı olmalıdır.
İçerik görünür olmasına rağmen sayfa noindex olarak işaretlenmişse indekslenmez. Benzer şekilde robots.txt ile gerekli JavaScript dosyalarının engellenmesi, oluşturma aşamasında eksik içerik görülmesine yol açabilir. Sayfanın 200 HTTP yanıtı verdiğini, gerekli kaynakların erişilebilir olduğunu ve doğru canonical kullandığını kontrol edin.
JavaScript SEO için test adımları
- URL Denetimi: Search Console’da URL’yi test edin ve Google’ın oluşturduğu sayfayı inceleyin.
- Oluşturulmuş HTML: Ana başlık, ana metin, fiyat, ürün bilgisi ve iç bağlantıların render edilmiş HTML’de bulunduğunu doğrulayın.
- Kaynak erişimi: JavaScript ve CSS dosyalarının robots.txt, güvenlik duvarı veya sunucu ayarlarıyla yanlışlıkla engellenmediğini kontrol edin.
- HTTP durumu: Gerçek bir bulunamayan sayfanın 404, başarılı sayfanın 200 gibi uygun yanıt kodu verdiğini doğrulayın.
- Canonical ve meta robots: İlk HTML ile son oluşturulmuş HTML arasında çelişki olmadığından emin olun.
- Bağlantı yapısı: Önemli sayfalara standart href bağlantılarıyla ulaşılabildiğini kontrol edin.
URL Denetimi tek başına tüm siteyi test etmez. Örnek sayfaları farklı şablonlardan seçin: ana sayfa, kategori, ürün, blog ve filtre sayfaları. Büyük sitelerde tarama bütçesini de dikkate almak gerekir. Google tarama bütçesi rehberimiz bu konunun büyük sitelerdeki etkisini açıklıyor. İndekslenmeyen URL’lerin incelenmesi için Search Console indeksleme sorunları yazımıza da bakabilirsiniz.
Sonuç
JavaScript kullanmak SEO açısından tek başına olumsuz değildir. Önemli olan arama motorlarının sayfanın temel içeriğini, bağlantılarını ve indeksleme sinyallerini doğru biçimde elde edebilmesidir. Kritik içeriği sunucu tarafında sunmak, standart bağlantılar kullanmak ve oluşturulmuş HTML’yi düzenli test etmek, JavaScript tabanlı sitelerin teknik SEO altyapısını güçlendirir.

