irfo
Moderatör
- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Google, içeriğin ne hakkında olduğunu URL yapısından da anlamak ister. Ayrıca kullanıcılar, tıkladıkları linkin nereye gideceğini açıkça görmek isterler. Bu rehberde, PHP kullanarak metinleri URL'ye uygun hale getirmeyi ve Apache sunucusu üzerinden bu linkleri yönlendirmeyi öğreneceğiz.
Türkçe karakterler (ğ, ü, ş, ı, ö, ç) ve boşluklar URL içinde doğrudan kullanılamaz. Bu karakterleri temizleyen bir "Slug" fonksiyonuna ihtiyacımız var.
Sitenizdeki linkler artık konu-detay.php?id=12 değil, konu/php-dersleri şeklinde olacaktır. Sunucunun bu sahte URL'yi doğru PHP dosyasına yönlendirmesi için kök dizindeki .htaccess dosyasını düzenlemeliyiz.
Veritabanınızda konuları çekerken hem id hem de slug (sef link) alanlarını saklamanız önerilir. Linke tıklandığında konu-detay.php içinde şu şekilde kontrol yaparsınız:
SEF Link yapısı, modern bir web sitesinin profesyonel görünmesini sağlayan en önemli unsurlardan biridir. Hem PHP tarafındaki temizleme fonksiyonu hem de sunucu tarafındaki .htaccess kuralları ile sitenizi tamamen SEO uyumlu hale getirebilirsiniz. Unutmayın: Güzel URL'ler sadece arama motorları için değil, kullanıcıların güvenini kazanmak içindir.
1. PHP ile Metni URL Formatına Çevirme
Türkçe karakterler (ğ, ü, ş, ı, ö, ç) ve boşluklar URL içinde doğrudan kullanılamaz. Bu karakterleri temizleyen bir "Slug" fonksiyonuna ihtiyacımız var.
PHP:
<?php
function sef_link($metin) {
$bul = array('ç', 'ğ', 'ı', 'i', 'ö', 'ş', 'ü', 'Ç', 'Ğ', 'İ', 'Ö', 'Ş', 'Ü');
$degistir = array('c', 'g', 'i', 'i', 'o', 's', 'u', 'c', 'g', 'i', 'o', 's', 'u');
$metin = str_replace($bul, $degistir, $metin);
$metin = preg_replace("@[^a-z0-9\-_ ]+@i", "", $metin); // Özel karakterleri sil
$metin = trim($metin);
$metin = str_replace(" ", "-", $metin); // Boşlukları tire yap
$metin = preg_replace("@-+@", "-", $metin); // Çift tireleri teke indir
return strtolower($metin);
}
$baslik = "PHP ile SEO Uyumlu Link Yapımı 2026!";
echo sef_link($baslik);
// Çıktı: php-ile-seo-uyumlu-link-yapimi-2026
?>
2. .htaccess ile URL Yönlendirme
Sitenizdeki linkler artık konu-detay.php?id=12 değil, konu/php-dersleri şeklinde olacaktır. Sunucunun bu sahte URL'yi doğru PHP dosyasına yönlendirmesi için kök dizindeki .htaccess dosyasını düzenlemeliyiz.
Kod:
RewriteEngine On
Klasör veya dosya gerçekten varsa yönlendirme yapma
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Örnek: site.com/konu/php-dersleri -> site.com/konu-detay.php?slug=php-dersleri
RewriteRule ^konu/([0-9a-zA-Z-_]+)$ konu-detay.php?slug=$1 [L,QSA]
SEF Link Kullanmanın Avantajları
| Özellik | Standart URL (?id=12) | SEF URL (/makale-basligi) |
|---|---|---|
| Google Sıralaması | Zayıf | Güçlü |
| Akılda Kalıcılık | Zor | Kolay |
| Tıklanma Oranı (CTR) | Düşük | Yüksek |
3. Veritabanı ve Link Eşleştirme
Veritabanınızda konuları çekerken hem id hem de slug (sef link) alanlarını saklamanız önerilir. Linke tıklandığında konu-detay.php içinde şu şekilde kontrol yaparsınız:
PHP:
<?php
$slug = $_GET['slug'];
$sorgu = $db->prepare("SELECT * FROM konular WHERE sef_url = ?");
$sorgu->execute([$slug]);
$konu = $sorgu->fetch();
if (!$konu) {
echo "Konu bulunamadı!";
} else {
echo "<h1>" . $konu['baslik'] . "</h1>";
}
?>
Sonuç
SEF Link yapısı, modern bir web sitesinin profesyonel görünmesini sağlayan en önemli unsurlardan biridir. Hem PHP tarafındaki temizleme fonksiyonu hem de sunucu tarafındaki .htaccess kuralları ile sitenizi tamamen SEO uyumlu hale getirebilirsiniz. Unutmayın: Güzel URL'ler sadece arama motorları için değil, kullanıcıların güvenini kazanmak içindir.