PERMALİNK SEO YAPIMI HTACCESS ILE

Started by azat, Dec 19, 2018, 06:53 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

azat

Adres çubuğunda gördüğünüz bir Permalink'tir. Yani normalde php dosyası olan bir içeriği html gibi gösterir. Bu şekilde yapmak sitenizin Google da üst sıralara tırmanmasını sağlayacaktır. Bunu nasıl yapıyoruz şimdi hep beraber görelim:

Normalde bir script yazdığınızda 'detay.php?id=1′ şeklinde bir yapıya sahip olur. Bunun google için hiçbir anlamı yoktur açıkcası. Biz bu yapıyı 'haber-basligi.html' şeklinde kelimelerden oluşan bir yapı ile listeleteceğiz. Bu şekilde her yazımızın adı urlde geçmiş olacak ve ilk durumdan daha anlamlı bir hale gelecektir linklerimiz. Bunun için öncelikle .htaccess dosyası oluşturmamız gerekiyor. Boş bir text dosyasına linklerimizi nasıl kullanacağımızı belirten kodları yazıyoruz ve .htaccess olarak kaydederek sitemizin bulunduğu dizine atıyoruz.

Kullanabileceğiniz örnek kod;
Code Select
Options +FollowSymLinks
RewriteEngine on

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

Bu şekilde kullandığımızda linklerimiz haber-1-haber-baslik.html şeklinde olacaktır. Siz isterseniz .htaccess dosyanızda yapacağınız değişikliklerle bu yapıyı değiştirebilirsiniz. Bu işlemden sonra artık link yapısını ayarlamaya geldi sıra.

Normalde;
Code Select
<a href="detay.php?id=<?php echo $row_Recordset1['id']; ?>"><?php echo $row_Recordset1['baslik']; ?></a>
şeklinde olan yapıyı
Code Select
<a href="haber-<?php echo $row_Recordset1['id']; ?>-<?php echo $row_Recordset1['baslik']; ?>.html"><?php echo $row_Recordset1['baslik']; ?></a>
şekline dönüştürüyoruz.
Artık işlem tamam. Şu anda listeleme yaptığınızda linklerimiz detay.php?id= şeklinde değil de haber-3-baslik.html şeklinde olacaktır. Kalan son bir eksik yanı var şu an. Başlık eğer Türkçe karakter ya da boşluk karakteri içeriyorsa bu urlde kullanıldığında pek sağlıklı olmayacaktır. Bu yüzden bu boşlukları, sembolleri, Türkçe karakterleri bir fonksiyonla uygun bir hale getireceğiz.
Code Select
function turkceyap($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;
}
Fonksiyonumuzu tamamladıktan sonra bu fonksiyonumuzu echo kısmında kullanıyoruz. Bunu da şu şekilde basitce yapabiliriz.
Code Select
<?php $yenibaslik turkceyap($row_Recordset1['baslik']); echo $yenibaslik?>Evet artık bu işlem de tamam. Linklerimizde ne Türkçe karakter ne de boşluk veya özel karakterler olacaktır. Ve artık SEO dostu SEF linklere sahibiz...