Modern web siteleri, hızlı, uygulama benzeri deneyimler kurmak için giderek React, Vue, Angular ve Next.js gibi JavaScript çatılarına dayanıyor. Ama bu çatılar, düz HTML sitelerinin hiç karşılaşmadığı bir zorluk getirir: içeriğin yalnızca JavaScript çalıştıktan sonra görünüyorsa, arama motorları onu görmekte zorlanabilir. JavaScript SEO, tarayıcıların JS ağırlıklı bir sitedeki önemli her şeye erişebilmesini, işleyebilmesini ve indeksleyebilmesini sağlama uygulamasıdır.

Google JavaScript'i nasıl işler

Google JavaScript sayfalarını iki dalgada işler. Önce ham HTML'i tarar. Sonra, işleme (rendering) pahalı olduğu için sayfa ikinci bir geçiş için sıraya alınır; burada Googlebot JavaScript'i gerçekten çalıştırır ve son içeriği görür. Bu işleme sırası bir gecikme getirebilir — bazen dakikalar, bazen çok daha uzun — ve işleme başarısız olur veya zaman aşımına uğrarsa Google sayfanın eksik bir sürümünü indeksleyebilir. Diğer arama motorları ve birçok sosyal ile yapay zeka tarayıcısı, JavaScript'i Google'dan çok daha az güvenilir işler, işlerse.

Temel sorun

Risk basittir: başlığın, ana içeriğin, iç linklerin veya yapısal verin ilk HTML'de yoksa ve tamamen istemci tarafı JavaScript'e bağlıysa, gecikebilir, kısmen indekslenebilir veya kaçırılabilir. JavaScript ile enjekte edilen iç linkler özellikle sorunludur, çünkü Google bunları işlenmiş DOM'da bulamazsa, işaret ettikleri sayfaları keşfedemez.

İşleme stratejileri

En güvenilir çözüm, kritik içerik için istemci tarafı işlemeye bağlı kalmamaktır. Ana seçenekler:

  • Sunucu Tarafı İşleme (SSR) — sunucu tamamen işlenmiş HTML gönderir, böylece tarayıcılar (ve kullanıcılar) içeriği anında alır. SEO için altın standarttır.
  • Statik Site Üretimi (SSG) — sayfalar dağıtım zamanında statik HTML'e önceden derlenir. İstek başına değişmeyen içerik için idealdir.
  • Dinamik işleme — botlara önceden işlenmiş bir sürüm sunarken kullanıcılar JS uygulamasını alır. İşe yarar bir geçici çözüm, ancak Google artık onu geçici olarak değerlendirir.
  • İstemci Tarafı İşleme (CSR) — tüm işi tarayıcı yapar. SEO için en riskli seçenek; girişlerin arkasındaki veya sıralanması gerekmeyen içerik için ayır.

Next.js, Nuxt ve SvelteKit gibi çatılar SSR ve SSG'yi kolaylaştırır, bu yüzden içerik odaklı siteler için popüler hale geldiler.

JavaScript SEO en iyi uygulamaları

  • Kritik içeriği ilk HTML'e koy. Başlıklar, ana metin, başlık etiketleri ve birincil linkler görünmek için JavaScript gerektirmemeli.
  • Gerçek linkler kullan. İç linkler, bir div üzerindeki tıklama işleyicileri değil, href özniteliği olan düzgün çapa etiketleri olmalı — Google JavaScript olaylarını değil href'leri takip eder.
  • JS ve CSS'ini engelleme. robots.txt, Google'ın sayfayı işlemek için ihtiyaç duyduğu kaynakları engellerse bozuk bir sürüm görür. robots.txt rehberimize bak.
  • Hash tabanlı URL'lerden kaçın. Parçalar yerine temiz, taranabilir URL'ler için History API kullan.
  • Meta verileri sunucu tarafında işle. Başlık etiketleri, meta açıklamalar ve yapısal veri, geç enjekte edilmek yerine sunulan HTML'de olmalı.

Bir JavaScript sitesi nasıl test edilir

Anahtar soru her zaman şudur: içerik, Google'ın gördüğü işlenmiş sayfada var mı? Bir sayfanın ham HTML sinyallerini Meta Etiket Analizcisi ile karşılaştırarak başlık ve metanın JavaScript olmadan mevcut olup olmadığını kontrol et. Siteni Teknik Site Denetimi (Tarayıcı) ile tarayarak eksik başlıkları, zayıf sayfaları ve taranamayan bölümleri bul ve işleme maliyetini Sayfa Hızı & Boyut Testi ile ölç. Search Console'daki Google URL İnceleme aracı, Googlebot'un ürettiği tam işlenmiş HTML'i ve ekran görüntüsünü gösterir — kesin kontrol.

Sık yapılan hatalar

  • Sıralaman gereken içerik için istemci tarafı işlemeye güvenmek.
  • Gezinme için gerçek çapa linkleri yerine düğmeler veya JavaScript işleyicileri kullanmak.
  • Canonical etiketlerini veya meta robots'u JavaScript ile enjekte etmek; çok geç işlenebilir.
  • İşlemeyi yavaşlatan ve Core Web Vitals'ı zedeleyen ağır JavaScript — Core Web Vitals rehberimize bak.

Sıkça sorulan sorular

Google JavaScript içeriğini indeksleyebilir mi?

Evet. Google, JavaScript işleme ve indekslemede sektörün en iyisidir ve iyi kurulmuş JS siteleri gayet iyi sıralanabilir. Uyarı, işlemenin gecikmeli ve kaynak yoğun olmasıdır; bu yüzden istemci tarafı JavaScript’e bağlı kritik her şey, ilk HTML’de bulunan içeriğe kıyasla ekstra risk taşır.

Sunucu tarafı işleme her zaman gerekli mi?

Her zaman değil ama sıralaman gereken içerik için en güvenli seçimdir. Küçük tanıtım siteleri çoğu zaman istemci tarafı işlemeyle idare edebilir; içerik ağırlıklı veya rekabetçi siteler ise SSR veya statik üretimden büyük fayda görür. Şüphedeysen kritik içeriği sunucuda işle ve istemci tarafı JavaScript’i yalnızca geliştirmeler için kullan.

Diğer arama motorları JavaScript’i Google gibi işler mi?

Hayır ve bu önemlidir. Bing bir miktar JavaScript işler ama daha az güvenilir; birçok sosyal medya ve yapay zeka tarayıcısı onu hiç çalıştırmaz. Google dışındaki görünürlüğü önemsiyorsan — link önizlemeleri ve yapay zeka cevap motorları dahil — sunucuda işlenmiş HTML tek güvenilir seçenektir.

JavaScript’in SEO’ma zarar verip vermediğini nasıl anlarım?

Sayfanı JavaScript kapalıyken tamamen işlenmiş sürümle karşılaştır. Başlığın, ana içeriğin veya linklerin JavaScript olmadan kayboluyorsa, o içerik risk altındadır. Search Console’un URL İnceleme aracı, Googlebot’un tam olarak ne işlediğini gösterir; kesin cevap budur.

Sonuç

JavaScript ve SEO güzelce bir arada var olabilir — ama yalnızca kritik içeriğin istemci tarafı işlemenin arkasında saklanmıyorsa. Sıralamak istediğin her şey için sunucu tarafı işlemeyi veya statik üretimi tercih et, gerçek taranabilir linkler kullan, meta verileri sunulan HTML'de tut ve Google'ın gerçekte ne işlediğini doğrula. Meta Etiket Analizcisi ve Teknik Site Denetimi (Tarayıcı) ile test et ve bulguları daha geniş teknik SEO denetimine dahil et.