Anasayfa » Genel SEO » Php ile SEO’lu Sistemler ve Php SEO Betiği

Php ile SEO’lu Sistemler ve Php SEO Betiği

Bu yazımızda PHP programlama dilini kullanarak SEO uyumlu bir sistemi nasıl kodlayacaksınız konusundan bahsedeceğiz. Bunu örnekleyerek inceleyeceğiz.

Php ile SEO İlişkisi Kurma

PHP ile SEO uyumlu bir websitesini kodlarken temel 3 başlıktan bahsedeceğiz.

  • Arama motoru dostu URL adresleri (SEF URL)
  • Her sayfaya özgü meta tanımlama
  • Site haritası oluşturma

Arama Motoru Dostu URL Adresleri (SEF URL)

Bu betikte yazılar ve sayfalar için farklı URL adresleri oluşturmanız önemlidir.

Yazı URL adresi: www.seoteknikleri.com/yazi.html

Sayfa URL adresi : www.seoteknikleri.com/sayfa(

Bu örnek farklı şekillerde de geliştirilebilir. Örneğin içeriklerinizi bir dizinde sayfalarınızı farklı bir dizinde tutabilirsiniz.

Yazı URL adresi: www.seoteknikleri.com/icerik/yazi.html

Sayfa URL adresi : www.seoteknikleri.com/sayfa/sayfaadi/

PHP ile bu adresleri üretirken dikkat edeceğiniz bir başka konuda sayfa URL adreslerinin ismi genel tanımlar içermemelidir. yazi1.html yazi2.html gibi adresler yerine yazının başlık kısmını alıp URL üretmeniz en doğrusu olacaktır. seo-nedir.html gibi.

Yazı adreslerinin sonunda .html uzantısının olması sitenin ftp dosyalarında bu dosyaların üretildiği anlamına gelmez. Bunu betiği üreten kısım PHP.

Her Sayfaya Özgü Meta Tanımlama

Bu betik için her yazı ya da sayfa için veritabanına title, description, keywords meta etiketlerini yazdırmanız gerekir. Arama motoru botları sitenizde kaynak kodları tararken sıralama faktörlerinde bu 3 etiketi önem derecelerine göre kullanır.

Sitenin arkaplanında PHP ile her sayfa ve yazı için 3 meta tanımlamanız gerekiyor. Bu temalar site yöneticisi tarafından her sayfa için özel yazılmalıdır. Meta description tanımlarken “Eğer boş ise ilk 150 karakteri (boşluksuz) bu alana yazdır” gibi bir fonksiyon kullanmanız sizin için yararlı olacaktır.

Site Haritası Oluşturma

Site haritası arama motoru botlarının sayfalarınıza daha hızlı ulaşmasını sağlar. Site yöneticisi araçları bölümünde eklenen bir siteharitasi.xml dosyası otomatik olarak belirli periyotlarla güncellenir. dolayısıyla bu betiği yazarken site içeriği arttıkça ya da azaldıkça güncellenen bir site haritası nasıl oluşturacaksınız ile ilgili detaylara da dikkat ettik.

Adreslerin çalışma mantığı Php SEO Veritabanı
php-site-haritasi-betikVeritabanındaki tablomuzda her yazının ve sayfanın bir de adres isimli alanı mevcut. Solda 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 SEO Teknikleri ve PHP ise bunun adresi fonksiyonda süzüldüğünde seo-teknikleri-ve-php olacaktır.

[php]function seola($s) {
$tr = array(‘ş’,’Ş’,’ı’,’İ’,’ğ’,’Ğ’,’ü’,’Ü’,’ö’,’Ö’,’Ç’,’ç’);
$eng = array(‘s’,’s’,’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(‘/[^%a-z0-9 _-]/’, ”, $s);
$s = preg_replace(‘/\s+/’, ‘-’, $s);
$s = preg_replace(‘|-+|’, ‘-’, $s);
$s = trim($s, ‘-’);
return $s;
}[/php]

Veritabanına adresi girdikten sonra sitenin .htaccess dosyasını ayarlamak kalıyor.

Daha önce yukarda bahsettiğimiz www.seoteknikleri.com/yazi-adi.html şeklinde URL üretmenizi sağlayacak bu adım.

www.seoteknikleri.com/yazi-adi.html şeklindeki adresi
http://www.siteniz.com/yazi.php?yazi=yazi-adi şeklindeki adrese yönlendirmemizi sağlıyor.

Bunun için .htaccess dosyasını şu şekilde düzenliyoruz
RewriteEngine On
RewriteRule ^anasayfa/ index.php [L] ReWriteRule ^(.*).html yazi.php?yazi=$1 [L,NC] ReWriteRule ^sayfa/(.*)/ sayfa.php?sayfa=$1 [L,NC] 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 açıklama (description) ve anahtar kelime (keywords) hanelerinin de girildiğini anlayabilirsiniz. Böylece bir yazı görüntülenirken sitenin meta description ve meta keywords etiketlerini bu alanlardan alabiliriz.

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.

Bu konuda farklı örnekleri dosyaları ile beraber internette araştırarak da bulabilirsiniz.

Hakkında Mehmet Emre Baş

2008 yılında SEO ile tanıştım. Birlikteliğimiz yıllardır devam ediyor. Kaliteli bakış açısını yaptığım işe de yansıtarak çalışmayı ve vizyon katmayı seviyorum. Özel bir firmada SEO Uzmanı olarak çalışıyorum.

Hey :)

Doğru backlink nasıl oluşturulur

Doğru backlink konusunda nelere dikkat edilmeli?

Herkese merhaba, Bu yazımızda sizinle doğru backlink stratejileri konusunda bir kaç detay paylaşacağız. Link bağlantınızın ...

5 yorum

  1. güzel anlatım olmuş tşkler. faydalı paylaşımlarınıza devam etmeniz dileğiyle.
    bir sorum olacak ben örneklerinize bakarak deneler yaptım ancak id değerini adres satırında nasıl gizleye bilirim bu kısmı çözemedim.

    http://sitedomain.com/kategori/baslik/id şeklinde oluyor hep id değerini gizlemek için php kısmında nasıl bir düzenleme yapmam gerekir örnek verirseniz evinirim

  2. Merhaba yakupzz,

    Öncelikle güzel temennilerin nedeniyle teşekkür ederiz. Soruna gelecek olursak bunun aslında birkaç farklı yöntemi mevcut. Şu şekilde ki ;

    1 – İd değeri göndermeyerek
    İlgili sorgu ve isteklerde id değeri yerine sadece başlık gönderiminde bulunursun fakat bu sistemde ki içerikler arttıkça başını ağrıtabilir çünkü aynı başlıkta olabilme ihtimali olacaktır, bu kısmi bir çözümdür.

    2 – Htaccess değer gizleme
    Bu bölümde ise verileri gönderip sorgularını oluşturduğun alanlarda aslında başlık ve id değerini gönderir ilgili cevapları döndürürsün fakat htaccess de id değerini işlemezsin bu şekilde daha sağlamacı bir yol izlemiş olursun, htaccess de sadece başlık verisini kullanırsın.

  3. cvp için öncelkle tşkler. 1. yöntemi şuan kullanıyorum. dediğiniz doğru şuan tüm veriler benzersiz olduğu için sorun yok ancak veri artınca risk artacak.

    2. yol ile ilgili örnek makale yada paylaşımınız var mı?

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir