1. Giriş: Google nasıl görüyor? (Next.js + JS teknik SEO çerçevesi)
Next.js ve modern JavaScript framework’leri; hız, UX ve geliştirme verimliliği için güçlüdür. Ancak yanlış render stratejisi ve yanlış URL/meta kurgusu, Google’ın sayfayı taramasını ve içeriği anlamasını zorlaştırabilir. Otel ve ajans projelerinde risk genelde aynı yerde patlar: oda listeleme/filtre, rezervasyon adımları, dinamik route’lar, meta+schema ve performansı bozan 3. parti script’ler. Bu rehber, “Google nasıl görüyor?” sorusuyla başlayıp SSR/SSG/CSR seçimini, meta/schema ve canonical standardını ve gerçek hayatta sık görülen sorun–çözüm senaryolarını adım adım netleştirir.


2. Google’ın JS Siteleri Nasıl İşlediği?
Google, JavaScript siteleri “sadece HTML” gibi okumaz; tarama ve render süreçleri vardır. Pratikte iki kritik gerçek önemlidir: 1. İlk taramada Google HTML’i alır ve “hemen görünen” sinyalleri okur (title, meta, linkler, içerik). 2. JavaScript ile sonradan yüklenen içerik, bazı senaryolarda gecikebilir veya her zaman güvenilir şekilde işlenmeyebilir.
Varsayım: Burada amaç korkutmak değil; “kritik içerik ilk HTML’de olsun” standardını kilitlemektir.
Google JavaScript siteleri nasıl işler?
Google önce sayfanın HTML’ini tarar; ardından gerekli görürse JavaScript’i çalıştırıp render eder. Bu yüzden ana içerik ve önemli linklerin ilk HTML’de bulunması SEO açısından daha güvenlidir.
Render bütçesi (rendering budget) neden konuşulur?
Her site için sınırsız render kapasitesi yoktur. Ağır JS, çok sayıda URL varyasyonu ve gereksiz sayfa üretimi; render verimini düşürür. Otel sitelerinde filtre URL’leri ve dinamik listeler bu riski büyütür.

Ne yapmalıyım? (SXO aksiyon listesi)
- • “View Source” ve “Inspect URL” ile Google’ın ilk HTML’de ne gördüğünü kontrol et.
- • Ana içerik + ana linkler ilk HTML’de değilse SSR/SSG yönüne kay.
- • Filtre/parametre URL’lerini kontrol altına al (canonical/noindex).
3. SSR, SSG ve CSR Farkları
Bu üç yaklaşımın SEO etkisi, “Google içeriği ne zaman görebiliyor?” sorusuna cevap verir.
SSR (Server-Side Rendering)
Sunucu, isteğe göre sayfayı render eder ve HTML’i içerikle birlikte gönderir. SEO için güvenlidir; dinamik sayfalarda (oda liste, kampanya) güçlüdür.
SSG (Static Site Generation)
Sayfa build sırasında üretilir, CDN’den hızlı servis edilir. SEO için genelde en stabil yöntemdir; içerik sık değişmiyorsa ideal.
CSR (Client-Side Rendering)
İçerik tarayıcıda JS ile oluşur. Eğer ana içerik ilk HTML’de yoksa SEO riski artar. Bazı interaktif parçalar için uygundur; ama “ana içerik” CSR’a bırakılmamalıdır.
SSR, SSG ve CSR farkı nedir, SEO’yu nasıl etkiler?
SSR/SSG’de ana içerik HTML’de hazır gelir, Google daha hızlı ve doğru anlar. CSR’da içerik JS ile sonradan geldiği için Google’ın içeriği görmesi gecikebilir; kritik sayfalar için risklidir.
Ne yapmalıyım? (SXO aksiyon listesi)
- • Para sayfaları (oda/destinasyon/hizmet/kampanya) SSR/SSG olsun.
- • CSR’ı sadece interaktif bileşenlere indir (filtre UI, modal vb.).
- • İçerik değişim sıklığına göre SSG/ISR veya SSR seç.
4. Next.js ve Modern Framework’lerde SEO Riskleri
Next.js SEO’da başarılıdır; fakat bazı hatalar “sessiz” yaşanır: site görünür, kullanıcı okur, ama Google’ın gördüğü sayfa zayıf olur.
İlk HTML çıktısında içerik görünüyor mu?
En kritik teşhis sorusu budur. Otel oda listesi veya ajans hizmet sayfası “boş bir shell” olarak geliyorsa, Google ilk turda yeterli sinyal alamaz.
Lazy load ve infinite scroll taramayı nasıl etkiler?
- •Lazy load görseller için doğru; ama metin içerik ve ana ürün/oda listesi lazy olursa tarama ve keşif zayıflar.
- •Infinite scroll, paginated alternatif olmadan kullanılırsa “derin içerik” keşfedilemeyebilir.
Script ve üçüncü taraf tag’lerin performansa etkisi (SEO + CWV)
Ağır tag’ler CWV’yi bozar, özellikle mobilde INP/LCP etkilenir. Ayrıca render sürecini yavaşlatıp “geç içerik” hissi yaratır. Varsayım: Tag yönetimi için ayrı içerik/sayfa var (Internal Link Targets’te var).
Ne yapmalıyım? (SXO aksiyon listesi)
- • Ana içerik SSR/SSG ile gelsin; lazy only “non-critical”.
- • Infinite scroll varsa mutlaka paginated URL’ler olsun.
- • Tag’leri sadeleştir; ölçüm var ama performans da var.
5. Meta ve Structured Data Yönetimi
Modern JS sitelerde meta yönetimi yanlış olursa, sayfalar aynı title/description ile gezer ve Google hangi sayfanın ne olduğunu ayırt edemez. Structured data (JSON-LD) eksikse snippet fırsatları kaçabilir.
Next.js meta yönetimi (head / metadata)
- •Her sayfanın title/description’ı route bazında unique olmalı
- •OG/Twitter meta’ları tutarlı olmalı
- •Canonical ve hreflang gibi kritik etiketler template ile yönetilmeli
Structured data (JSON-LD) ne zaman kırılır?
- •Client-side inject edilirse bazen geç gelebilir
- •Duplicate schema üretilebilir
- •URL/@id tutarsız olabilir

Ne yapmalıyım? (SXO aksiyon listesi)
- • Meta’ları route bazında dinamik ve sunucu tarafı üret.
- • JSON-LD’yi sayfada tek kaynak gerçek olarak standardize et.
- • Rich Results Test + URL Inspection ile doğrula.
6. Dinamik Route ve Parametreler
Otel ve ajans sitelerinde dinamik route kaçınılmazdır: oda detayları, bloglar, kampanyalar, hizmet alt sayfaları. Risk, kontrolsüz parametrelerle “sonsuz URL” üretmektir.
Dinamik URL parametreleri ve canonical kullanımı
Parametreli URL’ler (filtre/sıralama/utm) kanonik sayfaya canonical vermeli ve gerekiyorsa noindex ile desteklenmelidir. Aksi halde kanibalizasyon ve crawl budget sızıntısı olur.
Dinamik otel listeleme ve filtre sayfaları SEO’ya zarar verir mi?
Zarar verebilir; özellikle her filtre kombinasyonu ayrı indekslenebilir URL üretirse. Çözüm: filtre UI’ı kullanıcıya açık kalsın ama indeks stratejisi canonical/noindex ve kontrollü, değer üreten “landing filtre sayfaları” ile yönetilsin.

Ne yapmalıyım? (SXO aksiyon listesi)
- • Parametre URL’leri için index stratejisini yaz (hangisi index, hangisi noindex).
- • Canonical’ı “temiz” kanonik URL’e bağla.
- • Değer üreten filtre kombinasyonları için ayrı landing yaklaşımı kullan.
7. Otel ve Ajans Siteleri İçin Örnek Sorun–Çözüm Senaryoları
Bu bölüm, “gerçekte ne oluyor?” sorusuna kısa teşhis–çözüm kalıplarıyla cevap verir.
Senaryo 1: Oda listesi Google’da görünmüyor
Belirti: Oda listesi sayfası indexlenmiyor veya zayıf sıralanıyor. Kök neden: Liste CSR ile geliyor; ilk HTML boş/sinyal zayıf. Çözüm: Liste SSR/SSG/ISR ile gelsin; kritik metin ve linkler HTML’de olsun.
Senaryo 2: Filtre kombinasyonları binlerce URL üretiyor
Belirti: Search Console’da tarama bütçesi boşa gidiyor; “Duplicate” artıyor. Kök neden: Parametreler indexlenebilir, canonical yok veya yanlış. Çözüm: canonical standardı + noindex + parametre kontrolü; sadece değerli kombinasyonlar için ayrı landing.
Senaryo 3: Meta title/description her sayfada aynı
Belirti: Google hangi sayfanın ne olduğunu ayırt edemiyor, CTR düşüyor. Kök neden: Meta template statik veya yanlış route mapping. Çözüm: Route bazlı meta üretimi + içerik/silo anahtar kelimeleriyle standardizasyon.
Senaryo 4: JSON-LD bazen görünmüyor veya duplicate
Belirti: Rich Results dalgalı, schema hata veriyor. Kök neden: Client-side inject veya iki yerde schema basılıyor. Çözüm: Tek yerden server-side JSON-LD; url/@id tutarlı.
Senaryo 5: Tag Manager ve 3. parti script’ler CWV’yi çökertiyor
Belirti: LCP/INP kötüleşiyor, mobilde etkileşim gecikiyor. Kök neden: Gereksiz tag yükü, yanlış tetikleme, kritik path’i bloklama. Çözüm: Tag temizlik + geciktirme + kritik ölçüm seti; performans ile uyum.

Ne yapmalıyım? (SXO aksiyon listesi)
- • Önce “para sayfaları”nda HTML görünürlüğünü düzelt.
- • Parametre/filtre stratejisini kilitle, canonical/noindex standardı kur.
- • Meta+schema’yı template hale getir, test rutinini oturt.
8. Özet ve Bakım Planı

Modern JS/Next.js sitelerde SEO başarısı, “Google’ın gördüğü sayfa” ile “kullanıcının gördüğü sayfanın” aynı olmasına dayanır. SSR/SSG seçimleri, meta/schema standardı, dinamik route ve canonical stratejisi doğru kurulduğunda Next.js son derece SEO dostudur; üstelik performans avantajıyla rekabette öne çıkar. Ancak Google’ın JS işleme süreçleri ve Next.js sürümleri zamanla güncellenebileceği için bu rehberdeki kontrol noktaları 365 gün periyotla yeniden gözden geçirilmelidir.

9. Next.js & JS SEO Kontrol Listesini İndir — Teknik SEO / JS Troubleshooting
Next.js & JS SEO Kontrol Listesini İndir — Teknik SEO / JS Troubleshooting (v1.0)
Bu doküman, Next.js/JavaScript tabanlı sitelerde teknik SEO risklerini teşhis → önceliklendir → sprint ile düzelt yaklaşımıyla yönetmek için hazırlanmıştır. Ana hedef; Google’ın ilk HTML’de içerik ve linkleri görebilmesi, meta+schema standardının tutarlı olması ve parametre/filtre URL’lerinin kontrol altına alınmasıdır.
Kim Kullanır?
SEO uzmanı + geliştirici + proje yöneticisi (otel/ajans) birlikte.
Nasıl Kullanılır?
- “İlk HTML görünürlüğü” testini yap ve riskli şablonları seç.
- Checklist ile kök nedenleri işaretle, çözüm tablosunu doldur.
- 14 günlük sprint planıyla fix’leri uygula ve Search Console/PSI ile doğrula.
Ölçüm & Önceliklendirme (Kısa sürüm)
- ▢ ✅ View Source’da ana içerik görünüyor
- ▢ ✅ URL Inspection “Rendered HTML” içerik ve linkleri içeriyor
- ▢ ✅ Önemli iç linkler (oda/hizmet) HTML’de mevcut
- ▢ ✅ Infinite scroll varsa paginated alternatif var
- ▢ ✅ Para sayfaları SSR/SSG/ISR
- ▢ ✅ CSR sadece interaktif parçalar
- ▢ ✅ Title/description route bazlı unique
- ▢ ✅ Canonical self ve tutarlı
- ▢ ✅ JSON-LD tek kaynaktan üretiliyor (duplicate yok)
- ▢ ✅ Filtre URL’leri indeks stratejisi net (canonical/noindex)
- ▢ ✅ UTM/gclid vb. canonical temiz URL’e gidiyor
- ▢ ✅ 3. parti tag envanteri çıkarıldı
- ▢ ✅ Kritik path’i bloklayan script yok
- ▢ ✅ CWV (LCP/CLS/INP) ölçümü yapıldı
PDF içinde: Problem→Kök Neden→Çözüm tablosu + 14 gün sprint planı + önce/sonra KPI tablosu
Bir Sonraki Adım
Render/indeks/meta/canonical risklerini tek denetimde çıkarıp uygulanabilir fix listesi isteyen ekipler için.
