Konu Başlıkları
Yükleniyor...

Sonuç Bulunamadı Sayfası: Metinden Önce Aramayı Onarın

Sıfır sonuçlu aramalar: sorgu genişletme, öneri sırası ve log analizi

Bir aramanın boş dönmesi çoğu zaman içerik eksikliğinden değil, sorgunun arama motoruna olduğu gibi teslim edilmesinden gelir. Bu yüzden sıfır sonuç sayfasının işi, kibar bir özür metni yazmadan önce başlar: sonucun neden boş kaldığını anlamak. Sayfanın kendisi ondan sonra kolay kısım.

Önce boş sonucun sebebine bakın

Sıfır sonuç birkaç ayrı sebepten gelir ve her birinin karşılığı farklıdır: dizinde gerçekten o içerik yoktur, kullanıcı başka bir kelime kullanmıştır, yazım hatası vardır, ya da işaretlenen filtreler sonucu boşaltmıştır. Dördü de aynı sayfaya çıkar, oysa sadece ilkinde yapacak bir şey yoktur.

Çok kelimeli sorgularda en sık suçlu, terimlerin VE ile bağlanmasıdır. Üç kelimenin üçünü birden içeren belge yoksa sonuç sıfırdır, ama ikisini içeren onlarca belge orada durur. Burada kademeli genişletme işe yarar: sorguyu tümden gevşetmek yerine dizinde en az geçen terimi düşürüp yeniden çalıştırın. Belge frekansı sıfır olan terim zaten dizinde yoktur, sonucu tek başına sıfıra çeken odur. Bütün kombinasyonları denemek gibi bir seçenek pratikte yok: k terimli bir sorgunun boş olmayan alt kümesi 2^k - 1 tanedir, dört kelimede bu on beş ayrı sorgu demek.

Filtre kaynaklı boşluk ayrı bir durum. Kullanıcı kutuya bir şey yazmış, üstüne üç filtre işaretlemiş ve sonuç bitmiştir. Hangi filtrenin kaç kaydı elediğini sayfada göstermek, aramayı baştan yazma zahmetini ortadan kaldırır.

Sayfanın kendisi

Boş sayfada ilk gereken, aranan terimin görünür ve düzenlenebilir kalması. Kullanıcı yazdığını göremezse hatasını da göremez. Terim kutuda duruyorsa harfi düzeltip yeniden dener, o kadar.

Öneri sırası ise şöyle kurulur: önce yazım düzeltmesi, sonra gevşetilmiş sorgunun sonuçları, en sonda popüler içerik ya da kategori bağlantıları. Sıra keyfi değil, kullanıcı kendi sorgusuna en yakın olanı tıklıyor, kategori listesi son çare.

Kibar dil bölümünü bilerek sona bıraktım, çünkü etkisi en küçük kısım orası. Aradığınıza uygun bir şey bulamadık cümlesi yeterli, espriye girmek gereksiz risk. Asıl mesele şu ki en nazik metin bile çıkışı olmayan bir sayfayı kurtarmıyor.

Asıl değer sayfada değil, kayıtta

Sıfır sonuç veren sorguların listesi, elinizdeki en ucuz içerik araştırmasıdır. Kullanıcı size hangi kelimeyle geldiğini kendi yazıyor, siz de o kelimenin dizininizde karşılığı olmadığını görüyorsunuz. Haftada bir bu listeyi açmak, çoğu ekibin yapmadığı ama en hızlı geri dönen iş.

Listeden iki tür iş çıkar. Bir kısmı gerçek içerik boşluğudur: insanlar bir şeyi soruyor, siz o sayfayı hiç yazmamışsınız. Kalanı kelime uyuşmazlığıdır: kullanıcı iade diyor, siz ürün geri gönderimi yazmışsınız. İkincisinin çözümü içerik değil, eşanlamlı sözlüğü. Arama tarafında iki kelimeyi eşitlemek, yeni bir sayfa yazmaktan çok daha ucuza gelir.

Erişilebilirlik ve teknik ayrıntılar

Sonuç sayısı sayfa yenilenmeden değişiyorsa, ekran okuyucu kullanan biri bunu duymaz. Sonuç alanını aria-live ile canlı bölge yapıp sıfır sonuç mesajını oraya yazmak gerekir, aksi halde kullanıcı boş bir listenin başında beklemeye devam eder. Aynı şekilde odak, arama sonrasında sonuç alanının başına taşınmalı.

Durum kodu 200 kalmalı, arama boş dönse de sayfa bir hata değil. Buna karşılık bu sayfaları dizine açmanın anlamı yok, robots meta etiketiyle noindex vermek yerinde olur (arama sonucu sayfalarının indekslenmesini hâlâ tuhaf buluyorum).