4 Nisan 2018 Çarşamba

PHP | Htaccess ile Seo URL Yapımı

Hiç yorum yok


İyi günler arkadaşlar bugün sizlere PHP ve Htaccess ile nasıl Seo URL yapılır ondan bahsedicem.

İlk olarak Seo URL nedir ondan biraz bahsediyim. Seo URL arama motorunda üst sıraya çıkmanızı ve link yapınızın düzenli olmasını sağlar. Bu aralarda Seo kavramı gittikçe büyüyen bir sektör haline gelmiş durumda. Neredeyse gördüğünüz tüm sitelerdeki link yapısı Seo uyumlu oluyor. Şimdi size kendi web siteniz için Seo URL nasıl yapılır onu göstereceğim.


Öncelikle sizin ne bir site yaptığınız önemli örnek olarak ben bu yazımda film scripti yazıyormuş gibi bir seo url yapıcam.

Şimdi arkadaşlar biz film scriptimizde filmin içeriğini görmek için film.php?id=15 gibi link yapısı kullanıyoruz. Bu yapıyı şimdi /film/kardesim-benim-2/2 olarak değiştiricez.

Normal bir php dosyasında istediğimiz bir veriyi İD ile çekeriz. Şimdi ise site urlsinde id kaça eşitse onun verisini çek diyeceğiz. Bunu sağlayan kod ise;

$sorgu = $db->prepare("SELECT * FROM film Where id=:id");
$sorgu->execute(array(
"id" => $id
));

Şimdi eğer bu verdiğim kod seo ile ilgili bir çalışma yapılmamış ise link yapısı film.php?id=15 gibi bir url ile siteye giriş yaptığınızda sitede film veritabanından 15. id'li filmin verilerini çekecektir.

Seo işlemine geçelim şimdi.
Seo işlemimiz sadece 2-3 dosya ile seo işlemimizi bitireceğiz.

Link yapısını oluşturacak fonskiyon kodları;

function seo($s) {
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',':',',');
$eng = array('s','s','i','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('/\s+/', '-', $s);
$s = preg_replace('|-+|', '-', $s);
$s = preg_replace('/#/', '', $s);
$s = str_replace('.', '', $s);
$s = trim($s, '-');
return $s;
}

Bu fonksiyon Türkçe karakterde kullanılan yazıları normal karakter haline çeviriyor. Örnek vermek gerekirse;

$baslik = "Sefa Yılmaz İle PHP Seo";
echo seo($baslik);

Çıktısı ise şöyle;

sefa-yilmaz-ile-php-seo

İstediğimiz başarıyla olmuş bulunmakta. Şimdi ise bunu nasıl link yapısında kullanabiliriz ona geçelim.

Sıradaki işlem .htaccess yönlendirmesi.

RewriteEngine on

Yukarıda vermiş olduğum kod yönlendirme işlemlerini aktif hale getirir.

RewriteRule ^film/([0-9a-zA-Z-_]+)/([0-9]+)$  film.php?sef=$1&id=$2 [L,QSA]

Yukarıdaki kod ise yönlendirme kodu.

film.php = içerikleri id'ye göre aldığınız dosya.
sef = seo link yapımızın geldiği ara değişken.
id = film.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]+) = film.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
Şimdi ise linklerimizi yeniden oluşturmamız gerekiyor. Nedeni ise biz artık film.php?id=1 diye girmeyeceğiz Seo URL'mizi kullanarak giriş yapacağız.
Kodumuz ise;
<a href='film/".seo($row["film_baslik"])."/".$row["film_id"]."'></a>
olacak şekilde değiştirelim.
Şimdi ise bazı özel yerler oluyor örnek olarak iletişim.php veya hakkimda.php gibi yerlere nasıl iletişim.php yerine iletisim veya hakkimda.php yerine hakkimda olarak giriş yapmayı göstereceğim.
.htaccess dosyamıza girelim ve daha sonra üstte .htaccess'e eklediğiniz dosyanın altına
RewriteRule ^iletisim/? iletisim.php [NC,L]
RewriteRule ^hakkimda/? hakkimda.php [NC,L]
yazalım ve kayıt edelim çıkalım.
Ve işlemimiz bukadar. 

Bu seo'yu hafife almayın sitenizi Googlede üst sıralara kadar taşıyabilir. Seo önemlidir her sitede olması gerekir.


Hiç yorum yok :

Yorum Gönder

b2b yazılım vois media