SEO İçin sayfalarınız permalink yapımı ve php mod_rewrite

Silverday

Altın Üye
Katılım
3 May 2006
Mesajlar
3,551
Reaction score
0
Puanları
0
Konum
sakarya
Permalink nasıl yapılır? Permalink yani Türkçe değişiyle Kalıcı Bağlantı... Öncelikle anlatımı geçmeden önce ne işe yarar ondan biraz bahsedelim. Permalink sayesinde biliyorsunuz ki Ulu Üstad Google :D sitemize bir kıyak geçerek( bilinenlere göre ) arama motorunda üst sırada çıkmamızı sağlıyor. Biliyorsunuzdur aynı içerikli www.siteadi.com/film-indir.html , www.siteadi.com/hedele.html gibi iki sayfada film indir kelimesinde ilk sayfa daha önce çıkar.

Şimdi gelelim ne şekilde bir yöntem izleyeceğiniz. Makaleye başlamadan önce şunu garanti ediyorum ki birazcık küçücük bir php bilgisiyle sizde herhangi bir scripte ait sitenizdeki linkleri permalayabileceksinizLaughing

Kullancağımız modül Bkz. Mod_Rewrite. Öncelikle www.harmankaya.org/goster.php?id=5 gibi bir linki www.harmankaya.org/goster-3-yazi-basligi.html gibi kafamdan bir örnek buluyorum ve başlıyorum. İlk işimiz .Htaccess dosyası kullanarak .php dosyayı html olarak yorumlamayı göreceğiz Bunun için /root altındaki .htacces dosyasına ekleyeceğimiz kod

Öncelikle en üste Mod_Rewrite modülüne göre link verceğimizi sunucumuza anlatıyoruz

Kod:
Options +FollowSymLinks
RewriteEngine on 

RewriteRule ^goster-(.*)-(.*).html$ goster.php?id=$1&baslik=$2 [L,NC]

Yukarda gördüğünüzüzere goster-(.*)-(.*) daki her (.*) için bir değer atayabileceğimi söylüyorum. id=$1&baslik=$2 de de sıra ile $1 inci kısım yani query stringdeki ID nin ilk (.*) a, $2 kısım yani baslik kısmınıda ikinci (.*) atayacağımı belirttim.

Yani .htaccess dosyasına bunları yazıp /root a attıktan sonra bilgisayarınızın tarayıcısından www.sitenizadi.com/goster-3-yazi-adi.html ye girerseniz girdiğiniz değer sunucuda goster.php?id=3&baslik=yazi-adi şeklinde yorumlanır.

Yani sözün özü burda aslında bir cinlik yapıyoruz biz aslına bakarsanız goster-3-yazi-adi.html yerine goster-3-oylesine-bir-baslik-iste.html de yazsam goster-3-dfdsf8dsf9sdfhgkdfsghkjffd.html de yazsam yine de sayfa görüntülenir, Çünkü bizim için mühim olan İD kısmı ID yi atadıktan sonra başlığa ne istrsen yaz :)

hah şimdi herşey tamam artık Sunucumuza Yorumlama yeteneği kazandırdıktan sonra linkleri güzelleştirmeye yani aslı Permalink kısmı şimdi başlıyor.



Mesela www.harmankaya.org/yazi.php?id=3 ü permalink yapmadan önce nasıl gösteriyorduk. şöyle değilmi diyelim < a href = " yazi.php?id=< ? e c ho $yaziid ; ? > \ > diye gosterdiğiniz linkleri < a href = " goster-< ? e c ho $yaziid ; ? >-< ? e c ho $yazibaslik ; ? > \ > yapacaksınız bu kadar yani azcık php bilginiz varsa bunuda yaaprsınız artık

Neyse ama sonra göreceksiniz ki linklerde türkçe karakterlerin veya +%&''^+ şeklinde karakterlerin hatalı çıktığı bununda sayfa görüntülenmesi hatası verdiğini göreceksiniz. Bizde bunun için bir fonksiyon geliştirdik .

PHP:
function permayap($deger) {
$turkce=array("ş","Ş","ı","(",")","'","ü","Ü","ö","Ö","ç","Ç"," ","/","*","?","ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü");
$duzgun=array("s","S","i","","","","u","U","o","O","c","C","-","-","-","","s","S","i","g","G","I","o","O","C","c","u","U");
$deger=str_replace($turkce,$duzgun,$deger);
$deger = preg_replace("@[^A-Za-z0-9\-_]+@i","",$deger);
return $deger;
}

Ne mi yapıyor herhangi bir metindeki boşluk yerine - (tire) koyuyor ayrıca bütün Türkçe karakterlerden arındırıyor ( Ne kötü birşey keşke türkçe karakterleride yorumlayabilsek ben çok seviyorum Ş yi Ç yi Ö yü Neyse kullanımıda basit zaten
PHP:
$yenibaslik = permayap($eskibaslik)

Yazar: Erhan Harmankaya


Alıntıdır: Kaynak
 
Çok Teşekkürler üsdat :) eline koluna emeğine sağlık :)
 
teşekkürler bunu local host ta deneme imkanımız olurmu acaba yani çalışırmı ??
 
evet denedim apache module ayarlarından rewrite_module aktif olması gerekiyor bu şekilde çalışıyor tekrar teşk
 
peki bunu sayfalama için nasıl yapabiliriz günlerdir araştırıyorum net birşey bulamadım
 
Geri
Üst