Tarayıcınız JavaScript destekli değildir. Sitemizden tam olarak yararlanmak için JavaScript özelliğini açınız.
  10:11:32 03.11.10
.htaccess ve Kalıcı Linkler (SEO)

.htaccess ve Kalıcı Linkler (SEO)

Doğum günümde bir yazı yayınlayayım dedim. Ve başlıyorum yazıma Smile. Artık çoğumuz kalıcı linklerin ne olduğunu biliyor ama bilmeyenler olur diye birkaç açıklama yapayım. Mesala bir haber sitesinin haber okuma linki haber_oku.php?id=1 şeklinde diyelim. Bu haber sitesinin linkini gördüğünüzde içeriği hakkında hiçbir bilgi edinemezsiniz. Linki açmanız gerekir. Ama haber/1/19072009/dumansiz-hava-sahasinda-yasamaya-hazir-misiniz.html şeklinde olsa hem tarihten hemde haberin konusundan haberdar olursunuz. Ayrıca google ve diğer arama motorlarında ön sıraya çıkma şansını yakalarsınız. Kısacası php dosyalarınızı html olarak gösterirsiniz. Şimdi gelelim bunu nasıl yapacağımıza ...

İlk önce anlatacağım bu yöntemde APACHE web sunucusu olmalıdır. IIS varsa 404 hata sayfaları yöntemini denemelisiniz. 404 ile ilgili önceden yazdığım bir makale vardı. Eski blog'umda kaldı galiba, bir ara bulurum eklerim :D.

Kod yazmaya başlamadan mantığını anlatayım.

haber_oku.php?id=1 -> Burdaki sayfamız id değişkenini bir olarak gönderiyor. Biz bunu $_GET['id'] olarak alacağız.

haber/1/19072009/dumansiz-hava-sahasinda-yasamaya-hazir-misiniz.html -> Burdadaki 19072009 ve dumansiz-hava-sahasinda-yasamaya-hazir-misiniz.html bölümleri önemsizdir. Çünkü bizim için önemli olan id numarasıdır. Eğer id numarasını alabilirsek diğer verileri rahatlıkla çekebiliriz. haber/1/ kısmındaki 1 id'yi oluşturmakta.

Şimdi bunu nasıl yapacağımıza geliyoruz.

.htaccess dosyasını hazırlayacağız.

 

Options +FollowSymLinks
RewriteEngine on

 

Bunları .htaccess dosyamıza ekliyoruz. Daha sonra :

 

RewriteRule haber/(.*)/(.*)/(.*).html haber_oku.php?id=$1

 

ekliyoruz. Burda mantık değişebilen her yere (.*) eklemek. Bunlardan önemli olanlarıda boşluktan sonraki kısımda $1, $2 şeklinde olmak. İlk başta yazdığımız (.*) 1 oluyor. daha sonraki 2,3,4,5... diye gidiyor. Ama burda sadece $1 önemli çünkü id'mizi barındıran değişken orda :). Bu linkleri hazırlarkende linkte türkçe karakter boşluk olmamasına dikkat edin. Ben bunun için

 

function seo($s) {
    $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c');
    $s = str_replace($tr,$eng,$s);
    $s = strtolower($s);
    $s = preg_replace('/&.+?;/', '', $s);
    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
    $s = preg_replace('/\s+/', '-', $s);
    $s = preg_replace('|-+|', '-', $s);
    $s = trim($s, '-');
   return $s;
}

 

fonksiyonunu kullanıyorum.

 

İiyi Çalışmalar



Yorumlar

Yorum Ekle