26-10-2022 10:14
12-07-2023 16:35
12-01-2024 09:17
26-10-2022 10:24
Sitelerde kullanılan seo link yapısının önemi bilmeyen yoktur. Genelde seditio kullanan arkadaşların bu kodlara pek ihtiyacı olmaz ancak dışarıya yaptığımız projelerde seditio kullanmadığımız için çok fazla ihtiyaç duymaktayız.
Bu yazıda sizlere ilgili php fonksiyonunu ve örnek htaccess kodlarını paylaşacağım. Bu sayede seditio tarzı link yapısına sahip olacaksınız. Unutmayın SEO‘nun vazgeçilmesi Seo Link‘tir.
Linklerimizde Türkçe karakter, özel karakter, boşluk vs kullanamayacağımız için öncelikle linklerimizi bunlardan kurtaralım;
function seolink($text){ $find = array("/Ğ/","/Ü/","/Ş/","/İ/","/Ö/","/Ç/","/ğ/","/ü/","/ş/","/ı/","/ö/","/ç/"); $degis = array("G","U","S","I","O","C","g","u","s","i","o","c"); $text = preg_replace("/[^0-9a-zA-ZÄzÜŞİÖÇğüşıöç]/"," ",$text); $text = preg_replace($find,$degis,$text); $text = preg_replace("/ +/"," ",$text); $text = preg_replace("/ /","-",$text); $text = preg_replace("/\s/","",$text); $text = strtolower($text); $text = preg_replace("/^-/","",$text); $text = preg_replace("/-$/","",$text); return $text; }
Türkçe ve özel karakterlerden kurtulduğumuza göre artık htaccess kodlarımızı yazmaya başlayalım.
Options +FollowSymLinks RewriteEngine On RewriteRule ^admin/$ admin/index.php [L,QSA] RewriteRule ^iletisim$ iletisim.php [L,QSA] RewriteRule ^referanslar$ referanslar.php [L,QSA] RewriteRule ^haberler$ haberler.php [L,QSA] RewriteRule ^egitimler$ egitimler.php [L,QSA] RewriteRule ^kurumsal$ kurumsal.php [L,QSA] RewriteRule ^([a-zA-Z0-9_-]+)/$ sayfalar/sayfa-goruntule.php?id=$1 [L,QSA] RewriteRule ^kurumsal/([a-zA-Z0-9_-]+)/$ kurumsal-goruntule.php?id=$1 [L,QSA] RewriteRule ^egitim/([a-zA-Z0-9_-]+)/$ egitim-goruntule.php?id=$1 [L,QSA] RewriteRule ^haber/([a-zA-Z0-9_-]+)/$ haber-goruntule.php?id=$1 [L,QSA] RewriteRule ^kategori/([a-zA-Z0-9_-]+)/$ kategori-goruntule.php?id=$1 [L,QSA] RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ icerik-goruntule.php?id=$2 [L,QSA]
htaccess dosyasını kullanılabilir kılmak için öncelikle RewriteEngine On yapıyoruz.
Şimdi satırları tek tek incelemek gerekirse;
RewriteRule ^admin/$ admin/index.php [L,QSA]
tarayıcı adres satırına siteadresiniz.com/admin yazıldığımda normalde admin klasörünün içindeki index.php dosyası çağrılacak.
RewriteRule ^referanslar$ referanslar.php [L,QSA]
yine adres satırına siteadresiniz.com/referanslar yazıldığında sayfalar klasöründe bulunan referanslar.php dosyası çağrılmış olacak.
Peki dinamik sayfalar ? Onun da çözümü var.
RewriteRule ^([a-zA-Z0-9_-]+)/$ sayfalar/sayfa-goruntule.php?id=$1 [L,QSA]
kurduğunuz yapıya bağlı olarak dinamik olarak oluşturduğunuz her sayfayı yine sayfalar klasörü içindeki sayfa-goruntule.php üzerinden ziyaretçilerinize gösterebilirsiniz. Kullandığınız veritabanında ilgili alanları oluşturmanız ve sayfa-goruntule.php?id=$1 şeklinde parametre göndermeniz yeterli olacaktır.
İsterseniz kategorilere göre ayrı sayfalar tasarlar ve görüntülenmesini sağlayabilirsiniz. Örneğin haber kategorisi için özelleştirilmiş farklı tasarıma ya da içeriğe sahip bir sayfa kullanmak isterseniz
RewriteRule ^haber/([a-zA-Z0-9_-]+)/$ haber-goruntule.php?id=$1 [L,QSA]
ana dizinde bulunan haber-goruntule.php dosyası üzerinden gidebilirsiniz.
Kategori ve etiket yapısı da mümkün.
Dinamik yapılarda kategori ve etiket yapıları neredeyse olmazsa olmaz.
RewriteRule ^kategori/([a-zA-Z0-9_-]+)/$ kategori-goruntule.php?id=$1 [L,QSA]
satırı ile kategorilerinizi aynı seditio mantığında olduğu gibi görüntüleme şansına sahipsiniz.
En önemli kısım ise kategorilere bağlı yazılarınızı nasıl görüntüleyeceğiniz. Yani siteadresiniz.com/yazikategorisi/ne-hakkinda-yaziyorsan-artik/ şeklinde yapıları da bu yapı ile mümkün.
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ icerik-goruntule.php?id=$2 [L,QSA]
satırı ile kurduğunuz yapıda bahsettiğim link yapısını kullanabilirsiniz.
Kaynak: https://scetinkaya.com/sef-link-icin-htaccess-kodlari/
Kendi özelleştirilmiş stilini belirle
Uygulamanız için mükemmel renk modunu seçin.
Dil yönünüzü değiştirin
Tam ekran modu aç/kapat
Web sitesi için uygun bir menü sistemi seçin