İçeriğe atla
◆ UramTM
Blog'a dön
Kod 27 EyPazarüPazar 2026 4 dakikalık okuma

Türkçe karakterlerle URL slug üretmenin doğru yolu

Strtolower yerine Türkçe harf haritası kullanmak slug'ı bozar. Küçük harfe çevirme adımının harita dönüşümünden önce gelmesi gerekiyor.

Bir başlıktan URL üretirken en sık yapılan hata, doğrudan küçük harfe çevirmektir. PHP'nin yerel olmayan strtolower fonksiyonu Türkçe büyük harfleri doğru dönüştürmez.

Sorun

İ harfi düzgün işlenmediğinde ı değil i olur; I harfi ise ı olması gerekirken i olur. Sonuçta hem başlık hem slug yanlış çıkar.

Doğru sıra

1. Önce mb_strtolower ile Türkçe destekli küçültme yapılır
2. Sonra özel harf haritasıyla ç→c, ğ→g, ı→i, ö→o, ş→s, ü→u çevrilir
3. Ardından kalan geçersiz karakterler tireye indirgenir

``php
$metin = mb_strtolower(trim($metin), 'UTF-8');
$metin = strtr($metin, ['ç' => 'c', 'ğ' => 'g', 'ı' => 'i']);
$metin = preg_replace('/[^a-z0-9]+/u', '-', $metin);
``

Sıra ters çevrilirse ışık kelimesi ışk ya da isk gibi bozuk bir sonuç verir.

Benzersizlik

Aynı isimli iki içerik üretilirse sona -2, -3 gibi bir ek getirmek gerekir. Mevcut kayıtlar arasında dolaşarak çakışmayı çözmek, yayın sonrası 404 riskini ortadan kaldırır.

#php #url #seo #unicode
Devamını oku

İlgili yazılar