WordPress’in sunduğu nimetlerden biri, ziyaretçilerin bulmak istedikleri içerik için arama yapabilmesi. Ne yazık ki, WordPress’in geliştirdiği arama motoru algoritması çok güçsüz ve çoğu zaman aranan içeriği ön planda sunamıyor. Ben de deneyimlerime dayanarak WordPress arama motorunuzu 6 adımda çeşitli eklentiler yardımıyla güçlendirmenizi sağlayacağım.

Ön arama

AutoSuggest eklentisi Elie El Khoury tarafından yazılmış basit ama şık ve kullanışlı bir eklenti. Arama formunda yazmaya başladığınız arama kelimesinin altındaki bir kutucukta sizin için bir ön arama yapıyor ve eşleşen sonuçları tarih sırasına göre sıralıyor. Eklentinin panelinden görüntülenecek en fazla eşleşme, yazının hangi kısımlarının görüneceği gibi ayarları kolayca yapabiliyorsunuz. Bu eklenti estetiği ve arama için harcanan zamanı düşürmesi nedeniyle gözüme çarptı. Ayrıca Türkçe desteği var :)


Eklentiyi kurduktan sonra paneline girip ilk satırda belirttiği üzere yapılan arama için verdiğiniz değer farklıysa onu değiştirin. Genelde bunun için “s” değeri kullanılır. Arama formunuzdaki (searchform.php) diye giden bölümde name ve id parametrelerinde belirttiğiniz değer doğrultusunda gerekli değişiklikleri yapın.

Aramaya benzer öneriler sunun

Yapılan aramada kişinin istediğini bulaması veya bulamamsı halinde aramasına benzer öneriler sunarak çeşitliliği artırarak kullanıcınıza daha iyi bir arama imkanı sunabilirsiniz. Bunun için SearchSuggest adlı bir eklenti yazılmış. Eklentiyi kullanarak benzer aramaları göstermek için şeklindeki kodu kullanabilirsiniz.

Yazım yanlışlarını bulun


Kullanıcılar çoğu zaman aradığı şeyi yanlış yazabilir, farkında olmayabilir ya da yanlış biliyor olabilir. SearchSuggest bugibi bir durumda da yardımınıza koşuyor ve Yahoo! API’sini kullanarak yazım yanlışlarını düzeltmek için öneriler sunuyor. Eklentiyi kullanarak alternatif yazım şekillerini görüntülemek için kodunu kullanabilirsiniz.

Sonuçlarda ilgili yerleri gösterin


Bir başka eklenti ile çok değişik bir şeyi yapacağız. Search Excerpt eklentisini kullanarak çıkan sonuçlarda ilgili kelimeler işaretli olacak.


Öncelikle eklentiyi yüklüyoruz. Sonra şunu stil sayfamıza ekliyoruz:
strong.search-excerpt { background: yellow; }


Ardından search.php dosyamızı açıyoruz ve the_title(); yazan yeri echo $title; yapıyoruz. Bir üst satıra da şunları ekliyoruz:
$title = get_the_title();

$keys= explode(" ",$s);
$title = preg_replace('/('.implode('|', $keys) .')/iu',
'\0',
$title);
?>



İçerik bölümünde kullandığınız başlığı şöyle değiştirmezseniz görüntülemede sorun yaşarsınız:

Arama Sonuçları



Sonuçları zamana göre değil uyumluluğa göre sıralayın

“Arama motorlarında sonuçlar uyumluluğa göre sıralanır. Bizim bloglarımızda neden öyle olmasın?” diyerek Semiologic topluluğu Search Reloaded adlı bir eklenti oluşturmuş. Eklenti bu işi otomatik düzeltiyor. WordPress’in arama algoritmasını devreden çıkarıp kendi algoritmasını kullanarak kullanıcılara zamandan çok uyumluluğa yönelik bir sıralama sunuyor.

Sonuçları sayfalayın

Bir önceki başlıkta en iyi sonuçları nasıl sıralayabileceğimizi görmüştük. Ancak uygun sonuç ilk çıkan sonuçlarda yoksa, aramaya devam edip aşağı doğru sayfayı kaydırmanın anlamı yoktur ve zaman kaybıdır. Bu nedenle Search Reloaded eklentisinden yine yardım alıyoruz ve eklentinin sem-search-reloaded.php dosyasının 102. satırında bu kodu:
$posts_per_page=$wp_query->get('posts_per_page');
Böyle değiştiriyoruz:
$posts_per_page=25;



Sonra search.php dosyasındaki endwhile; ifadesinden sonra bir tane daha arama kutusu ekliyoruz. Mesela şöyle:

Aradığınız şeyi bulamadınız mı? Daha iyi bir arama yapın!



Bu işlemi yapınca WordPress’in okuma ayarları panelindeki sayfa başına görüntülenecek yazı sayısını el ile 25′e ayarlamış oluyoruz. Böylece arama yapan kullanıcı ilk 25 satırı kaydırdıktan sonra sayfa seçeneği ve daha iyi arama seçeneği ile karşılaşıyor.

Kullandığım eklentiler

AutoSuggest
SearchSuggest
Search Reloaded
Search Excerpt

Kaynak: www.mrtcntn.com