Toplam 230 konuya 1559 yorum yazıldı.
Php Seo Uyumlu Link Yapımı

Merhaba arkadaşlar güzel bir konu ile daha sizlerleyiz.Bu dersimizde sizlerle php de en çok merak edilen konularından biri seo url nasıl yapılır onu işleyeceğiz.



Seo url yapmamız bizim açımızdan çok faydalıdır hem hızlı index almamızda hemde google dostu bir web sitemiz olması açısından hemde düzenli bir web sitemiz olması açısından çok yararlıdır.



Yani şöyle söyleyim linklerimiz neden index.php?haberid=5 yerine haberler/deneme-haber şeklinde görünmesin dimi. Hangisi daha anlaşılır geliyor tabiki seo yapısı :)



Peki nasıl yapılır bu kısmına geçelim bize yardımcı olacak bi arkadaş var ismi " htaccess " çok işimizi görcek hatta tamamını bu arkadaş yapacak :)




<?php

$id = $_GET["id"];

$sorgu = mysql_query("SELECT * FROM yazilar Where id='$id'");

?>


Böyle bir yapımız var mesala bu yapımızda çalıştırdığımızda içeriklerimiz icerik.php?id=20 şeklinde görünecektir ama biz seo uyumlu olmasını istiyoruz..



Yapmamız Gerekenler




  • Yazılarımızın başlıklarını özel karakterlerden arındırarak url formatına uygun bir hale getirmek

  • .htaccess dosyamızda gerekli yönlendirmeleri yapmak

  • Yeni linklerimizi yeni seo yapımıza göre vermek



Gerekli seo fonksiyonumuz (Kendi kullandığım Faruk abimin yaptığı :) 




<?php

function seo_yap($str){
$preg = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', '+', '#', '.');
$match = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', 'plus', 'sharp', '');
$perma = strtolower(str_replace($preg, $match, $str));
$perma = preg_replace("@[^A-Za-z0-9\-_\.\+]@i", ' ', $perma);
$perma = trim(preg_replace('/\s+/', ' ', $perma));
$perma = str_replace(' ', '-', $perma);
return $perma;
}

?>


Tüm konularımızı bu fonksiyonu kullanarak örnegin veritabanımızda yazılar diye tablomuz var yapısı şöyle olacak yazi_baslik, yazi_seo_link işte bu seo link sutunumuza  seo_yap($baslik); şeklinde kayıt edicez.. 



Örnek vermek gerekirse:




<?php

$baslik = yavuz selim kişisel sitesinde yardımcı olmaya çalışıyor

echo seo_yap($baslik);

//çıktısı şöyle olacak yavuz-selim-kisisel-sitesinde-yardimci-olmaya-calisiyor


?>


Htaccess kısmı nasıl olacak onada bakalım 



.htacces dosyamızı açıyoruz yok ise yeni bir .htacces olusturuyoruz php dosyalarımızın olduğu dizine

Dosyamızın içine girdikten sonra




# Yönlendirmeleri aktif eder
RewriteEngine on

# Yeni bir yönlendirme kuralı ekliyoruz
RewriteRule ^([0-9a-zA-Z-_]+)/([0-9]+)$ posts.php?sef=$1&id=$2 [L,QSA]



posts.php = içerikleri id ye göre aldığımız php dosyamız

sef = seo link yapımızın geldiği ara değişken

id = posts.php de veri çektiğimiz id parametresi



([0-9a-zA-Z-_]+) = seo linkimiz bu kısma yerleşecek a-z arası 0-9 arası ve – karakterleri (sef)

([0-9]+) = post.php de kullandığımız id değeri buraya gelicek



[L] = url uyuştuğu an keser bunun anlamı şu örneğin siteurl.com/merhaba burada merhaba bizim url miz fakat [L] koymaz isek merhabaads gibi bir url yide aynı sayfaya yönlendirecek bazen hatalar olabilir o yüzden [L ] koyuoruz uyuştuğu an kesiyor devam ettirmiyor



[QSA] = Bu GET ile gösterilen verilerin aktif olmasını sağlar yani örnekte sef=$1&id=$2

Bazı configlerde koymaya gerek yokken bazı web server configlerinde koymayı gerektir biz öncelik olarak ekleyelim




Siteniz seo url yapısını kurduktan sonra tasarımı bozuk yada css dosyalarını çekemediği için tasarımında kaymalar olduysa head tagları arasına 




<base href="siteurl.com/" />


Ekleyiniz..



Not : Birden fazla rewriteruleniz varsa bazen çakışma yaşanabilir bunun için katmanlı bir yapı kullanabilirsiniz Örneğin :



kategori/php/sayfa2

yazilar/cok-guzel-yazi/2  



Şeklinde kullanırsanız hiç bir sıkıntı çıkmadan seo yapınız oluşmuş olacaktır. Bundan sonra yapmamız gereken tüm linkleri seoya göre vermek olacaktır .İşlemlerimiz bukadar arkadaşlar umarım faydalı olmuştur yapamayan olursa yorum atabilir yardımcı olmaya çalışırım..



 


Yorumlar

Ayfer Yazıcıoğlu

31.12.2016 16:46

Seo konusunda çok faydalı bir teknik olmuş ne zamandır bunu yapmayı araştırıyordum çok teşekkürler sizin sayenizde yapabildim gerçekten çok teşekkürler.

Uğur

22.12.2016 17:05

Oldukça başarılı bir makale olmuş hocam. Php meraklısı tüm yazılımcıların mutlaka işine yarayacaktır.

YAVUZ SELİM ŞAHİN

21.02.2016 22:37

Halil wamp server de çalışmama gibi bir ihtimali yok daha önce bir domainde yaptıysan bu işlemi local dede aynı işlemi yapacaksın hepsi o anladın mı yani wamp serverde çalışmaz diye soruyorsan bu soruyu çalışır yani kardeşim o konuda sıkıntı yok yok eger yapamıyorum dersende yardımcı olurum bi şekilde bağlanırım pc ye.

Halil

21.02.2016 21:54

Hocam bunu wamp server da nasıl çalıştıra bilirim

YAVUZ SELİM ŞAHİN

19.01.2016 02:08

:) :) Bizimde kendimize göre bi şeklimiz var kardeşim :D Sen beğendiysen tamamdır bu makale iş görür :D

Ali

19.01.2016 02:06

Sonunda güzel kaliteli ve işe yarar bir makale yazmışsın tebrikler :)

Yorum Yaz