Get Adobe Flash player

Php ile SEO’lu Sistemler ve Php SEO Betiği (Script)

Bu yazımda size Php programlama dilini kullanarak nasıl SEO’lu sistemler yazabileceğinizi anlatmak istedim. Fakat bunu en iyi bir örnek üzerinde gösterebileceğimi anladım ve bu düşünceyle Php SEO betiğini (script) yazdım. Bu betiğin ufak, basit ama ihtiyacınız olan hemen her şeyi içerdiğini düşünüyorum.

Özellikleri

Php SEO betiğinin temel ve geliştirilmeye açık özelllikleri şu şekildedir:

Arama motoru dostu adresler
Bu betikte yazıların adresleri http://www.siteniz.com/yazi-adresi.html,
sayfaların adresleri http://www.siteniz.com/sayfa/sayfa-adresi/ ve
anasayfanın adresi http://www.siteniz.com/anasayfa/ ve şeklindedir. Sakın yazıların sonu “.html” ile bitiyor diye betiğin içinde html sayfaları olduğunu düşünmeyin.

Her yazıya ve sayfaya özgü metalar
Bu betikte anasayfada farklı, her yazı ve her sayfada farklı site başlığı, meta description ve meta keywords görüntülenir. Farklıdan kastım örneğin o an hangi yazı görüntüleniyorsa o yazının başlığı site başlığı olup, o yazı için belirlenmiş ve veritabanında saklanan meta bilgileri sitenin meta bilgileri olarak görüntülenir. Böylece arama motorları sitenizi tam ve doğru olarak indeksleyebilir.

Sitemap.xml desteği
Bu basit sistem için bir de otomatik güncellenen sitemap.xml mekanizması yazdım. Siz içeriği güncelledikçe o da kendiliğinden güncellenecektir.

Çalışma Mantığı

Arama motoru dostu adreslerin, meta bilgilerinin ve sitemap.xml’in çalışma mantığını ayrı ayrı incelemek lazım.

Adreslerin çalışma mantığıPhp SEO Veritabani
Veritabanındaki tablomuzda her yazının ve sayfanın bir de adres isimli alanı mevcut. Sağda görmüş olduğunuz tablo hem yazılar hem de sayfalar içindir. Böyle bir sisteme yazacağınız yönetim panelinde girilen yazı başlığını, aşağıdaki gibi bir seo fonksiyonuyla uygun bir adres haline getirerek veritabanındaki adres alanına giremelisiniz. Bu şekilde $_GET ile alacağınız adresi veritabanındaki adres alanından kontrol edebilirsiniz. Örneğin başlık Yusuf Güney Aşk-ı Virane ise bunun adresi fonksiyonda süzüldüğünde yusuf-guney-ask-i-virane olacaktır.

01.function seola($s) {
02.    $tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
03.    $eng = array('s','s','i','i','g','g','u','u','o','o','c','c');
04.    $s = str_replace($tr,$eng,$s);
05.    $s = strtolower($s);
06.    $s = preg_replace('/&.+?;/', '', $s);
07.    $s = preg_replace('/[^%a-z0-9 _-]/', '', $s);
08.    $s = preg_replace('/\s+/', '-', $s);
09.    $s = preg_replace('|-+|', '-', $s);
10.    $s = trim($s, '-');
11.    return $s;
12.}

Not: Merak etmeyin, bu fonksiyonu betiğin içinde seo.php isimli bir dosyaya ekledim, oradan alabilirsiniz.

Veritabanına adresi girdikten sonra sitenin .htaccess dosyasını ayarlamak kalıyor. Bu ayar sayesinde
http://www.siteniz.com/yazi-adresi.html şekindeki adresi
http://www.siteniz.com/yazi.php?yazi=yazi-adresi şeklindeki adrese yönlendiriyoruz. Bunun için de .htaccess dosyasını şu şekilde düzenledim.

1.RewriteEngine On
2.RewriteRule ^anasayfa/ index.php [L]
3.ReWriteRule ^(.*).html yazi.php?yazi=$1 [L,NC]
4.ReWriteRule ^sayfa/(.*)/ sayfa.php?sayfa=$1 [L,NC]
5.ReWriteRule ^sitemap.xml sitemap.php

Metaların Çalışma Mantığı
Yukarıdaki başlıkta vermiş olduğum veritabanı tablosuna bakarsanız her yazıyı girerken ayrıca tanim(description) ve anahtar(keywords) hanelerinin de girildiğini anlayabilirsiniz. Böylece bir yazı görüntülenirken sitenin meta description ve meta keywords’lerini bu alanlardan alabiliriz. Bu işlemi yapmak için betikteki meta.php dosyasında bulabileceğiniz meta() isimli bir fonksiyon ekledim. Nasıl yapıldığını oradan direk görebilirsiniz. Sadece yazacağınız yönetim panelinde bu alanlara da veri girileceğini unutmayın yeter.

Otomatik güncellenen sitemap.xml mantığı
Arama motorlarının özellikle istediği site haritası dosyası (sitemap.xml) aslında betikte yok fakat oluşturmuş olduğum ve çalışır durumdaki sitemap.php dosyasını .htaccess dosyasındaki ayarla sitemap.xml olarak gösteriyoruz. Böylece hem Php’nin gücü ile direk veritabanından bilgileri alabiliyoruz, hem de bu dosyayı .xml dosyası şeklinde arama motorlarına tanıtabiliyoruz.

Kurulum

Kurulum oldukça basit.
* Bir sonraki başlıktan betiği indirin.
* Paketin içinden çıkan klasörü sunucunuza yükleyin.
* Betik klasöründe bulunan veritabani.sql dosyasını oluşturacağınız veritabanında çalıştırın.
* ayar.php dosyasını açarak veritabanı bağlantısı ve site adresi için gerekli ayarları yapın.

Not: Eğer bu söylediklerim size çok yabancı geliyorsa önce kendinizi php üzerinde geliştirmenizi tavsiye ederim. Bu yazı programcılara hitap ettiği için lütfen veritabanı nedir, sunucu nedir, nereye yükleyeceğim gibi sorular sormayalım.

Php SEO Test ve İndirme Bilgisi

Bu kadar açıklamadan sonra artık betiği test edeceğimiz veya indirebileceğimiz adreslere yönelebiliriz.
Php SEO betiğini test etindir

Kaynak : http://www.seoteknikleri.com/php-ile-seolu-sistemler-yazmak-ve-php-seo-betigi-script.html

2 Responses to “Php ile SEO’lu Sistemler ve Php SEO Betiği (Script)”

Leave a Reply