PHP ile Arama motoru (SEO) dostu linkler hazirlamak

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(' ', '&quot;', '&amp;', '&', '\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 :)

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.