SEO yerine SSOM

Farkettiğimiz ve çeşitli yazılarda okuduğumuz üzere artık SEO (Search Engine Optimization) biraz geriden gelme olarak nitelendirilebiliyor. Bunu şöyle açıklamak isterim.

 

SEO tamamen developer kişinin nasıl geliştirdiği ile alakalı, (doğru yaqzılan meta bilgisi, doğru ve ilgili keywordler, title bilgileri, linkler, – ki özellikle linklerin tarihçesi biraz daha eskidir.. vb..) Burada bahsetmek istediğim içeriğin bir bilgisayar tarafından işlenmesi ile sağlanabiliyor. Bu artık biraz devre dışı kalmaya başlıyor gibi hissediyorum. Google’da yaptığım aramada, google+ çevremde olan bir kişinin paylaştığı bir site var ise, ciddi miktarde yukarıda yer alıyor. Ki kişilerin alışkanlıkları, ne tarz biri olduğu, neyle ilgilendikleri bilgileri toplandıkça, (yani kimin çok güvenilir veri kaynağı kimin az güvenilir veri kaynağı) olduğu da yavaş yavaş saptanacaktır, bu sayede üst sıralarda yer alabilecek sitelerin çoğu belki de en çok tıklanan, en çok backlink alan sitelerden ziyade, “benimle en ilgili olan, benim ihtiyacımı karşılayabilecek” siteler olacak. Bunun adını bir sitede SSOM (Social Search Optimized Marketing) olarak gördüm ve beğendim. Marketing kelimesinde ise takılmayalım, zaten yapılan iş marketingin ta kendisi. Bişey arama bulma değil, o şeylerin aranmasını sağlayan kişilerin marketing’i..

Google buna başladı, yani sosyal ağını, rank faktörlerindenbiri olarak belirledi. Tahminim bunun önem seviyesinin günden güne artacağı yönünde olacaktır.

Tabi bunu nasıl uygularız sorusuna gelince, eskisi gibi değil lay, bağlantıları şart koşan, sosyal yönü ağır bir şey, bu yüzden ilgili yerlerle doğru ilişkiler kurmak, kısacası doğru bir şekilde, bir çocuk yetiştiyiromuşçasına davranmak gerekir..Buji yazınca kereviz reklamı vermeden(ki bunu uzun zaman önce engelledi google 🙂 ) devam etmek gerekir.

Tüm bunların yanında konumun, fiziksel koşulların durumu da daha çok değerlendirilecektir. Ki belirli bölglerde yaşayan insanların hayat koşulları, dertleri tasaları, ilgi alanları vb daha çok benzerlik gösterebildiğinden, arama olaylarında sosyal etmenlerin artışı bu açıdan da artacaktır.

Gmail’de arkadaşlarımızla mail üzerinden sohbet ederken sırf eğlenmek için yazdığımız birbirinden alakasız kelimeler ile google reklamlarını sapıtmasını sağlayıp güleriz ara ara.. İleride bunu yapmamız iyice zorlaşacak gibi gözüküyor.

 

Bu işin bir de mobil kısmı var ki ona farklı bir yazıda değinmek, düşüncelerimi paylaşmak isterim.

apache mod_rewrite ile URL yeniden yazma

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 www.deneme.com olsun.
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 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 :
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.