VixSEO
Next.js SEO Optimizasyonu Rehberi: SSR, SSG ve Metadata API ile Arama Performansı

Next.js SEO Optimizasyonu Rehberi: SSR, SSG ve Metadata API ile Arama Performansı

27 Mart 2026 14 dk okuma süresi
Özet: Next.js, React tabanlı web uygulamalarının SEO sorunlarını çözmek için SSR, SSG ve ISR gibi render stratejileri sunan güçlü bir çerçevedir. Metadata API, otomatik sitemap oluşturma ve görsel optimizasyon gibi yerleşik SEO araçlarıyla, Next.js projelerinde mükemmel arama performansı elde edebilirsiniz. VixSEO paneli de Next.js üzerinde geliştirilmiştir.

React uygulamaları doğası gereği istemci taraflı render (CSR) kullanır ve bu, SEO açısından ciddi zorluklar yaratır. Next.js, sunucu taraflı render, statik site oluşturma ve artımlı statik yeniden oluşturma gibi stratejilerle bu sorunu kökten çözer. 2026 itibarıyla Next.js, SEO odaklı React geliştirmenin fiili standardı haline gelmiştir.

Next.js Render Stratejileri ve SEO

SSR (Server-Side Rendering)

Her istekte sunucu tarafında HTML oluşturulur. İçerik her zaman güncel ve arama motorları için hemen erişilebilirdir.

// app/blog/[slug]/page.tsx
export default async function BlogPost({ params }: { params: { slug: string } }) {
  const post = await getPost(params.slug)
  return (
    <article>
      <h1>{post.title}</h1>
      <div dangerouslySetInnerHTML={{ __html: post.content }} />
    </article>
  )
}

SEO avantajı: Googlebot, sayfayı render etmek zorunda kalmadan tam HTML içeriği alır. LCP ve indeksleme hızı iyileşir.

SSG (Static Site Generation)

Sayfalar derleme zamanında (build time) oluşturulur ve CDN üzerinden sunulur. En hızlı yükleme deneyimini sağlar.

// app/blog/[slug]/page.tsx
export async function generateStaticParams() {
  const posts = await getAllPosts()
  return posts.map((post) => ({ slug: post.slug }))
}

export default async function BlogPost({ params }: { params: { slug: string } }) {
  const post = await getPost(params.slug)
  return <article>...</article>
}

SEO avantajı: En düşük TTFB, mükemmel Core Web Vitals skorları ve güvenilir erişilebilirlik.

ISR (Incremental Static Regeneration)

SSG'nin avantajlarını korurken, sayfaların belirli aralıklarla arka planda yeniden oluşturulmasını sağlar.

// Sayfayı 60 saniyede bir yeniden oluştur
export const revalidate = 60

SEO avantajı: Statik hız ile dinamik içerik güncelliğinin birleşimi.

Next.js Metadata API

Next.js App Router'ın Metadata API'si, SEO meta etiketlerini yönetmenin modern yoludur:

Statik Metadata

// app/blog/page.tsx
import type { Metadata } from 'next'

export const metadata: Metadata = {
  title: 'Blog | VixSEO',
  description: 'SEO stratejileri ve teknik rehberler',
  openGraph: {
    title: 'VixSEO Blog',
    description: 'SEO stratejileri ve teknik rehberler',
    type: 'website',
  },
}

Dinamik Metadata

// app/blog/[slug]/page.tsx
import type { Metadata } from 'next'

export async function generateMetadata({ params }): Promise<Metadata> {
  const post = await getPost(params.slug)
  return {
    title: post.title,
    description: post.excerpt,
    openGraph: {
      title: post.title,
      description: post.excerpt,
      images: [post.image],
    },
  }
}

Otomatik Sitemap Oluşturma

Next.js, app/sitemap.ts dosyası ile otomatik sitemap oluşturmayı destekler:

// app/sitemap.ts
import type { MetadataRoute } from 'next'

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const posts = await getAllPosts()

  const postUrls = posts.map((post) => ({
    url: `https://ornek.com/blog/${post.slug}`,
    lastModified: post.updatedAt,
    changeFrequency: 'weekly' as const,
    priority: 0.8,
  }))

  return [
    { url: 'https://ornek.com', lastModified: new Date(), priority: 1 },
    { url: 'https://ornek.com/blog', lastModified: new Date(), priority: 0.9 },
    ...postUrls,
  ]
}

Robots.txt Yapılandırması

// app/robots.ts
import type { MetadataRoute } from 'next'

export default function robots(): MetadataRoute.Robots {
  return {
    rules: {
      userAgent: '*',
      allow: '/',
      disallow: ['/api/', '/admin/'],
    },
    sitemap: 'https://ornek.com/sitemap.xml',
  }
}

Görsel Optimizasyonu

Next.js'in <Image> bileşeni otomatik görsel optimizasyonu sağlar:

import Image from 'next/image'

<Image
  src="/hero.jpg"
  alt="Detaylı açıklama"
  width={1200}
  height={600}
  priority  // LCP görseli için
  placeholder="blur"
/>

Image Bileşeninin SEO Avantajları

  • Otomatik WebP/AVIF dönüşümü — dosya boyutunu küçültür.
  • Responsive srcset — farklı ekran boyutları için uygun görsel.
  • Otomatik lazy loading — viewport dışındaki görseller gecikmeli yüklenir.
  • CLS önleme — width ve height zorunlu, düzen kayması engellenir.
  • Priority özelliği — LCP görseline öncelik verilir.

Yapısal Veri Entegrasyonu

// app/blog/[slug]/page.tsx
export default async function BlogPost({ params }) {
  const post = await getPost(params.slug)

  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'Article',
    headline: post.title,
    datePublished: post.date,
    author: { '@type': 'Organization', name: 'VixSEO' },
  }

  return (
    <>
      <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }} />
      <article>...</article>
    </>
  )
}

Next.js SEO Performans İpuçları

  • Route segmentlerini doğru yapılandırın: dynamic = 'force-static' veya revalidate ile render stratejisini kontrol edin.
  • Font optimizasyonu: next/font ile fontları otomatik optimize edin — CLS'yi önler.
  • Script yönetimi: next/script ile üçüncü parti betiklerin yükleme stratejisini kontrol edin.
  • Paket boyutunu izleyin: @next/bundle-analyzer ile JavaScript paket boyutlarını analiz edin.
  • Middleware kullanımı: Edge middleware ile coğrafi yönlendirme ve A/B testi uygulayın.

Next.js SEO Kontrol Listesi

  • Her sayfada Metadata API ile title ve description tanımlı mı?
  • Open Graph ve Twitter Card meta etiketleri eklenmiş mi?
  • Sitemap.ts ve robots.ts dosyaları oluşturulmuş mu?
  • Dinamik sayfalar için generateStaticParams veya SSR kullanılıyor mu?
  • Görseller Image bileşeni ile optimize ediliyor mu?
  • LCP görseline priority niteliği eklenmiş mi?
  • Yapısal veri (JSON-LD) uygun sayfalara eklenmiş mi?
  • Canonical URL'ler doğru yapılandırılmış mı?
  • Hreflang etiketleri (çok dilli site ise) uygulanmış mı?

Sıkça Sorulan Sorular

Next.js App Router mı Pages Router mı kullanmalıyım?

2026 itibarıyla App Router, önerilen yaklaşımdır. Metadata API, Server Components ve gelişmiş veri yükleme özellikleri App Router'a özeldir.

SSR her sayfa için gerekli mi?

Hayır. Sık değişmeyen sayfalar için SSG veya ISR daha verimlidir. SSR, her istekte güncel veri gerektiren sayfalar için idealdir.

Next.js ile tek sayfa uygulaması (SPA) yapabilir miyim?

Next.js'i SPA olarak kullanmak mümkün ancak SSR/SSG avantajlarından vazgeçmek SEO açısından büyük kayıptır.

Sonuç

Next.js, React ekosisteminde SEO uyumlu web uygulamaları geliştirmenin en güçlü yoludur. Metadata API, otomatik sitemap, görsel optimizasyonu ve esnek render stratejileri ile arama motorlarında üstün performans elde edebilirsiniz. VixSEO panelinin kendisi de Next.js üzerinde geliştirilmiştir — bu, çerçevenin SEO yeteneklerinin canlı bir kanıtıdır.

Makaleyi Beğendiniz Mi?

Tüm Bu Süreçleri Otomatize Edin

VixSEO ile buradaki teknik adımların tamamına saatler harcamak yerine, akıllı Headless altyapısı sayesinde dakikalar içinde sitenizi iyileştirin.

14 Gün Ücretsiz Deneyin