Bugün Geliştirmekte olduğum hikaye okuma scriptim için Seo uyumlu link Yani Permalink Yapmak İstedim Ve araştırmaya başladım nasıl yapabilirim diye Biraz Gezindikten sonra Aradığım şeyleri Buldum Ve sizlerede nasıl yaptığımı anlatmak istedim
PermaLink Nedir ?
Permalink KAlıcı Bağlantı Anlamına Gemlektedir. Yani Mesela Sitemizdeki iletişim sayfası bir Permalinktir.
Seo Uyumlu Permalink Yapımı
Evet Arkadaşlar aramalarım sonucunda 1 adet fonksiyon ve .htaccess dosyamızda eklemeler Yaparak Linklerimizi Seo uyumlu Yapacağız.
Şimdi Arkadaşlar Linkimin İlk Hali siteadi/hikaye/oku/$hikaye_id Şeklindeydi. Şimdi Biz bunu siteadi/hikaye/oku/$hikaye_id-$gikaye_adi ŞEklinde yapacağız Yani örnek olarak vermek gerekirse
hikaye_id miz 1 ve adıda Sahiplenilmiş Aşk olsun normalde sitemdeki link siteadi/hikaye/oku/1 şeklindeydi Ben bu linki siteadi/hikaye/oku/1-sahiplenilmis-ask.html ŞEklinde yapacağız
Yapacağımız işlemler
1- Öncelikle hikaye adındaki boşlujlar yerine - işareti ve türkçe karakterleri Değiştireceğiz
2- ardından linklerimizi htacces ile düzelteceğiz
PHP Fonksiyonumuz
<?php
function cevir($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;
}
?>
Evet Bu fonksiyonumuz Bizim Hikaye başlığımızı Seo uyumlu hale getiriyo mesela sahiplenilmiş aşk hikayesi adında hikayemiz olsun fonksiyona bunu gönderdiğimizde sahiplenilmis-ask-hikayesi şeklinde geri dönüyo İsterseniz Aşağıdaki örnekle Söylediklerimizi Destekleyelim :)
<?php
$hikaye_adi = "aşk çıkmazı";
echo cevir($hikaye_adi); // ekranda ask-cikmazi Yazacaktır
function cevir($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;
}
?>
Şimdi Gelelim .htaccess Dosyamıza
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^hikaye/oku/(.*)-(.*).html$ hikaye/oku.php?hikaye_id=$1&$hikaye_baslik=$2 [L,NC]
Şimdi Php Sayfamızda Linkimizi Uygulayalım
<?php
$hikaye_id = 1;
$hikaye_adi = "Büyük Buluşma";
// bu verileri mysqldan çekeceksiniz
echo '<a href="hikaye/oku/'.$hikaye_id.'-'.cevir($hikaye_adi).'">'.$hikaye_adi.'</a>';
function cevir($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;
}
?>
Evet Yukardaki Sayfamızda linke Tıkladığımızda siteadi/hikaye/oku.php?hikaye_id=$hikaye_id Sayfası açılacaktır ama bizim Görünen Linkimiz siteadi.com/hikaye/oku/$hikaye_id-cevir($hikaye_adi) Şeklinde Olacaktır Detaylı Anlattığım için Biraz karışık görünebilir ama çok Basit Bir işlem olduğunu unutmayalım Kolay Gelsin ... :)
Hiç yorum yok:
Yorum Gönder