Posts Tagged ‘SEO’

E-ticaret ile uğraşanların mutlaka okuması gereken bir yazı. Okumasından geçtim, uygulaması gerekir. Türkçeye çevrilmiş halini de paylaşmaya çalışacağım. Yine de translate.google.com işinize yarayabilir. Translate edilmiş hali

 

http://www.practicalecommerce.com/articles/1696-Ten-Google-Services-to-Help-Your-Ecommerce-Business

Advertisements

Bir çok web yazılımcısı, URL’den doğrudan kullanmış olduğu değişkenleri, veya çalışma stilini, veya istemediği dosyalara erişimi kısıtlamak ister. Ya da sadece Arama motoru optimizasyonu (SEO) için geliştirme yapmak ister. Nitekim Apache’nin sunduğu mod_rewrite modülü ile URL’lerin tekrardan işlenmesi mümkün. Nasıl mı?

Örneğin sitenizin adresi http://www.deneme.com olsun.
http://www.deneme.com/test.php?lang=tr&limit=100&action=list şeklinde bir URL niz var. Bu URL’nin sonucu olarak da sitede türkçe dilinde 100 adet şarkı listelenmiş olsa bütün değişkenlerimiz apaçık ortada her an değiştirilmeye veya kurcalanmaya hazır beklemiş olurlar.
Bu URL’yi mod_rewrite ile http://www.deneme.com/tr/100/list şeklinde değiştirebiliriz. Ya da başka bir kural belirleriz buna göre yeniden oluştururuz.
Bir arama motorunun bu sayfa ile ilgili düşünceleri pek de iç açıcı olmayabilir. Sebebi Url’de içerik ile ilgili bir şeyin olmaması.

Url şöyle olursa şık olur :
http://www.deneme.com/gunumuzun_en_iyi_100_türkçe_sarkisi-100_tr_list.html
Böyle olduğunda sondaki .html tamamen yalancı bir ek, 100_tr_list kısmında aslında değişkenlerimizi göndermiş oluyoruz, ondan önceki kısımda ise arama motorlarıın aradığı şeyi bulduğu hakkında bilgisini kuvvetlendirmiş oluyoruz. URL de ve sitede aynı içeriği bulması, sizin arma sonuçlarında bir miktar dha yukarlarda olmanıza imkan verebilir.

Kullanıcmı :

  • Apache de mod_rewrite modülünü açmanız gerekiyor. (httpd.conf içinde genellikle önünde # işareti ile comment’lenmiş oluyor)
  • httpd.conf içerisinde ilgili web klasörünüz için ayarlarda .htaccess in kullanımının açılması gerekiyor.   AllowOverride all diyerek açılıyor. (Daha fazla detay için lütfen apache allowoverride seçenekleri)
  • belirtilen sitenizin index.php sinin yanına .htaccess dosyası oluşturulması gerekiyor. Bu dosya RewriteEngine on  (yeniden yazma motorunu devreye alır)RewriteCond   %{REQUEST_URI} (yeniden yazma için regexp ifadesi (örn: .html yazarsanız .html gördüğü tüm durumlar yeniden yazma çalışır))
    RewriteRule  ([^/]+)-_-([^/]+)_([^/]+)(\.html)/?$ (yönlenmesini istediğiniz sayfa. Burada $1 , $2 diye $ karakterinden önce gruplanmış kısmı değişken olarak kullanabilirsiniz. ) [L] (burada da çeşitli ifadeler ile yeniden yazma işleminin tekrarlanmasını, tekrarlanmamasını, vs.. gibi özelliklerini ayarlayabilirsiniz.)

Basit bir şekilde bir yeniden yazma işlemi şöyle olur.
RewriteEngine on
# aşağıdaki 2 satır request_uri nin içinde ahmet.html diye bir şey geçiyorsa, onu mehmet.html ye yönlendirir.
RewriteCond   %{REQUEST_URI} ahmet.html
RewriteRule  mehmet.html

RewriteRule Komutunu öğrenmiş olduğunuz için mutlu olabilirsiniz. Bununla birlikte rewriteCond ile sınırlarınızı bariz bir şekilde genişletebilirsiniz. Çünkü bu komut ile yapabileceklerinizin sınırı bariz bir şekilde artıyor. Yazılım diline yük olabilecek şeyleri, Server (Apache) tarafından kolayca halledebiliyorsunuz. RewriteCond bildiğimiz if manasına geliyor.

Komut şu şekilde çalışıyor :

RewriteCond String Condition
String bir server değişkeni olabilir veya düz string olabilir.
Condition (durum) kısmı bir regular expression deseni olabilir.
Aşağıdaki örnekte de remote_Addr değeri 123.45.67.89 olan (IP si bu olan) bir kişiye ne olursa olsun, engellendin.html gösterilmesini sağlayan kod bulunuyor.

RewriteCond %{REMOTE_ADDR} 123.45.67.89

RewriteRule .* engellendin.html [R]

Server değişkenlerinden en kullanışlılarını liste halinde vermek istiyorum (Bunlar örneğin ilki %{HTTP_USER_AGENT} şeklinde kullanılıyor) :

Not : Eğer Bu değişkenlerin içinde ne olduğunu bilmiyorsanız veya merak ediyorsanız, phpinfo() fonksiyonu ile bu değişkenleri görebilirsiniz. Keza aynı değişkenler php tarafından da kullanılamaktadır.