İçeriğe geç
SEO

SEO-Friendly URL Yapısı: Best Practices

Tarık Tunç
SEO-Friendly URL Yapısı: Best Practices

SEO-Friendly URL Yapısı: Best Practices

URL yapısı, hem kullanıcı deneyimi hem de arama motoru optimizasyonu açısından kritik bir bileşendir. İyi tasarlanmış URL'ler, kullanıcıların sayfanın içeriğini URL'den anlayabilmesini sağlarken, arama motorlarının site hiyerarşisini kavramasına yardımcı olur. Bu yazıda SEO dostu URL oluşturmanın temel kurallarını, slug optimizasyonunu ve URL migration stratejilerini detaylı örneklerle inceliyoruz.

SEO Dostu URL Nedir?

SEO dostu bir URL; kısa, açıklayıcı, okunabilir ve tutarlı bir yapıya sahiptir. Arama motorları URL'yi içeriğin ne hakkında olduğuna dair bir sinyal olarak kullanır. Kullanıcılar ise URL'den sayfanın konusunu ve site içindeki konumunu anlar.

İyi URL örnekleri:

  • https://tariktunc.com/blog/seo-friendly-url-yapisi
  • https://tariktunc.com/projeler/e-ticaret-dashboard
  • https://example.com/urunler/laptop/macbook-air-m3

Kötü URL örnekleri:

  • https://example.com/p?id=12345&cat=7&ref=home
  • https://example.com/Blog/SEO-FRIENDLY-URL-Yapisi
  • https://example.com/2025/08/15/seo-friendly-url-yapisi-best-practices-ve-ornekler-kapsamli-rehber

URL Yapısı Kuralları

1. Küçük Harf Kullanın

URL'lerde her zaman küçük harf kullanın. Büyük harfli URL'ler ayrı sayfalar olarak değerlendirilebilir ve duplicate content sorununa yol açar.

// Next.js middleware - Büyük harfleri küçük harfe yönlendir
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const url = request.nextUrl.clone();
  const lowercasePath = url.pathname.toLowerCase();

  if (url.pathname !== lowercasePath) {
    url.pathname = lowercasePath;
    return NextResponse.redirect(url, 301);
  }

  return NextResponse.next();
}

2. Kelime Ayırıcı Olarak Hyphen Kullanın

Google, kelime ayırıcı olarak hyphen (-) kullanılmasını önerir. Alt çizgi (_), boşluk (%20) veya artı işareti (+) kullanmayın.

3. URL Derinliğini Minimumda Tutun

URL hiyerarşisi mümkün olduğunca sığ olmalıdır. 3-4 seviyeden fazla derinlik, hem kullanıcılar hem de arama motorları için karmaşıklık yaratır.

İpucu: URL'de tarih bilgisi (yıl/ay/gün) kullanmaktan kaçının. /blog/2025/09/20/url-yapisi yerine /blog/url-yapisi tercih edin. Tarih bilgisi URL'yi uzatır ve içerik güncellendiğinde URL'nin eski görünmesine neden olur.

Slug Optimizasyonu

Slug, URL'nin sayfa adını temsil eden bölümüdür. İyi bir slug, hedef anahtar kelimeyi içerir, gereksiz kelimelerden (stop words) arındırılmıştır ve kısa tutulmuştur.

// TypeScript slug oluşturma fonksiyonu
function createSlug(title: string): string {
  const turkishChars: Record<string, string> = {
    'ç': 'c', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u',
    'Ç': 'c', 'Ğ': 'g', 'İ': 'i', 'Ö': 'o', 'Ş': 's', 'Ü': 'u',
  };

  return title
    .split('')
    .map(char => turkishChars[char] || char)
    .join('')
    .toLowerCase()
    .replace(/[^a-z0-9\s-]/g, '')   // Alfanumerik ve hyphen dışını kaldır
    .replace(/\s+/g, '-')            // Boşlukları hyphen'e çevir
    .replace(/-+/g, '-')             // Ardışık hyphen'leri tekile indir
    .replace(/^-|-$/g, '');          // Baş ve sondaki hyphen'leri kaldır
}

// Örnekler:
// "SEO-Friendly URL Yapısı" → "seo-friendly-url-yapisi"
// "Next.js  ile  Blog Oluşturma!" → "nextjs-ile-blog-olusturma"

URL Migration ve 301 Redirect Stratejisi

URL yapınızı değiştirdiğinizde, eski URL'lerden yenilerine 301 yönlendirme yapmanız zorunludur. Aksi halde link equity kaybı, 404 hataları ve indeks düşüşü yaşarsınız.

// next.config.js - URL yönlendirmeleri
const nextConfig = {
  async redirects() {
    return [
      // Tekil yönlendirme
      {
        source: '/blog/eski-url-yapisi',
        destination: '/blog/seo-friendly-url-yapisi',
        permanent: true, // 301
      },
      // Pattern-based yönlendirme
      {
        source: '/posts/:slug',
        destination: '/blog/:slug',
        permanent: true,
      },
      // Query parametresi ile yönlendirme
      {
        source: '/article',
        has: [{ type: 'query', key: 'id', value: '(?<id>.*)' }],
        destination: '/blog/:id',
        permanent: true,
      },
    ];
  },
};
Uyarı: Redirect zincirleri (A → B → C) oluşturmaktan kaçının. Her zincir adımında arama motorları crawl budget harcar ve link equity kaybolabilir. Google, 3-4 adımdan fazla zinciri takip etmeyebilir. Doğrudan A → C yönlendirmesi yapın.

Query Parametreleri ve URL Temizliği

Filtreleme, sıralama ve izleme parametreleri URL'leri karmaşıklaştırır. Bu parametrelerin crawl edilmesini kontrol etmeniz gerekir:

  • Google Search Console'da URL parametrelerini tanımlayın.
  • Canonical tag ile parametre içermeyen versiyonu tercih edin.
  • Robots.txt ile gereksiz parametre kombinasyonlarını engelleyin.
  • Mümkünse client-side filtreleme kullanarak URL'yi değiştirmeyin.
Bilgi: UTM parametreleri (utm_source, utm_medium vb.) SEO açısından zararsızdır çünkü Google bunları otomatik olarak tanır ve göz ardı eder. Ancak yine de canonical tag ile temiz URL'yi belirtmek en iyi pratiktir.

URL Yapısı Kontrol Listesi

  • Tüm URL'ler küçük harf mi?
  • Kelime ayırıcı olarak hyphen kullanılıyor mu?
  • URL'ler 75 karakterden kısa mı?
  • Gereksiz stop word'ler kaldırılmış mı?
  • Hedef anahtar kelime slug'da yer alıyor mu?
  • Trailing slash tutarlılığı sağlanmış mı?
  • URL derinliği 3 seviyeyi aşmıyor mu?
  • Eski URL'ler 301 ile yönlendirilmiş mi?

Sonuç

SEO dostu URL yapısı, teknik SEO'nun temel taşlarından biridir. Kısa, açıklayıcı ve tutarlı URL'ler hem kullanıcı deneyimini iyileştirir hem de arama motorlarının içeriğinizi doğru şekilde kavramasını sağlar. Türkçe karakterlerin doğru dönüştürülmesi, slug optimizasyonu ve URL migration planlaması gibi detaylara dikkat ederek güçlü bir URL altyapısı oluşturabilirsiniz.

Kaynaklar

İlgili Yazılar