Slug, example.com/blog/my-first-post adresindeki my-first-post gibi bir web adresinin okunabilir kuyruğudur. Bu bölüm, bir kişinin tıklayıp tıklamamaya karar vermeden önce okuyabildiği ve bir arama motorunun sayfanın içeriğine dair kısa bir açıklama olarak okuduğu kısımdır, bu yüzden veritabanı kimliğinden veya tarihinden daha fazla düşünülmeyi hak eder. Bu ücretsiz oluşturucu, herhangi bir metni bir slug'a dönüştürür: Dönüştürülecek metin kutusuna bir başlık yapıştırın, Oluştur düğmesine basın ve sonuç, yanında bir kopyalama düğmesiyle belirir. Varsayılanlar çoğu sitenin istediği ayarlardır — küçük harf, kelimeler arası tireler, ortak dolgu kelimelerinin çıkarılması, Latin harfi olmayan karakterlerin çevriyazısı — böylece kullanılabilir bir slug sadece bir tıklama uzağınızdadır ve bu kararların her biri değiştirebileceğiniz bir anahtardır.
Her şey kendi cihazınızda gerçekleşir. Sayfa küçük bir JavaScript motoru yükler ve onu yerel olarak çalıştırır: başlıklarınız asla sunucuya yüklenmez, günlüğe kaydedilmez ve bağlantı kesilse bile araç çalışmaya devam eder. Bir ayarı değiştirdiğiniz anda sonucun güncellenmesinin nedeni de budur. Çıktıyı tahmin edilebilir kıldığı için iş sırasını belirtmekte fayda var: yapıştırılan bir bağlantı önce son yol parçasına indirgenir, ardından metin küçük harfe çevrilir, sonra gereksiz kelimeler çıkarılır, ardından Latin olmayan karakterler çevrilir, sonra eğer istediyseniz sayılar ve özel karakterler kaldırılır, kalan her neyse ayırıcınızla birleştirilir, ardından sonuç maksimum uzunluğa kırpılır ve son olarak tekrarlananlara sayısal bir son ek verilir. Dönüştürülecek metin tek seferde 500.000 karaktere kadar veri kabul eder, bu da birkaç bin makale başlığına denk gelir.
Bir satır girdi, bir slug çıktı. Bütün bir başlık listesini yapıştırdığınızda her satır numaralandırılmış kendi slug'ına dönüşür ve geldiği orijinal başlık gri renkli olarak hemen üstünde gösterilir, böylece elli satırlık bir grupta bile hangi slug'ın hangi başlığa ait olduğunu anlamaya devam edebilirsiniz. Halihazırda bir dosyada bulunan bir listenin panodan geçmesi gerekmez: girdi kutusunun yanındaki Dosyadan yükle düğmesi sıradan bir metin dosyasını — .txt, .csv, .md, .json ve benzerleri — açar ve içeriğini doğrudan alana bırakır. Tarayıcınız o dosyayı tıpkı klavyeden yazdıklarınızı okuduğu gibi okur ve bu dosya hiçbir yere yüklenmez. Girdiyi şuna göre böl, listenin nasıl parçalara ayrılacağına karar verir. Otomatik varsayılan ayardır: yeni satır her zaman öğeleri ayırırken, virgül yalnızca girdi, parçalarının her biri başlı başına bir değer gibi görünen tek bir satır olduğunda öğeleri ayırır — yani "fiyat 3,5 EUR" ve "Bölüm 5: sonuçlar, değerlendirmeler" parçalara ayrılmak yerine bütün kalır. Verinizin şeklini zaten biliyorsanız Yeni satır, Virgül ve Boşluk bu seçimi yapmaya zorlar. Çıktı biçimi, kopyaladığınızda toplu sonucun nasıl döneceğine karar verir — her satırda bir, boşlukla ayrılmış veya virgülle ayrılmış — ve hem Tümünü kopyala hem de Dosyaya kaydet seçenekleri bunu izler. Geçmiş, son 10 işleminizi kendi tarayıcınızda tutar, bu sayede bir saat önce dönüştürdüğünüz bir liste hala orada durur.
Latin harfi olmayan metin, çoğu slug oluşturucunun kabaca doğru, çok azının ise tam anlamıyla doğru yaptığı kısımdır. Bir URL en güvenli haliyle düz ASCII'dedir, bu nedenle Kiril, Yunanca, Arapça, Çince ve Avrupa aksanlı harflerinin dönüştürülmesi gerekir ve buradaki asıl soru bunun kimin kuralına göre yapılacağıdır. Bu sayfa bu soruyu iki katmanda cevaplıyor. Genel katman her alfabeyi kapsar: yazabileceğiniz hemen her karakter için mantıklı bir ASCII yanıtı sağlayan bir çevriyazı kütüphanesidir. Ancak bu sayfa Türkçe olduğu için Transliterasyon varyantı seçeneği yalnızca Türkçeye ait varyantları listeler. Türkçeye özgü karakterler olan ç, ğ, ı, ö, ş, ü otomatik olarak c, g, i, o, s, u harflerine çevrilir. İngilizce okuyuculara daha tanıdık gelmesi için iki harfli ch, gh, sh kombinasyonlarını kullanan fonetik bir varyant da mevcuttur. Her iki varyantın harf tablosu, Çevriyazı Kuralları altındaki düzenlenebilir ızgaraya yüklenir; burada her harf değiştirebileceğiniz bir metin alanıdır ve Kuralları varsayılana döndür seçeneği onu geri yükler. Sadece bir örnek vermek gerekirse, diller arası farkların önemini anlamak için, aracın Ukraynaca sürümü 55 no'lu resmi karara uyar.
Gereksiz kelimeleri kaldır varsayılan olarak açıktır. Slug'ı hiçbir anlam katmadan uzatan ve, veya, için, ile gibi küçük bağlaç kelimelerini düşürür. Gereksiz kelimeler altındaki liste tamamen düzenlenebilir ve halihazırda doldurulmuş olarak gelir: İngilizce listenin yanı sıra bulunduğunuz sayfanın diline ait bir liste içerir, bu nedenle Türkçe sayfa ve, ile, veya, için kelimelerini tanır. Kendi kelimelerinizi ekleyebilir, tutmak istediklerinizi silebilir veya bu özelliği tamamen kapatabilirsiniz, bu durumda alan hala bir etkisi varmış gibi davranmak yerine griye döner. Bu konuda dürüst olmak gerekirse iki küçük not: Gereksiz kelimelerin çıkarılması, size bir sıralama avantajı değil ufak bir düzen kazandırır — daha iyi bir konum değil, daha kısa ve daha temiz bir adres elde edersiniz. Ve bir başlıktaki her kelimenin bu listede yer alması durumunda en dürüst sonuç hiçbir şey vermemektir; bu yüzden araç size boş bir kutu vermek yerine bunu açıkça söyler.
Anahtarların geri kalanı şekle karar verir. Slug içindeki ayırıcı, kelimelerin arasında neyin duracağını seçer ve varsayılan olarak tire kullanılması bir zevk meselesi değildir: Google bir tireyi kelime ayırıcı, bir alt çizgiyi ise birleştirici olarak okur, yani my_first_post tarayıcıya tek bir uzun kelime olarak ulaşırken my-first-post üç kelime olarak ulaşır. Alt çizgi (_), bu formatta ısrar eden sistemler içindir. Küçük harf açıktır çünkü çoğu sunucu adresleri büyük/küçük harfe duyarlı olarak ele alır ve karışık harf kullanımı bir sayfa için iki ayrı URL oluşturmanın en kolay yoludur. Özel karakterleri kaldır, harf, rakam, boşluk, tire veya alt çizgi olmayan her şeyi siler ki bu, noktalama işaretlerini, tırnak işaretlerini ve emojileri adresin dışında tutan şeydir — emojiler özellikle bir roket resminin kelime olarak rocket haline gelmesini engellemek için çevriyazıdan önce kaldırılır. Sayıları kaldır kapalıdır çünkü başlıktaki bir sayı genellikle o başlığın ayrılmaz bir parçasıdır. Maks. uzunluk 10 ile 200 arasında çalışır ve varsayılanı 80'dir; bir slug bundan daha uzun olduğunda motor bir kelimeyi ortasından kesmek yerine sığan son tam kelimede kesme işlemini yapar. Her sonucun yanındaki sayı karakter cinsinden uzunluğunu gösterir ve 60'ı geçtiğinde kırmızıya döner — bu katı bir sınır olmasa da, bir slug'ın arama sonuçlarında kesilmeye başladığı ve bir mesaja yapıştırmanın garipleştiği noktadır.
Toplu dönüştürme işlemini tekrar tek tıklamalık bir işe dönüştürdükleri için iki anahtar daha mevcuttur. Benzersiz slug’lar, iki farklı başlığın aynı slug'a indirgendiği durumu yakalar — "En iyi 10 ipucu" ve "En iyi-10 ipucu"nun ikisi de en-iyi-10-ipucu olur — ve ikinciye bir -2, üçüncüye bir -3 verir, eklenen bu ek sizi maksimum uzunluğun ötesine itecekse önce taban kelimeyi kısaltır. Aynı adresteki iki sayfa çakışması, içerik yönetim sisteminizde (CMS) yakalamaktansa bu listede yakalamanın çok daha ucuz olduğu bir problemdir. Yapıştırılan bağlantıdan slug al zıt yönde çalışır: tam bir bağlantı yapıştırdığınızda araç yolun sadece son kısmını alır, sorgu dizesini ve varsa .html veya .php sonlarını düşürür ve yüzde kodlamasını çözer; böylece sonu %C4%B0zmir ile biten bir Vikipedi bağlantısı bir dizi onaltılık kod yerine izmir olarak geri döner. Bu sadece tüm satır bir bağlantı olduğunda tetiklenir, bu nedenle bir cümle içinde alıntılanan bir adres olduğu gibi bırakılır.
Neden bu slug oluşturucuyu seçmelisiniz?
- Sadece tarayıcıda: başlıklarınız asla yüklenmez ve sayfa çevrimdışı çalışmaya devam eder
- Panodan veya bir metin dosyasından toplu dönüştürme, her slug'ın üzerinde orijinal başlıkla
- Herkes için tek bir genel tablo yerine sadece Türkçeye özel doğru bir çevriyazı ayarı
- Seçilebilir Türkçe fonetik çevriyazı, İngilizce okunuşa uygun iki harfli sonuçlar
- Tek tıkla sıfırlama imkanıyla, her kuralın harf harf düzenlenebildiği açık bir tablo
- Bir grupta hiçbir iki slug'ın çakışmaması için otomatik -2 ve -3 son ekleri
- Bir bağlantı yapıştırıp slug'ını çıkarma, çözülmüş yüzde kodlamasıyla birlikte
- Diliniz için zaten doldurulmuş halde gelen, düzenlenebilir bir gereksiz kelimeler listesi
- Her sonucun yanında bir karakter sayısıyla birlikte son tam kelimede güvenli kırpma
- Ücretsiz ve sınırsız: üyelik yok, kota yok, sunucularımızda saklanan hiçbir şey yok
Slug'lara, bir sayfanın okunabilir bir adres taşıması gereken her yerde ihtiyaç duyulur. Bir blog veya haber sitesi her manşeti bir slug'a dönüştürür ki bu aracın tasarlanma amacı tam olarak budur: haftanın manşetlerini yapıştırın, haftanın URL'lerini alın. Bir çevrimiçi mağaza, ürün ve kategori adları için, genellikle bir içe aktarmadan sonra toplu olarak ve genellikle alfabesi adrese sığmayan bir dilde aynı şeyi yapar. Dokümantasyonlar ve bilgi tabanları da çapa (anchor) bağlantılarını ve dosya adlarını aynı şekilde oluşturur. Web adreslerinin ötesinde, başka bir işletim sisteminde bozulmayacak bir dosya adı, bir günlüğe bakan kişinin okuyabileceği bir veritabanı anahtarı, bir dal adı, bir medya kitaplığındaki bir görselin adı veya statik bir site oluşturucudaki bir bölümün tanımlayıcısı için istediğiniz şey aynı temiz dizedir. İnsan tarafından okunabilen bir adın, makine tarafından okunabilen bir alana konulduktan sonra hayatta kalması gereken her yer, bir slug'ın ait olduğu yerdir.
Ona güvenmeden önce birkaç sınırını bilmekte fayda var. Bu bir oluşturucudur, bir doğrulayıcı değildir: sitenizin ne içerdiğine dair hiçbir fikri olmadığı için sitenizde bir slug'ın zaten alınıp alınmadığını kontrol etmeyecektir — garanti ettiği benzersizlik sadece önünüzdeki grupta geçerlidir. Yönlendirmeler de (redirect) sizin işinizdir; yayınlanmış bir sayfanın slug'ını değiştirmek o sayfanın eski adresini bozar ve bu, bu araçtan ziyade içerik yönetim sisteminizin (CMS) karar vereceği bir konudur. Dosyaya kaydet, CSV veya JSON yerine sadece düz metin yazar. Otomatik bölme işlevi, virgüller konusunda çoğu durumda doğru olan ancak hepsinde olmayan bir yargıda bulunur; tam da bu yüzden Girdiyi şuna göre böl onu geçersiz kılmanıza izin verir. Ve transliterasyon (çevriyazı), bir çeviriden ziyade bir anlaşmadır — München, Munich yerine muenchen olur — bu nedenle, hedef dilde halihazırda yerleşmiş bir adı olan bir sayfa için o ad, orijinalin otomatik çevriminden her zaman çok daha iyi bir slug'dır.