Merhaba arkadaşlar bugunkü dersimizde Htaccess ile Seo Dostu Link Yapımı Değineceğiz. Bu link bizim ne işimize yarar diye merak ederseniz. Bu linkler site adresinde karmaşıklığı çözmektedir. Daha güzel linkler oluşturabiliriz. Örnek vericek olursak
Şimdi bu dersimizin adresini örnek alarak gösterelim.
Htaccess kullanılmassa Adresimiz :
https://pratikkodlar.com/ders.php?id=55.html
Htaccess kullanılırsa Adresimiz :
https://pratikkodlar.com/php-htaccess-ile-seo-link-yapimi.html
Aradaki fark baktığımız zaman birinci adresimizde her zaman sabit bir isim ve numara var. İkinci adresimizde ise dersimizin adı gözükmektedir. Bunun bize ne gibi faydası olur derseniz. Öncelikle link yapısını baktığımız zaman karmaşıklıkdan kurtulmuş oluyoruz ve google tarafından sevilen linklerdir. Yani google bu tarz linkleri sever ve google sitenize gelme olasılığı artmaktadır.
Şimdi bunu nasıl yapacağımıza bakalım
Öncelikle bize bir seo fonksiyonu gerekiyor yazacağımız başlığı bize seo url dönüştürmesi için. Aşağıda seo fonksiyonu bulabilirsiniz.
function seo_link($bas)
{
$bas = str_replace(array(""","'"), NULL, $bas);
$bul = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', '-');
$yap = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', ' ');
$perma = strtolower(str_replace($bul, $yap, $bas));
$perma = preg_replace("@[^A-Za-z0-9\-_]@i", ' ', $perma);
$perma = trim(preg_replace('/\s+/',' ', $perma));
$perma = str_replace(' ', '-', $perma);
return $perma;
}
Daha sonra POST etmiş olduğumuz başlığı kullanarak fonksiyonumuza gönderiyoruz.
$baslik = "PHP Htaccess ile Seo Link Yapımı";
$SeoURL = seo_link($baslik);
// Sonuç : php-htaccess-ile-seo-link-yapimi
Fonksiyon kullanımımız bu şekilde benim size önerim bu URL adresini veritabanında sef,seo veya da istediğiniz bir alanda tutmanızdır bu şekilde daha kolay olacaktır. Şimdi veritabanızmıda tuttuğumuza varsayarak şimdi bunu nasıl kullanacağımıza bakalım.
<a href="php-htaccess-ile-seo-link-yapimi.html">PHP Htaccess ile Seo Link Yapımı</a>
Yazının üzerine geldiğinizde gösterilen adres : php-htaccess-ile-seo-link-yapimi.html şeklinde olacaktır. Sıra geldi htaccess kullanımına buraya dikkat edelim çünkü burada yapılabilecek ufak karakter hatalarında site bazen açılmayabiliyor o yüzden dikkatli yazalım.
Htaccess Dosyamız :
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+).html$ ders-oku.php?sef=$1 [L,NC]
Bu yazdığımızı inceleyecek olursak Öncelikle RewriteEngine yani htaccess kullanımını on yani başlattık. Daha sonra RewriteRule bir kural yazdık. ^([a-zA-Z0-9_-]+)-(.*?) burada büyük,küçük,rakam,- gelebilir dedik. sonrasında sayfamızın sonunun .html ile bittiğini belirtmiş olduk. Devamında ise ders-oku.php sayfamız bizim detay sayfamız oluyor. Tıklanacak her sayfada bu sayfaya yönlendireceğiz ve bu sayfa bizim detay sayfamız olucaktır. Devamında sef=$1 burada ise gönderdiğimiz değeri belirtiyoruz biz buraya bir değer gönderdik gönderdiğimiz değer php-htaccess-ile-seo-link-yapimi bu değeri get parametresi kullanarak gönderdik. Bir önceki dersimizde POST ve GET konusuna değinmiştik.
Adrese tıkladık ve sayfamız açıldı muhtemelen boş açılacaktır çünkü bir şey eklemedik sayfaya diğer sayfalarda olduğu gibi standart işlemlerini header,footer gibi kısımları sayfanızda gösterebilirsiniz fakat biz içeriği değiştirmek istiyoruz sadece bunun içinse gönderdiğimiz seo adresini alıp karşılaştırmak zorundayız.
$Seo = $_GET["sef"]; // Seo Adresimizi $Seo isimli değişkene atadık.
Daha sonra aldığımız değeri veritabanından sorgulatarak ilgili adresimize ait içeriğimizi sayfada gösterebiliriz. Bu şekilde url adresimiz daha temiz bir görünüm olacaktır.
Ayrıca şunu da belirtmek istiyorum. Bizim yaptığımız örnekde pratikkodlar.com/php-htaccess-ile-seo-link-yapimi.html olduğunu gösterdik fakat bazı adreslerde. pratikkodlar.com/ders/php-htaccess-ile-seo-link-yapimi.html olduğu vardır. Bunun için ise htaccess kodumuzda ve a tagında kullandığımız adresde ufak bir değişiklik yaparak bizde bu kullanımı sağlayabiliriz.
// A Tagımızı Adres kısmını şu şekilde değiştiriyoruz.
<a href="ders/<?php echo $Konu['seo'] ?>.html">PHP Htaccess ile Seo Link Yapımı</a>
// Htaccess Kodumuzu Şu Şekilde Değiştiriyoruz.
RewriteRule ^ders/([a-zA-Z0-9_-]+).html$ ders-oku.php?sef=$1 [L,NC]
Bu sayede pratikkodlar.com/ders/php-htaccess-ile-seo-link-yapimi.html şeklinde de görüntüleyebiliriz.
Kafanıza takılan yapamadığınız yer olursa iletişim sayfamızdan veya yorum kısmından bize ulaşabilirsiniz.