
Arama motoru dostu linkler hazirlamak icin cok guzel bir fonksiyon arkadaslar. Basit iki adimda kolayca ve sunucuya fazla yuk olusturmadan php ile linkleri, yazilari kolayca arama motorlarina uygun sekilde duzenleyebilirsiniz. Biraz acmak gerekirse url rewrite yani link yapisi ile alakali seo duzenlemesidir.
ornek normal bir link
https://makaleci.com/index.php?konu=12545&baslik=merhaba ben geldim ama çok yorgunum
Bu yukaridaki ornek arama motorlari icin pek hos ve hizli sekilde index almaya yardimci degil. Bunu en iyi asagidaki sekilde duzenleyerek hem anlamli linkler olusturabilir, hemde arama motorlari ve botlar icin kolaylikla okunabilmelerini saglariz.
https://makaleci.com/12345/merhaba-ben-geldim-ama-çok-yorgunum.html
php ile hazirladiginiz sayfalarda linkleri bu sekilde yapmaniz icin harika bir fonksiyon paylasacagim sizlerle. Fonksiyona gonderilen yazi, anlamsiz karakterlerden ve bosluklardan arindirilarak seo dostu kelimeler olusturur ve sizde bunu amaciniza gore kullanirsiniz :)
Fonksiyonumuz
function seo($url) { $url = trim($url); $find = array('<b>', '</b>'); $url = str_replace ($find, '', $url); $url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url); $find = array(' ', '"', '&', '&', '\r\n', '\n', '/', '\\', '+', '<', '>'); $url = str_replace ($find, '-', $url); $find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê'); $url = str_replace ($find, 'e', $url); $find = array('í', 'ı', 'ì', 'î', 'ï', 'I', 'İ', 'Í', 'Ì', 'Î', 'Ï'); $url = str_replace ($find, 'i', $url); $find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô'); $url = str_replace ($find, 'o', $url); $find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â'); $url = str_replace ($find, 'a', $url); $find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û'); $url = str_replace ($find, 'u', $url); $find = array('ç', 'Ç'); $url = str_replace ($find, 'c', $url); $find = array('ş', 'Ş'); $url = str_replace ($find, 's', $url); $find = array('ğ', 'Ğ'); $url = str_replace ($find, 'g', $url); $find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'); $repl = array('', '-', ''); $url = preg_replace ($find, $repl, $url); $url = str_replace ('--', '-', $url); $url = strtolower($url); return $url; }
Kullanimi isi asagidaki sekildedir
$url = 'Merhaba Dünya'; $url = seo($url ); echo $url; // merhaba-dunya
kod icerisinde de belirttim, fonksiyona gonderilen cumlenin ciktisi bu sekilde olacaktir: merhaba-dunya
Ancak cogu sayfa UTF-8 karakter seti ile duzenlendigi icin siz yukaridaki kodlara utf8 karakterlerinide eklemeyi unutmayin, eger calismazsa ve turkce karakterleri gostermezse buyuk ihtimal utf8 karakterlerini fonksiyonda belirtmedigimiz icin bulup cevirmemesidir.
UTF-8 Türkçe karakter seti tablosu
Ü <=> Ü Ş <=> ÅŸ Ğ <=> ÄŸ Ç <=> Ç İ <=> İ Ö <=> Ö ü <=> ü ş <=> ÅŸ ğ <=> ÄŸ ç <=> ç ı <=> ı ö <=> ö
Yukarida size utf8 Turkce karakterlerinin tablosunu veriyorum, eklemek istediginiz karakterleri find kisimlarina eklemeniz yeterli olacaktir. Ben size ornek olarak İ karakterini fonksiyonda utf8 karakteri ile beraber eklemeyi gosterecegim. Gerisi size kalsin:
$find = array('í', 'ý', 'ì', 'î', 'ï', 'I', 'Ý', 'Í', 'Ì', 'Î', 'Ï', 'İ', 'ı');
Yukaridaki kodda en sondaki iki karakter buyuk İ ve kucuk ı ‘dir. Fonksiyona gonderdigimiz yazida utf8 karakterleri varsa onlarida duzenleyecektir. Siz diger karakterleri kendiniz ekleyebilirsiniz, buradan ancak bu kadar oluyor, zamanim olursa bitirip eklerim ins :)
Siz bunun sonuna .html yada .htm ekleyerek yada direk o sekilde birakarak seo linkler olusturabilirsiniz. Benim tavsiyem .html olacaktir :) yani: merhaba-dunya.html
Basit bir fonksiyon isimizi cok fazla kolaylastiracaktir, her php ogrencisinin yada ogrenicisinin elinin altinda bulunmasi gereken bir fonksiyon :)