• 11-09-2015, 15:03:46
    #10
    Joomla'da arama sayfası ile ilgili olan bileşenin adı "search" ve components içindeki com_search klasörü bileşen dosyalarımızı saklıyor. Bu klasörü açtığınızda iki adet klasör var birisi models diğeri views. Veritabanı ile ilgili işlemler models klasöründe yapılıyor ancak bizim bu klasör ile bir işimiz yok. Diğer klasörümüz yani views ise sonuçların gösterildiği sayfalar ile ilgili olan klasör. Şimdi views klasörünün içeriğine girin. Yine bu klasörün içindeki search klasörünün içine girin.

    Ben editör olarak Notepad++ kullanıyorum ve 56. ve 61. satırda şu şekilde bir satır var:

    $params->set('page_title', JText::_('COM_SEARCH_SEARCH'));
    Bu satır tarayıcının başlığının atamasının yapıldığı yer. HTML kodlarındaki <title> taglarını temsil eden yer olmuş oluyor. Burada kullanım şeklinize göre her iki satırdan birisini kullanıyor Joomla. Peki fark nedir hangisini kullanacaksınız buna sizin karar vermeniz gerek. Eğer arama linkini bir menüde belirtti iseniz menü ayarlarında sayfa başlığı ile ilgili bir yer var. Buraya bir şeyler yazdı iseniz o gelir yok eğer yazmadı iseniz 56. satır ve 61. satır kullanılır. Detayları öğrenmeyi seviyorsanız Joomla SEO derslerinde bu konudan bahsedeceğiz şimdilik idare edin

    Burada bize lazım olan şey siteyi ziyaret eden kişinin hangi kelime veya cümle ile arama yaptırdığı. Bu değeri model'den alıyoruz ancak bizim ekstra bir şey yapmamıza gerek yok çünkü Joomla zaten 42. satırda:

    $searchword = $state->get('keyword');
    ile $searchword değişkeni ile modelden view'e taşınmış. İşte bu değişkeni her yerde kullanacağız 56. ve 61. satırları aşağıdaki gibi değiştirin:

    $params->set('page_title', $searchword. ' '.JText::_( 'COM_SEARCH_SEARCH'));
    Arama kutusuna seo yazıp Ara butonuna basınca artık sonuçlar değişecek.

    Burada seo kelimesinden sonra gelen Arama kelimesinin kaynağı dil dosyası. Language klasöründe tr-TR klasörü içindeki tr-TR.com_search.ini dosyasındaki COM_SEARCH_SEARCH="Arama" satırından geliyor. Eğer isterseniz dil dosyasından değişiklik yapabilirsiniz ya da 56. ve 61. satırlardaki JText::_('COM_SEARCH_SEARCH') yerine tek tırnaklar içinde istediğiniz cümleyi yazabilirsiniz. Daha fazla şey yapılabilir ancak işi uzatmamak adına meta'lara geçiyorum.

    Sayfa kaynağında bulunan Meta Keywords ve Meta Description kısımlarında düzenleme yapalım. Description satırı 79. satırda yer alıyor:

    $this->document->setDescription($params->get('menu-meta_description'));
    Bu satırda eğer menü ayarlarında Meta Description tanımlandı ise o tanımlanan değeri Description'a atama işlemi yapar. Doğal olarak biz arama kelimemiz ile birleştirme yapacağız. Sonuç aşağıdaki gibi olmalıdır:

    $this->document->setDescription($searchword.' '.$params->get('menu-meta_description'));
    84. satırda ise Meta Keywords var ve önceki hali şu şekilde:

    $this->document->setMetadata('keywords', $params->get('menu-meta_keywords'));
    Eğer menü ayarlarında tanımlanmış olan keywords var ise o bilgileri çekiyor ve Keywords için atama yapılıyor. Arama kelimemizi eklediğimizde sonuç şu şekilde olacak:

    $this->document->setMetadata('keywords',$searchword.' '.$params->get('menu-meta_keywords'));
    Herhangi bir eklenti kullanmadan ancak kodlara müdahele ederek bu işlemi çözebilirsiniz. Burada dikkat edeceğiniz şeyler güncellemeler olacaktır. Eğer com_search bileşeninde bir değişiklik yapılırsa sizin düzenleme yaptığınız dosyada güncellenebileceğinden yaptıklarınız boşa çıkabilir.

    Joomla Arama Sonuçları'nda Seo

    Biraz daha geniş anlatım için yukarıdaki linki inceleyebilirsiniz.
  • 11-09-2015, 15:05:16
    #11
    joomla eklenti dizininde search yazarak bulabilirsin.
  • 14-09-2015, 09:33:02
    #12
    Hocam Çok Güzel ve Faydalı bir yazı olmuş çok teşekkür ederim.