• 30-04-2010, 01:43:58
    #1
    Üyeliği durduruldu
    Linkleri permalink yapmak için yazdığım
    function seoyap($cevir)
    {
    	$cevir = preg_replace ("'<[\/\!]*?[^<>]*?>'si", "", $cevir);
        $turkce=array('ı','ö','ü','ğ','ş','ç','İ','Ö','Ü','Ğ','Ş','Ç','.','  ',' ');
        $yeni=array('i','o','u','g','s','c','i','O','U','G','S','C','-',' ','-');
        $cevir=str_replace($turkce,$yeni,$cevir);
    	$cevir=str_replace('--','-',$cevir);
    	$cevir=strtolower($cevir);
    	$cevir=ereg_replace("[^A-Za-z0-9-]", "", $cevir);
    	if(substr($cevir,strlen($cevir)-2,strlen($cevir))=='--'){
    	$cevir=substr($cevir,0,strlen-2);
    	}
    	if(substr($cevir,strlen($cevir)-1,strlen($cevir))=='-'){
    	$cevir=substr($cevir,0,strlen-1);
    	}
    	if(substr($cevir,0,2)=='--'){
    	$cevir=substr($cevir,2,strlen($cevir));
    	}
    	if(substr($cevir,0,1)=='-'){
    	$cevir=substr($cevir,1,strlen($cevir));
    	}
    	 $a=array('--');
        $b=array('-');
        $cevir=str_replace($a,$b,$cevir);
        
        return $cevir;
    }
    Kullanımı.
    $metin="R10 platformuna ÇOK TEŞEKKÜR ediyoruz. Bize BÖYLE ORTAM SUNDUĞU İÇİN.";

    yukarıdaki metin değişkeni konu başlığımız gibi düşünülcekse bunuda permalink(link seo) yapılmak istenirse yukarıdaki seoyap functionından değeri geçirerek kolayca permalinke ulaşabilirsiniz.

    $metinseo=seoyap($metin);

    Çıktısı şu şekilde olacaktır.
    r10-platformuna-cok-tesekkur-ediyoruz-bize-boyle-ortam-sundugu-icin

    echo "Konu Başlığı : $metin";
    echo "<br />";
    echo "Konunun Adrese Çevirilmiş hali $metinseo";

    Bunun bir çok classı internette mevcut. sadece benim kendi yazıp kullandığım classtır. Yazılımı çok basittir buraya yazma amacım site içerisinde arandığında r10 üyesinin yardımı kapabilmesidir.
  • 30-04-2010, 02:05:49
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Biz buna halk arasında fonksiyon diyoruz.
  • 30-04-2010, 02:18:03
    #3
    Üyeliği durduruldu
    SeoKola adlı üyeden alıntı: mesajı görüntüle
    Biz buna halk arasında fonksiyon diyoruz.
    bu saatte biraz öyle kaçtı demek isterdim ama yazılımı notpad de yaptığım için yazarken hep içimden function diyorum ve alışkanlık haline geldi artık. Bir kurstan öğrenmiş olsaydım fonksiyon derdim herhalde teşekkür ederim düzelttiğin için

    Serkan adlı üyeden alıntı: mesajı görüntüle
    yorum yok
    ellerine sağlık hocam yapmışsın birşeyler arşivime attım
    teşekkürler hocam
  • 30-04-2010, 03:20:57
    #4
    Üyeliği durduruldu
    buda benim kullandığım

    $tr_chars = array ("ç","Ç","ğ","Ğ","ı","İ","ö","Ö","ş","Ş","ü","Ü");
    $en_chars = array ("c","C","g","G","i","I","o","O","s","S","u","U");
    $titlelink = strtolower(str_replace(" ","-",trim(preg_replace("'\s+'"," ",preg_replace("#[^a-zA-Z0-9 ]#"," ",str_replace($tr_chars,$en_chars,html_entity_decode($title)))))));
  • 30-04-2010, 03:25:15
    #5
    Üyeliği durduruldu
    $turkce=array('ı','ö','ü','ğ','ş','ç','İ','Ö','Ü','Ğ','Ş','Ç','.','  ',' '); 
        $yeni=array('i','o','u','g','s','c','i','O','U','G','S','C','-',' ','-');
    Bunu kullanmanın yararı ne? Yanlış anlaşılmasın, ama googleda görüyorum Türkçe karakter kullanılan urllerde indexleniyor ve aramalarda çıkıyor. En basitinden wikipedia. Bunu yapmanın başka bir avantajı var mı?
  • 30-04-2010, 03:29:47
    #6
    Üyeliği durduruldu
    sonuç önemliyse türkçe karakter kullanın.
    görüntü önemliyse temizleyin.

    tvde-ilac-reklamlarının-önu-acılıyor.html
    tvde-ilac-reklamlarinin-onu-aciliyor.html
  • 30-04-2010, 03:35:44
    #7
    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;
    }
    bende kullandımı paylaşayım bari
  • 30-04-2010, 03:36:39
    #8
    Üyeliği durduruldu
    var tabikide.

    Link Adresi : http://crh.wikipedia.org/wiki/Şırnak_(il)

    Okuma Hali : http://crh.wikipedia.org/wiki/%C5%9E%C4%B1rnak_(il)

    google değerlendirme yaparken türkçe karakterleri görmez. onların ascii hallerini görür. wikipedia büyüklüğünden ötürü o karakterlere sahip olsada konu içerisinde Şırnak geçtiğinden yukarıda cıkıyor. seo tekniğinden ötürü değil yani. wikinin yaptıgı hatamıdır. hayır değildir adres doğrudur giriş yapar google da indexler ama wikinin üstte cıkmama gibi olasalıgı yok şu durumda o adresi istediği şekilde yapabilir. google cache ini alırken onu yalnışta doğruda alsa konu içerisindeki yazıları bile üstte cıkartır. umarım anlatabilmişimdir. günümüzde adres cubugunda türkçe kelimeler + puan getirmez. çünkü google görmez.




    Ayrıca benim fonksiyonda " Ahmet Nasılsın" replace edildiğinde
    -ahmet-nasilsin olmaz.
    ahmet-nasilsin olur.
    Yada "Ahmet Nasılsın " replace edildiğinde
    ahmet-----nasilsin- olmaz.
    ahmet-nasilsin olur.

    her türlü boşlukların kontrolu var ilk kelimeden önceki boşluklara - koymaz. en sondaki kelimeden sonraki boşluklarada - koymaz ve kelimeler arasında birden fazla boşluk veya karakter varsa onlar içinde 1 den fazla - koymaz. bu aslında atlanan çok önemli bir olaydır. bunu günümüzdeki en büyük siteler bile yapıyor.
  • 30-04-2010, 11:35:38
    #9
    Üyeliği durduruldu
    function seo($str){
            $str=str_replace("Ş","S",$str);
            $str=str_replace("ş","s",$str);
            $str=str_replace("Ş","s",$str);
            $str=str_replace("Ç","C",$str);
            $str=str_replace("ç","c",$str);
            $str=str_replace("Ö","O",$str);
            $str=str_replace("ö","o",$str);
            $str=str_replace("Ğ","G",$str);
            $str=str_replace("ğ","g",$str);
            $str=str_replace("Ü","U",$str);
            $str=str_replace("ü","u",$str);
            $str=str_replace("ı","i",$str);
            $str=str_replace("İ","i",$str);
            $str=preg_replace("/[^A-Za-z0-9\s]/"," ",$str);
            $str=str_replace(" ","-",trim($str));
            $str=preg_replace('/([-]+)/','-',$str);
            $str=strtolower($str);
            return $str;
        }
    Benim kullandığım kod ile senin verdiğin kod arasında ne gibi farklar var? eksisi yada artısı varmı varsa neler açıklarsan sevinirim.