PHP’de Linkleri Seolu Yapmak
Tarih : 13-03-2009 | imza : Burak | Kategori : Yazılarım
3
Genelde çoğu scriptlerde seo linki veritabanında ayrı bir alanda tutuluyor. Linkler bu alandan çağırılıp oluşturuluyor. Oysa başlıkları kullanıp, basit bir filtreden geçirip seolu olmayan scriptlerinizi kolayca sef link haline dönüştürebilirsiniz..
//----Seo Link yapıyoruz
function seo($sef){
$sef = strtolower($sef);
$degis1 = array('İ','Ö','Ü','Ğ','Ç','Ş','ö','ü','ğ','ç','ş','ö','_',' ','--','---','ı');
$degis2 = array('i','o','u','g','c','s','o','u','g','c','s','o','-','-','-','-','i');
$sef =str_replace($degis1,$degis2,$sef);
$sef =preg_replace("@[^A-Za-z0-9-_]+@i","",$sef);
return $sef;
}
Bu fonksiyonumuzu sayfamıza yada kütüphanemize yerleştiriyoruz. Daha sonra verileri veritabanından çekerken şu şekilde yapıyoruz.
$deli = mysql_query("SELECT * FROM haberler WHERE katid='$katid' and onay=1 ORDER BY id DESC LIMIT $baslangic,$limit");
while($aptal = mysql_fetch_array($deli)){
$id =$aptal['id'];
$baslik =stripslashes($aptal['baslik']);
$haber =stripslashes(strip_tags($aptal['haber']));
$habertemizle = substr($haber,0,482);
$resim =$aptal['resim'];
$hit =$aptal['hit'];
$sef = seo($baslik);
echo '<div class="habercek">
<a href="'.$id.'-'.$sef.'"><img src="haberimg/kresim/'.$resim.'" border="0" class="haberresim"></a><a href="'.$id.'-'.$sef.'">'.$baslik.'</a>'.$habertemizle.'<br>
<span class="okundu"><strong>'.$hit.'</strong> kez okundu</span><br><br></div>';
Başlığı çektikten sonra en sonda $sef değişkenine başlığın seo fonksiyonundan geçirilmişini atıyoruz. Ve link kısmına ise <a href=”‘.$id.’-’.$sef.’”>’.$baslik.’</a> diyoruz. Böylece linkimiz şu şekil oluyor. www.deneme.com/32-bu-bir-deneme-haberdir
En sonda ise .htaccess dosyamıza bir ekleme yapıyoruz ve olayı bitiriyoruz..
Options +FollowSymLinks RewriteEngine on RewriteRule ^([a-zA-Z0-9]*)-(.*)$ haberoku.php?id=$1&sayfa=$2 [L,NC]
Buradaki haberoku.php yi kendi php dosyanızda değiştireceksiniz.


