PHP ile Sayfalama ve .htaccess ile SEO

Bu yazıda PHP ile sayfalama sistemi .htaccess ile seo yapımını anlatacağım. Bu sistem sayesinde her sayfaya aynı dosyaları kopyalama derdinden kurtulacağız. Yani, iletişim için iletisim.php, hakkımızda için hakkimizda.php kullanmayacağız. Çünkü her sayfaya menüyü kopyalamamız gerekir.Ne demek istrediğimi materyali indirip çalıştırdığınızda daha iyi anlayacaksınız. Bunun yerine index.php?sayfa=iletisim kullanarak sayfayı include edeceğiz. Daha sonrada .htaccess ile SEO yapacağız.

SAYFALAMA İŞLEMİ

Sayfalama sistemini yapacağımız dosyalar: http://www.aaslan.org/cw.rar

Sayfalama işlemini yaparken HTML form elemanlarından ‘GET’ metodunu kullanacağız. Yapacağımız işlem özetle şu şekilde:

-GET metodu ile çağırılacak sayfayı almak.

-Belirlenen klasörden çağırılan sayfayı include etmek.

Kullanacağımız dosyaları server’a attıktan sonra başlayalım.

GET metodunda sayfa adında bir form nesnesi kullanacağız. Yani URL index.php?sayfa=xxx şeklinde olacak.

Aşağıdaki linkteki kodları ORTA yazan yere ekleyelim.

http://codepad.org/wOX8CnRL

Satır 2-25: @$_GET[’sayfa’]

–> Bu işlem ile ?sayfa=xxx ile gelen xxx verisi varsa işleme devam ediyoruz. Başındaki @ işareti $_GET[’sayfa’] değeri atanmamışsa hata vermesini engelliyor. Yoksa ekrana ANA SAYFA yazdırıyor.

Satır 4: $tagsil=strip_tags(mysql_real_escape_string(@$_GET[’sayfa’]));

–> $tagsil değişkenine GET il gelen veriyi HTML kod ve benzerlerinden arındırarak atıyoruz.

Satır 5: $file=”page/”.$tagsil.”.php”;

–> Filtrelenmiş veriyi dosya yolunu belirterek atıyoruz. Burada page klasöründeki $tagsil.php adlı dosyayı $file değişkenine atıyoruz.

Satır 6-13 Arası:
if(file_exists($file))
{
include(“$file”);
}
else
{
echo “ANA SAYFA”;
}
-–> Bu kodlarla eğer $file değişkenine atadığımız dosya varsa bu dosyayı include ediyor. Yoksa ekrana ANA SAYFA yazıdırıyor. Buraya siz 404 sayfası koyabilirsiniz. Ben mantığını kavratmak amacıyla kısa kesiyorum.
Son olarak üst menüdeki linkleri index.php?sayfa=iletisim ve index.php?sayfa=hakkimizda şeklinde değiştirerek işlemi tamamlayalım.

.HTACCESS İLE SEO

Şimdi yeni bir notepad sayfası açalım ve aşağıdaki kodları yapıştıdıktan sonra .htaccess olarak ana dizine kaydedelim.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*).html index.php?sayfa=$1 [L,NC]
</IfModule>

Burada RewriteEngine on ile aktif hale getiriyoruz. RewriteRule’de ^ başlatma işaretidir.
(.*).html gelen URL’dir. Bu URL index.php?sayfa=$1 şekilde kabul edilir. Yani hakkimizda.html yazdığınızda index.php?sayfa=hakkimizda şeklinde algılar ve çalıştırır.

RewriteRule ^(.*)-(.*)-(.*).html index.php?sayfa=$1&yaziID=$3 [L,NC]

Bunu ikili yada üçlü şekildede yapabilirsiniz. Kendi sisteminize entegre etmek için örnek veriyorum. İkinci kodu şöyle açıklayalım:
Birinci (.*): Sayfayı çağırır.
İkinci (.*): Buraya başlık koyabilirsiniz bu sorguyu etkilemeyecek şekilde kodlarsınız. Hileye de başvurabilirsiniz Nasıl? (.*)-(.*)-(.*)-2012-2013.html şeklinde koyarsanız sayfanın başlığı Coğrafya Yıllık Plan olursa 2012-2013 şeklinde bir son ek gelir. Google’da tercih sebebi olur
Üçüncü (.*): Yazı numarası olarak koyarsanız sorguda kullanabilirsiniz.

Son olarak menülerdeki index.php?sayfa=iletisim ve index.php?sayfa=hakkimizda yerine iletisim.html ve hakkimizda.html yazalım ve kaydedelim.

.htaccess ile yaptığımız işlemi siz geliştirerek kullanabilirsiniz. Ben burada mantığını kavratmaya çalıştım.
Umarım faydalı olmuştur…
Selametle…

Bir önceki yazımız olan PHP ile Resim İşleme ve Düzenleme - 1 başlıklı makalemizde PHP Dersleri, PHP ile GD Kütüphanesi ve PHP ile Resim Düzenleme hakkında bilgiler verilmektedir.

About This Author

Uzun yıllardır yazılım ile uğraşıyorum. PHP ile başladığım yazılım hayatıma şu an PHP'nin yanında Swift ve Python ile devam ediyorum. Bu güne kadar bir çok proje geliştirdim ve yeni projeler geliştirmeye de devam ediyorum. Bu sitede yazılımseverlere faydalı bilgiler vermeye, yazılım geliştirmeye, öğrendiklerimi paylaşmaya, yeni başlayanlara yol göstermeye ve onlara yardımcı olmaya çalışıyorum.

Post A Reply