Slug Üreteci

Herhangi bir metni temiz ve URL dostu bir slug'a dönüştürün

Örnek dene
Ayırıcı

Giriş metni

Slug

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
Slug burada görünecek…

URL Slug Nedir?

URL slug, bir web adresinin belirli bir sayfayı insan tarafından okunabilir biçimde tanımlayan bölümüdür. https://example.com/blog/ilk-yazim adresinde slug ilk-yazi kısmıdır. Bir slug üreteci, sayfa başlığını veya açıklamasını yalnızca küçük harf, rakam ve kısa çizgi (ya da seçilen başka bir ayırıcı) içeren bir dizgeye dönüştürür. Bu işlem boşlukları kaldırır, aksan işaretlerini ve diakritik karakterleri temizler, özel karakterleri siler ve ardışık boşlukları tek bir ayırıcıya indirger.

Slug üretimi, içerik yönetim sistemlerinde, statik site üreticilerinde, blog platformlarında ve URL'leri kullanıcı girdisinden türeten her uygulamada standart bir adımdır. WordPress, Ghost, Hugo, Next.js ve Django slug üretimi mantığını bünyesinde barındırır; çünkü okunabilir URL'ler hem kullanılabilirliği hem de arama motoru optimizasyonunu iyileştirir. İyi biçimlendirilmiş bir slug, kullanıcıya bağlantıya tıklamadan önce sayfanın içeriğini anlatır.

"Slug" terimi gazetecilikten gelir; burada bir haberi üretim sürecinde tanımlamak için kullanılan kısa etiketi ifade ederdi. Web geliştirmede slug aynı işlevi görür: daha uzun bir başlık veya isimden türetilen, kompakt, benzersiz ve URL'de kullanılabilir bir tanımlayıcıdır. Slug'lar programatik olarak türetildiğinden güvenilir bir slug üreteci, her sayfa ve yerel ayar genelinde tutarlılığı sağlar.

Bu Slug Üreteci Neden Kullanılır?

URL slug'larını elle oluşturmak hata yapmaya açıktır. Bir aksan işaretini atlamak, çift kısa çizgi bırakmak veya Unicode girdisindeki bir uç durumu gözden kaçırmak bozuk ya da çirkin URL'lere yol açabilir. Bu araç söz konusu sorunları otomatik olarak çözer.

Anında Dönüştürme
Herhangi bir metni yapıştırın veya yazın; slug'un gerçek zamanlı olarak güncellendiğini görün. Form gönderimi yok, sayfa yenilemesi yok. Bir grup makale başlığı veya ürün adı için slug üretmeniz gerektiğinde kullanışlıdır.
🔒
Gizlilik Öncelikli İşleme
Tüm slug üretimi tarayıcınızda çalışır. Metniniz sayfayı hiç terk etmez; bu sayede taslak başlıkları, dahili proje adlarını veya henüz yayımlanmamış ürün adlarını güvenle dönüştürebilirsiniz.
⚙️
Yapılandırılabilir Çıktı
Kısa çizgi, alt çizgi veya nokta ayırıcıları arasında seçim yapın. Küçük harfi açıp kapatın. Bu, farklı çerçeveler ve içerik yönetim sistemlerindeki en yaygın slug kurallarını kapsar.
🌐
Unicode ve Aksan İşleme
Üreteci, aksanlı karakterlerden diakritik işaretleri kaldırmak için NFD normalleştirmesi uygular. Café, cafe'ye; naïve ise naive'e dönüşür. Translitere edilemeyen Latin dışı karakterler düzgün biçimde kaldırılır.

Slug Üreteci Kullanım Senaryoları

Frontend Geliştirici — Rota Planlama
Dinamik rota segmentlerini bağlamadan önce React Router, Next.js veya Nuxt'taki sayfa rotaları için tutarlı slug'lar oluşturun. Özel karakter içeren başlıkların temiz yollar ürettiğini doğrulayın.
Backend Mühendisi — Veritabanı Tanımlayıcıları
İnsan tarafından okunabilir tanımlayıcılara ihtiyaç duyan veritabanı kayıtları için URL'de kullanılabilir slug'lar oluşturun. Slug'lar, /api/products/kablosuz-kulaklik gibi REST API uç noktalarında sayısal kimliklerle birlikte ikincil anahtar olarak iyi çalışır.
DevOps — Yapılandırma Dosyası Adlandırma
Özel karakterlerin geçerli olmadığı yapılandırma dosyaları, Docker image etiketleri veya Kubernetes kaynak adları için hizmet adlarını ve ortam etiketlerini dosya sistemi için güvenli dizgelere dönüştürün.
QA Mühendisi — Test Verisi Üretimi
Test ortamlarında URL yönlendirmesini, yönlendirme kurallarını ve canonical etiket davranışını doğrulamak için test senaryosu başlıklarından slug varyantlarını hızla oluşturun.
Veri Mühendisi — Sütun Normalleştirme
CSV veya Excel içe aktarmalarındaki dağınık sütun başlıklarını, veritabanı şemalarında veya veri işlem hatlarında kullanılmak üzere tutarlı snake_case veya kebab-case tanımlayıcılarına normalleştirin.
Öğrenci — İçerik Yönetim Sistemi ve Blog Projeleri
WordPress, Jekyll veya özel bir içerik yönetim sistemiyle blog oluştururken slug üretiminin nasıl çalıştığını öğrenin. Elle oluşturduğunuz slug'ları bir referans uygulamayla karşılaştırmak için bu aracı kullanın.

Slug Üretim Kuralları ve Karakter İşleme

Slug üretimi, öngörülebilir bir dönüşüm dizisini izler. Her adımı anlamak, beklenmedik çıktıda hata ayıklamanıza veya kendi slugify işlevinizi oluşturmanıza yardımcı olur.

  1. 1. Unicode Normalleştirme (NFD)
    Birleşik karakterleri temel karakter ve birleştirici işarete ayrıştırın. Örneğin é (U+00E9), e + birleştirici akut aksan (U+0301) olur. Bu, bir sonraki adımda diakritik işaretlerin kaldırılabilmesini sağlar.
  2. 2. Diakritik İşaretleri Kaldır
    Unicode Birleştirici Diakritik İşaretler bloğundaki (U+0300–U+036F) tüm karakterleri kaldırın. Bu adımdan sonra café, cafe'ye; Ñ ise N'ye dönüşür.
  3. 3. Özel Karakterleri Kaldır
    Harf, rakam, boşluk veya kısa çizgi olmayan her karakteri boşlukla değiştirin. Bu adım noktalama işaretlerini, sembolleri ve ASCII karşılığı bulunmayan karakterleri eler.
  4. 4. Baştaki/Sondaki Boşlukları Kaldır ve Daralt
    Baştaki ve sondaki boşlukları kaldırın, ardından ardışık boşluk, alt çizgi veya kısa çizgi dizilerini tek bir seçilen ayırıcıya daraltın.
  5. 5. Büyük/Küçük Harf ve Ayırıcı Uygula
    İsteğe bağlı olarak küçük harfe dönüştürün ve kelimeleri seçilen ayırıcı karakterle birleştirin: kısa çizgi (-), alt çizgi (_) veya nokta (.).

Karakter Dönüşüm Başvurusu

Aşağıdaki tablo, slug üretimi sırasında yaygın karakterlerin nasıl işlendiğini göstermektedir:

GirişÇıkışUygulanan Kural
Hello Worldhello-worldLowercase + space → hyphen
Café au Laitcafe-au-laitNFD normalization strips é → e
naïve résuménaive-resumeMultiple diacritics removed
Price: $9.99!price-9-99Symbols ($, !, :) removed
too many too-manyWhitespace trimmed and collapsed
one--two___threeone-two-threeMixed separators collapsed
Привет мирprivet-mirCyrillic (if transliteration) or removed
file_name.txtfile-name-txtDots and underscores replaced
React & Vuereact-vueAmpersand removed
2026-03-302026-03-30Digits and hyphens preserved

Kod Örnekleri

Popüler diller ve çerçevelerde slug üretimi. Her örnek Unicode normalleştirmeyi, diakritik kaldırma işlemini ve ayırıcı eklemeyi kapsar.

JavaScript
function slugify(text, separator = '-') {
  return text
    .normalize('NFD')                   // decompose accented chars
    .replace(/[\u0300-\u036f]/g, '')    // strip diacritics
    .toLowerCase()
    .replace(/[^\w\s-]/g, ' ')          // drop special chars
    .trim()
    .replace(/[\s_-]+/g, separator)     // collapse whitespace → separator

  // slugify('Café au Lait')      → "cafe-au-lait"
  // slugify('Hello World', '_')  → "hello_world"
}

// Node.js alternative using the `slugify` npm package:
// npm install slugify
// const slugify = require('slugify')
// slugify('Hello World', { lower: true, strict: true }) → "hello-world"
Python
import re
import unicodedata

def slugify(text: str, separator: str = '-') -> str:
    """Convert text to a URL-safe slug."""
    text = unicodedata.normalize('NFD', text)
    text = text.encode('ascii', 'ignore').decode('ascii')  # strip non-ASCII
    text = text.lower()
    text = re.sub(r'[^\w\s-]', ' ', text)
    text = text.strip()
    text = re.sub(r'[\s_-]+', separator, text)
    return text

# slugify('Café au Lait')      → "cafe-au-lait"
# slugify('Hello World', '_')  → "hello_world"

# Alternative: python-slugify (pip install python-slugify)
# from slugify import slugify
# slugify('Café au Lait')  → "cafe-au-lait"
Go
package main

import (
	"regexp"
	"strings"
	"unicode"

	"golang.org/x/text/unicode/norm"
	"golang.org/x/text/transform"
	"golang.org/x/text/runes"
)

func slugify(text string) string {
	// NFD normalize and strip diacritics
	t := transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
	result, _, _ := transform.String(t, text)

	result = strings.ToLower(result)
	re := regexp.MustCompile(`[^\w\s-]+`)
	result = re.ReplaceAllString(result, " ")
	result = strings.TrimSpace(result)
	re = regexp.MustCompile(`[\s_-]+`)
	result = re.ReplaceAllString(result, "-")
	return result
}

// slugify("Café au Lait") → "cafe-au-lait"
// slugify("Hello World")  → "hello-world"
PHP
function slugify(string $text, string $separator = '-'): string {
    // Transliterate non-ASCII characters
    $text = transliterator_transliterate(
        'Any-Latin; Latin-ASCII; Lower()', $text
    );
    // Remove anything that is not a word char, space, or hyphen
    $text = preg_replace('/[^\w\s-]/', ' ', $text);
    $text = trim($text);
    $text = preg_replace('/[\s_-]+/', $separator, $text);
    return $text;
}

// slugify('Café au Lait')      → "cafe-au-lait"
// slugify('Hello World', '_')  → "hello_world"

Sıkça Sorulan Sorular

Slug ile URL yolu arasındaki fark nedir?
URL yolu, etki alanından sonraki tam bölümdür; örneğin /blog/2026/yazi-adim. Slug, bu yol içindeki belirli bir kaynağı tanımlayan insan tarafından okunabilir kısımdır; genellikle son segment olan yazi-adim. Slug'lar çoğunlukla başlıklardan türetilirken yolun geri kalanı sitenin yönlendirme yapısını yansıtır.
Slug üretimi Çince veya Arapça gibi Latin dışı yazıları nasıl işler?
NFD normalleştirmesi ve diakritik kaldırma kullanan standart slug üreticileri, Latin dışı yazıları translitere edemez. Çince karakter veya Arapça harfler gibi karakterlerin ASCII karşılığı yoktur; bu yüzden özel karakter temizleme adımında kaldırılırlar. Slug'larda Latin dışı içeriği korumak için limax (JavaScript), unidecode arka ucuyla python-slugify veya özel bir eşleme tablosu gibi bir transliterasyon kütüphanesi kullanmanız gerekir.
URL slug'larında kısa çizgi mi yoksa alt çizgi mi kullanmalıyım?
Google, kısa çizgileri kelime ayırıcısı olarak değerlendirirken alt çizgileri kelime birleştirici olarak ele alır. ilk-yazim slug'u üç kelime (ilk, yazim) olarak okunurken ilk_yazim tek bir token olarak okunur. SEO açısından kısa çizgiler, URL slug'ları için standart tercih olmaya devam eder. Alt çizgiler ise değişken bağlayıcısı görevi gördükleri dosya adlarında, veritabanı sütunlarında ve programlama tanımlayıcılarında yaygındır.
Bir URL slug'u ne kadar uzun olmalıdır?
Google, arama sonuçlarında kesmeden önce bir URL'nin yaklaşık 60 karakterini görüntüler. Kısa slug'lar okunması, paylaşılması ve yazılması daha kolaydır. 3 ila 6 kelimeyi hedefleyin. Anlam değişmediği sürece kalıp kelimeleri (bir, ve, veya, ile) kaldırın: nextjs-uygulama-nasil-yapilir, 2026-yilinda-sifirdan-bir-nextjs-uygulamasi-nasil-yapilir ifadesinden daha iyidir.
Slug üretimi URL kodlamasıyla aynı şey midir?
Hayır. URL kodlaması (yüzde kodlama), güvenli olmayan karakterleri bir boşluk için %20 gibi yüzde işaretli üçlülerle değiştirir. Slug üretimi ise güvenli olmayan karakterleri tamamen kaldırır veya değiştirir; hiçbir kodlama izi içermeyen temiz bir dizge üretir. Bir slug hiçbir zaman yüzde işareti, boşluk veya özel karakter içermez. URL kodlaması özgün içeriği korurken slug üretimi onu yeni bir şeye dönüştürür.
İki farklı başlık aynı slug'u üretebilir mi?
Evet. Yalnızca noktalama, aksan veya büyük/küçük harf bakımından farklılaşan başlıklar çoğunlukla aynı slug'a dönüşür. Örneğin Özgeçmiş İpuçları ve Ozgecmis Ipuclari başlıklarının her ikisi de ozgecmis-ipuclari slug'unu üretir. İçerik yönetim sistemi veya veritabanı bağlamlarında, çakışma oluştuğunda sayısal sonek ekleyen (ozgecmis-ipuclari-2) bir benzersizlik denetimi uygulamanız gerekir.
WordPress veya Django'da slug nasıl üretirim?
WordPress, sanitize_title() işlevini kullanarak yazı başlığından otomatik olarak slug oluşturur. Slug'u yazı düzenleyicisinde düzenleyebilirsiniz. Django ise ASCII girdisini iyi işleyen slugify() işlevini django.utils.text modülünde sunar. Unicode desteği için allow_unicode=True parametresini geçin. Her iki platform da slug'ları veritabanında tam başlığın yanına kaydeder.