wmaraci reklam

PHP ile SEO RUL Bütün Karakerler İçin Nasıl Yapılır (Friendly URL)

2 Mesajlar 2.225 Okunma
pst.net
wmaraci reklam

mhtsnck mhtsnck Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 10.01.2012
  • Yaş/Cinsiyet 31 / E
  • Meslek Öğretmenlik
  • Konum Samsun
  • Ad Soyad ** **
  • Mesajlar 40
  • Beğeniler 49 / 30
  • Ticaret 0, (%0)
SEO url web sitelerinde kullanabileceğiniz konunuzun başlığı veya anahtar kelimelerini URL satırında içeren ve bu sebeple arama motorları tarafından üst sıralarda yer almanızı sağlar. Örneğin sitenizde bir konu olsun ve başlığı “Merhaba Dünya” adlı konunuz var. Bu konu başlığı web sitenizin url kısmında “merhaba-dunya.html” olarak yazmalıdır.
Peki burada ü karakterini u ‘ya çevirmek görünürde çok basittir. “sttrtr” fonksiyonu ile çevirebilirsiniz fakat geriye kalan 1 milyondan fazla karakteri bu hale getirmek bir hayli zor olucaktır. Tüm karakteri bu şekilde friendly url haline getirebilmek için html special characters tablosundan faydalanmamız gerekecek.
HTML Special Characters

á
Á
á
Á
à
À
à
À
â
Â
â
Â
å
Å
å
Å
ã
Ã
ã
Ã
ä
Ä
ä
Ä
æ
Æ
æ
Æ
ç
Ç
ç
Ç
é
É
é
É
è
È
è
È
ê
Ê
ê
Ê
ë
Ë
ë
Ë
í
Í
í
Í
ì
Ì
ì
Ì
î
Î
î
Î
ï
Ï
ï
Ï
ñ
Ñ
ñ
Ñ
ó
Ó
ó
Ó
ò
Ò
ò
Ò
ô
Ô
ô
Ô
ø
Ø
ø
Ø
õ
Õ
õ
Õ
ö
Ö
ö
Ö
ß ß
ú
Ú
ú
Ú
ù
Ù
ù
Ù
û
Û
û
Û
ü
Ü
ü
Ü
ÿ ÿ



Tabloda gördüğünüz bu tip karakterlerden sadece bir kaçı. Dikkat ederseniz “á, Á” gibi karakterlerin html kodu “a” ile başlıyor. bundan faydalanarak bu tip karakterleri “a” ya çevirebiliriz. Aynı şekilde “ü” karakterinin html kodu “u” ile başlamakta. Şimdi bu özellikten faydalanarak tanımlı olan bütün karakterleri “friendly URL” ‘ye php kullanarak çevirelim.

//öncelikle bu iş için çalışmamız tamamen UTF-8 olarak kullanılmalı. Diğer karakter kümeleri işe yaramamaktadır. Fakat UTF-8 in de dezavantajı “ş, ğ, ı” harflerinin tanımlı olmamasıdır.
function friendly_url($string){
// UTF-8 karakter kümesini iso-8859-9 standardına çeviriyoruz. Amacımız karakterleri html specials tablosuna sorunsuz bir şekilde dönüştürebilmek.
$string = iconv(“UTF-8″, “ISO-8859-1//TRANSLIT”, $string);
// bu bölümde boşluk, / gibi karakterlerden kurtuluyoruz ve “-” karakterine dönüştürüyoruz.
$string = preg_replace(“`[.*]`U”,”",$string);
$string = preg_replace(‘`&(amp;)?#?[a-z0-9]+;`i’,'-’,$string);

// karakterleri html koduna çeviriyoruz.
$string = htmlentities($string, ENT_QUOTES, ‘ISO-8859-1′);
//UTF-8 kullanmamızın dezavantajı bu noktada oluşuyor. tanımlı olmayan karakterleri dönüştürüyoruz.
$trans = array( “þ” => ‘s’, “ð” => ‘g’, “Þ” => ‘S’, “Д => ‘G’, “Ý” => ‘I’, “ý” => ‘i’ );
//bu bölümde html special characters tablosunun &# karakterinden hemen sonraki karakterini alıyoruz.
$string = strtr($string, $trans); $string = preg_replace( “`&([a-z]) (acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i”,”\1″, $string );
$string = preg_replace( array(“`[^a-z0-9]`i”,”`[-]+`”) , “-”, $string);
//dönüşümü geri çağırıyoruz.
return strtolower(trim($string, ‘-’));
}

//deneme alanı
$string = “üğşiloöçĞÜŞÖÇIiııİİİ MerhabaWMAraci”;
echo friendly_url($string);
?>
 

 

wmaraci
reklam

erbilen erbilen Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.11.2011
  • Yaş/Cinsiyet - / E
  • Meslek
  • Konum
  • Ad Soyad ** **
  • Mesajlar 226
  • Beğeniler 6 / 201
  • Ticaret 0, (%0)
:) iyi güzel diyorsunda sef link yapısının olması aramalardaki kriterleri değiştirmiyor.. Bizzat denedim ve gördüm.. Zaten google algoritmasını değiştireli uzun zaman oluyor.. Eskidenmiş yani bu sef link hikayeleri.. Artık daha zeki botcukları var onların :) Diğer bir konuda bu karakterleri başlıklarda nasıl kullanacağımız konusu? Daha ben hiçbir blogcunun bu karakterleri kullandığını görmedim ^^ Yazdığın kodlardada karakter hatası var, kötü bir copy+paste olmuş gibi geldi.. Çokmu kırıcı oldum? Sanmıyorum..
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al