Başlık veya metin

Slug

URL Slug Oluşturucu nedir?

"JavaScript’te URL Nasıl Ayrıştırılır — Bir Kafe Sahibinin Rehberi (2026 Sürümü)" başlıklı bir blog yazısı yazdınız ve şimdi bunun için bir URL yolu lazım. İçinde %E2%80%94 istemiyorsunuz, boşluk istemiyorsunuz, büyük/küçük harfe duyarlı sunucularda kırılan büyük harfler istemiyorsunuz. İstediğiniz şey javascriptte-url-nasil-ayristirilir-bir-kafe-sahibinin-rehberi-2026-surumu. Bu araç tam olarak bunu yapıyor. Başlığı yapıştırın, slug’ı kopyalayın. Terimin kendisi yayıncılık dünyasından geliyor — etimoloji için Wikipedia’nın slug maddesine bakabilirsiniz.

Algoritma standart. Önce küçük harfe çevir, sonra String.prototype.normalize('NFD') ile Unicode karakterleri taban harf artı birleşen işaretlere ayır. İşaretleri at (yani é e olur, ş s olur, ı i olur). Birkaç yaygın ligatürü elle hallet — æ ae olur, ø o olur, ß ss olur, ł l olur. Alfanumerik olmayan herhangi bir karakter dizisini tek bir tireyle değiştir. Baştaki ve sondaki tireleri kırp. Bir kelime sınırında 80 karakterle sınırla, böylece kelimenin ortasında kesilmiş bir slug ile karşılaşmazsın.

Neden kebab-case? Çünkü konvansiyon tireler. Google’ın URL yapısı yönergeleri URL’lerde kelimeleri ayırmak için alt çizgi yerine tire kullanmayı öneriyor — arama motorları tireleri kelime sınırı olarak ayrıştırıyor. RFC 3986 bir URL yolundaki ayrılmamış karakterleri (harfler, rakamlar, tire, nokta, alt çizgi, tilde) tanımlar ve çoğu slug konvansiyonu bunların bir alt kümesinde kalır. Snake_case (my_post_title) ve Title-Case-Slug (My-Post-Title) göreceğiniz alternatiflerdir, ama küçük harfli kebab-case temiz URL pratiğinden çoğu CMS varsayılanına kadar her yerde varsayılan.

Slug oluşturucu nasıl kullanılır

Üç adım. Her biri bu sayfadaki bir butona karşılık geliyor.

1

Bir başlık yapıştır veya örneği yükle

Sol panele bir başlık, manşet, ürün adı veya herhangi bir metin atın. Em-tireleri, aksanları ve parantezleri içeren gerçekçi bir örnek yüklemek için Örnek’e tıklayın — naif slug kodunu kıran türden bir başlık. Örnek girdi:

JavaScript’te URL Nasıl Ayrıştırılır — Bir Kafe Sahibinin Rehberi (2026 Sürümü)

Her şey serbest — emoji, aksanlı harfler, akıllı tırnaklar, em-tireleri, çift tireler, çoklu boşluklar. Slug temiz çıkıyor.

2

Slug’ı oku

Sağ panel siz yazdıkça slug’ı gösterir. Küçük harfli, tireli, yalnızca ASCII, kelime sınırında 80 karakterle sınırlı. Girdi slug yapılabilir karakter içermiyorsa (örneğin yalnızca emoji veya yalnızca noktalama), kafa karıştırıcı boş bir sonuç yerine dostça bir not görürsünüz.

3

Kopyala veya indir

Slug’ı panonuza göndermek için Kopyala’ya, bir .txt dosyası olarak kaydetmek için İndir’e tıklayın. Yeni bir başlıkla baştan başlamak için girdi panelindeki Temizle’yi kullanın.

Bunu gerçekten ne zaman kullanırsınız

Blog yazısı URL’leri

CMS’iniz slug’ları otomatik üretiyor ama çirkinler — aksanları yanlış kaldırıyor, alt çizgi bırakıyor, akıllı tırnakları işlemiyor. Başlığı buraya yapıştırırsınız, temiz bir slug alırsınız, URL alanına geri yapıştırırsınız. WordPress, Ghost, elle yazılmış Next.js blogları, slug’ı geçersiz kılmanıza izin veren her şey için çalışır.

E-ticarette ürün veya kategori URL’leri

Marco Rivera "Crème Brûlée Set — 4’lü Paket (Sınırlı Sürüm)" adında yeni bir ürün ekliyor. URL /urunler/creme-brulee-set-4lu-paket-sinirli-surum olmalı, /urunler/Crème+Brûlée+Set+%E2%80%94+4’lü+Paket+%28Sınırlı+Sürüm%29 değil. Slug yap, tak.

İnsanların verdiği başlıklardan dosya adları

Yüklenen belgeleri diske kaydediyorsunuz ve müşteri başlık olarak "Q4 Raporu — Final (v3).docx" yazdı. Bunu dosya adı olarak istemezsiniz. Başlığı slug yapın, .docx ekleyin, dosyayı yazın. S3 anahtarları, issue başlıklarından GitHub branch adları ve proje adlarından Slack kanal adları için aynı şekilde çalışır.

İçeriği farklı bir CMS’ten taşımak

Priya Patel eski bir CMS’ten yenisine 800 makale taşıyor ve kaynak başlıkların kodlamaları tutarsız — bazıları aksanlı, bazıları değil, bazılarında 2018 yeniden tasarımından kalma emojiler var. Her başlığı slugger’dan geçirin, tekilleştirin, ve yönlendirme tablosu için yeni URL haritanız hazır.

Sık Sorulan Sorular

Aksanları yüzde-kodlamak yerine neden kaldırıyorsunuz?

Çünkü slug insan tarafından okunabilir olmak için var. Slug’daki café, gerçek URL’de %C3%A9 oluyor; bu tarayıcı çubuğunda kötü görünüyor, sohbetlerde kopyala-yapıştırı bozuyor ve teknik olmayan okuyucuların kafasını karıştırıyor. ASCII’ye indirgemek URL’yi okunabilir ve SEO dostu tutar. Bu ayrıştırmayı yapmanın standart yolu NFD normalizasyonudur.

Latin olmayan yazı sistemleri — Çince, Arapça, Hintçe?

NFD ideogramları veya taban+birleşen-işaret yapısı olmayan yazı sistemlerini ayrıştırmaz. Yani Çince bir başlık burada boş bir slug üretir ve "slug yapılabilir karakter yok" mesajını görürsünüz. Latin olmayan yazılar için iki seçeneğiniz var: önce harfçevirim yapın (ICU veya unidecode gibi bir kütüphaneyle) ya da URL’de orijinal yazıyı kullanın — modern tarayıcılar ve Google URL’lerdeki Unicode’u sorunsuz işler, sadece daha az şık görünür.

Neden 80 karakterde sınırlıyorsunuz?

Katı bir kural yok ama yol segmentinde ~80 karakteri aşan URL’ler e-postalarda, sosyal önizlemelerde ve basılı medyada kötü kırılmaya başlıyor. Google’ın yönlendirmesi bir sayı belirtmiyor ama "basit, açıklayıcı" URL’leri öneriyor — uzun olanlar bunların hiçbiri değil. Sınır, kelime ortasından kesimi önlemek için 80 karakterden önceki son tireyi bulur.

Emojileri işliyor mu?

Evet. Emojiler diğer alfanumerik olmayan karakterlerle birlikte kaldırılır. Yani "🎉 Yeni Lansman! 🚀" yeni-lansman olur. Slug’ınız boş çıkarsa (yalnızca emoji girdisi), bozuk URL yerine dostça boş-slug notunu alırsınız.

Bunun başlığı URL-kodlamayla farkı ne?

URL-kodlama her karakteri korur ama güvensiz olanları escape eder — yani boşluklar %20 olur, aksanlar yüzde-escape edilmiş UTF-8 baytlarına dönüşür. Sonuç geçerli ama okunamaz bir URL. Slug farklı bir şey: oraya ait olmayan karakterleri atan, insan dostu bir yol segmenti. Sorgu parametreleri için URL-kodlama, yol segmentleri için slug kullanın. Her ikisinin de kesin tanımları WHATWG URL Standardı’nda var.

Kebab-case mi snake_case mi kullanmalıyım?

URL’ler için kebab-case (my-post-title) — konvansiyon bu ve arama motorlarının kelime ayırıcı olarak ele aldığı şey bu. Snake_case (my_post_title) değişken adları ve veritabanı tanımlayıcıları için iyi, ama URL’lerde alt çizgiler genelde kelimenin parçası olarak ele alınır ve bu SEO’ya zarar verir. Bu araç varsayılan olarak kebab kullanıyor. Snake gerekiyorsa çıktıdaki tireleri bul-değiştir yapın.

Diğer URL ve Metin Araçları

Slug bir URL’nin bir parçasıdır. İşte yanına yakışan diğer araçlar: