JavaScript ve Next.js Tabanlı Sitelerde Teknik SEO Sorunları ve Çözümleri

JavaScript ve Next.js Tabanlı Sitelerde Teknik SEO Sorunları ve Çözümleri

8 dk okuma15 Ocak 2026DGTLFACE Editorial

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.

Öne Çıkan Cevap

JavaScript ve Next.js tabanlı siteler, doğru kurulduğunda hızlı ve SEO dostu olabilir; yanlış kurulumda ise Google’ın içeriği görmesi ve sayfayı anlaması zorlaşır. Kritik kural şudur: Google’ın ilk HTML çıktısında ana içerik ve önemli linkler görünmelidir. SSR/SSG seçimi, meta ve structured data yönetimi, dinamik route/parametrelerin canonical stratejisi ve filtre/rezervasyon akışlarının indeks kontrolü birlikte planlandığında modern JS siteleri de güçlü organik görünürlük üretebilir.

Özet

Next.js SEO’da başarı; Google’ın ilk HTML’de içerik görmesi, SSR/SSG’nin doğru seçilmesi, meta+schema/canonical standardı ve filtre/rezervasyon URL’lerinin kontrol altına alınmasıyla gelir.

Maddeler

  • Hedef kitle: Otel/ajans yöneticileri + SEO + geliştirici (Next.js)
  • Kritik entity’ler: JavaScript SEO, Next.js, SSR, SSG, CSR, dynamic routes, canonical, hotel filters
  • KPI: İndeks kapsamı temizliği, doğru sayfanın sıralanması, crawl/render verimi, CWV ve dönüşüm etkisi
  • Funnel: MoFu (teşhis → düzelt → doğrula → ölçekle)
  • Risk alanları: İlk HTML’de içerik yok, lazy load/infinite scroll, parametre çöplüğü, yanlış canonical, meta/schema eksikleri
  • Otel özel: oda listesi + filtre, rezervasyon akışı, kampanya landing’leri
  • Teknik not: Google’ın iki aşamalı tarama/render süreci ve render bütçesi kavramı

Kısa Cevap

Next.js siteniz SEO uyumlu olabilir; yeter ki ana içerik ilk HTML’de gelsin ve canonical doğru olsun.

Hızlı Özet

  • 1) Google’ın ilk HTML’de ne gördüğünü kontrol et
  • 2) Para sayfalarında SSR/SSG/ISR kararını doğru ver
  • 3) Meta + schema + canonical standardını kilitle
  • 4) Dinamik route/filtre URL’lerini kontrol altına al
  • 5) Tag/script yükünü azaltıp CWV’yi stabilize et

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.

 Google nasıl görüyor? (Next.js + JS teknik SEO çerçevesi)
SSR, SSG VE CSR Google İçeriği Ne Zaman Görür?
Next.js & SEO Sorunları ve Çözümleri
Özet: Next.js & SEO Sorunları ve Çözümleri

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.

Google’ın JS Siteleri Nasıl İşlediği?
Google'ın İki Aşamalı JS Tarama ve Render Süreci

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
Next.js Meta ve Schema Kontrol Listesi

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.

Dinamik Route ve Parametreler
Dinamik URL ve Canonical İlişkisi (Otel Örneği)

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.

Otel ve Ajans Siteleri İçin Örnek Sorun–Çözüm Senaryoları
Next.js SEO: Gerçek Hayat Sorun-Çözüm Senaryoları

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ı

Özet ve Bakım Planı
Next.js SEO: 365 Günlük Bakım ve Test Döngüsü

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.

Özet ve Bakım Planı
14 Günlük Next.js SEO Fix Sprint Planı

9. Next.js & JS SEO Kontrol Listesini İndir — Teknik SEO / JS Troubleshooting

PDFv1.0Checklist + Sprint

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?

  1. “İlk HTML görünürlüğü” testini yap ve riskli şablonları seç.
  2. Checklist ile kök nedenleri işaretle, çözüm tablosunu doldur.
  3. 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

PDF’i İndir Ücretsiz • PDF / Excel

Bir Sonraki Adım

Render/indeks/meta/canonical risklerini tek denetimde çıkarıp uygulanabilir fix listesi isteyen ekipler için.

Sık Sorulan Sorular

Google JavaScript siteleri nasıl işler?
Google önce HTML’i tarar, sonra gerektiğinde JavaScript’i çalıştırıp render eder. Ana içerik ve linklerin ilk HTML’de olması daha güvenlidir.
Next.js SEO dostu mu?
Evet. SSR/SSG/ISR doğru kullanılır, meta+schema ve canonical standardı doğru kurulursa Next.js oldukça SEO dostudur.
SSR, SSG ve CSR farkı nedir, SEO’yu nasıl etkiler?
SSR/SSG’de içerik HTML’de hazır gelir ve Google sayfayı hızlı anlar. CSR’da içerik JS ile sonradan geldiği için kritik sayfalarda SEO riski artabilir.
Dinamik otel listeleme ve filtre sayfaları SEO’ya zarar verir mi?
Kontrolsüz parametrelerle binlerce indekslenebilir URL üretilirse zarar verebilir. Canonical/noindex ve değerli kombinasyonlar için landing yaklaşımıyla yönetilmelidir.
Lazy load SEO’ya zarar verir mi?
Görseller için çoğu zaman faydalıdır; ancak ana metin içerik ve kritik liste (oda listesi gibi) lazy olursa tarama ve keşif zayıflayabilir.
Canonical neden kritik?
Parametreli ve benzer sayfalar arasında “asıl URL”i belirler. Yanlış canonical, yanlış sayfanın sıralanmasına ve kanibalizasyona yol açabilir.
?
DGTLFACE | Dijital Dönüşüm Partneriniz