Plugin Search Meter

Oprek Plugin Search Meter

Oprek ini cuma mau ngejawab pertanyaan dari salah satu pengunjung blog Jevuska mengenai cara mengganti special character %20 atau spasi yang muncul dari struktur permalink plugin Search Meter buatan Bennett McElwee. Tanda %20 atau spasi akan digantikan dengan tanda “+” (Plus), misalnya seperti ini www.example.com/search/blog%20jevuska menjadi www.example.com/search/blog+jevuska

Cara oprek plugin Search Meter versi 2.7.3 untuk membentuk struktur permalink seperti contoh di atas adalah sebagai berikut:
1. Buka editor plugin kamu pada file search-meter.php.

2. Tambahkan 2 fungsi kode berikut pada line 132 atau di atas fungsi kode function sm_get_relative_search_url($term)

function hapus_karakter($term) { //fungsi hilangkan semua spesial karakter pada keyword
	$term = strip_tags($term);
	$term = preg_replace('/&.+?;/', '', $term);
	$term = preg_replace('/\s+/', ' ', $term);
        $term = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', ' ', $term);
	$term = preg_replace('|-+|', ' ', $term);
        $term = preg_replace('/&#?[a-z0-9]+;/i','',$term);
        $term = preg_replace('/[^%A-Za-z0-9 _-]/', ' ', $term);
	$term = trim($term, ' ');
	return $term;
}
function gantispasi_tanda($term) { //fungsi ubah spasi %20 jadi tanda plus pada permalink search
$term = strtolower($term);
	$term = preg_replace('/&.+?;/', '', $term);
	$term = preg_replace('/\s+/', '+', $term);
        $term = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '+', $term);
	$term = preg_replace('|-+|', '+', $term);
        $term = preg_replace('/&#?[a-z0-9]+;/i','',$term);
        $term = preg_replace('/[^%A-Za-z0-9 _-]/', '+', $term);
	$term = trim($term, '+');
	return $term;
}

3. Cari kode $relative_url = str_replace(‘%search%’, rawurlencode($term), $structure); dan ganti kode rawurlencode($term) di dalamnya menjadi gantispasi_tanda(hapus_karakter($term)), jadinya seperti ini $relative_url = str_replace(‘%search%’, gantispasi_tanda(hapus_karakter($term)), $structure);

4. Jika kamu mau menambahkan extensi (misal .html) untuk struktur permalinknya, kamu tinggal menambahkan ekstensinya pada kode $relative_url = str_replace(‘%search%’, gantispasi_tanda(hapus_karakter($term)), $structure);, jadinya seperti ini $relative_url = str_replace(‘%search%’, gantispasi_tanda(hapus_karakter($term)), $structure).’.html’;
5. Save pekerjaan kamu dan coba lihat hasilnya.
Happy coding sob! :)

Please Note
– Plugin search meter menyimpan keyword pencarian dalam table database, jadi siap-siap aja overload jika kamu punya banyak trafik.
Penggantian kata “search” (untuk struktur permalink search result) pada rewrite.php dalam file core wp-nya akan secara otomatis dibaca oleh plugin ini. Jadi kamu nggak perlu repot lagi mengganti kata “search” dalam pluginnya.
– Kalo kamu mau membentuk struktur permalink menjadi tanda “-” kamu tinggal mengubah semua tanda “+” pada fungsi function gantispasi_tanda di atas.
– Untuk WP.3.x, akan muncul tanda plus pada title-nya, begitu pula pada search box dan keyword widgetnya. Cara menghilangkan tanda “+” tersebut, kamu bisa baca di Solusi menghilangkan tanda Plus atau Minus di Title Search WP 3.0 +.

21 Replies to “Oprek Plugin Search Meter”

  1. om jev kl buat plugin Recent Searches Widget gmn ngopreknya…

    om jev
    kl buat plugin Recent Searches Widget
    gmn ngopreknya biar bisa /xxx-bbb-ccc.html
    bingung hehehehe
    siapa tau om jev gk sibuk jadi bisa bantu

  2. om.. kalo oprek plugin RECENT SEARCH :D soalnya permalinknya seperti…

    om.. kalo oprek plugin RECENT SEARCH :D soalnya permalinknya seperti ini boss:

    http://vanovic.com/key+key+key

    supaya menjadi http://vanovic.com/key-key-key.html

    • Kalo pake tanda minus pada pemalinknya fungsi di atas jadinya…

      Kalo pake tanda minus pada pemalinknya fungsi di atas jadinya kayak gini:

      function hapus_karakter($term) { //fungsi hilangkan semua spesial karakter pada keyword
      	$term = strip_tags($term);
      	$term = preg_replace('/&.+?;/', '', $term); 
      	$term = preg_replace('/\s+/', ' ', $term);
              $term = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', ' ', $term);
      	$term = preg_replace('|-+|', ' ', $term);
              $term = preg_replace('/&#?[a-z0-9]+;/i','',$term);
              $term = preg_replace('/[^%A-Za-z0-9 _-]/', ' ', $term);
      	$term = trim($term, ' ');
      	return $term;
      }
      function gantispasi_tanda($term) { //fungsi ubah spasi %20 jadi tanda plus pada permalink search
      $term = strtolower($term);
      	$term = preg_replace('/&.+?;/', '', $term); 
      	$term = preg_replace('/\s+/', '-', $term);
              $term = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '-', $term);
      	$term = preg_replace('|-+|', '-', $term);
              $term = preg_replace('/&#?[a-z0-9]+;/i','',$term);
              $term = preg_replace('/[^%A-Za-z0-9 _-]/', '-', $term);
      	$term = trim($term, '-');
      	return $term;
      }
      

      terus ganti kode

      $relative_url = str_replace('%search%', rawurlencode($term), $structure);

      dengan kode ini

      $relative_url = ''.gantispasi_tanda(hapus_karakter($term)).'.html';
  3. kalau untuk nambahin fungsi banned key gimana ya?

    kalau untuk nambahin fungsi banned key gimana ya?

    • coba kode berikut untuk <strong>function hapus_karakter</strong> <code>function hapus_karakter($term) { //fungsi…

      coba kode berikut untuk function hapus_karakter

      function hapus_karakter($term) { //fungsi hilangkan semua spesial karakter pada keyword
      $term = strip_tags($term);
      $term = preg_replace('/&.+?;/', '', $term);
      $term = preg_replace('/\s+/', ' ', $term);
      $term = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', ' ', $term);
      $term = preg_replace('|-+|', ' ', $term);
      $term = preg_replace('/&#?[a-z0-9]+;/i','',$term);
      $term = preg_replace('/[^%A-Za-z0-9 _-]/', ' ', $term);
      $deletkata = array("key","key","key"); //banned key - ganti kata key dengan badword
      $term = str_ireplace($deletkata, '', $term);
      $term = trim($term, ' ');
      return $term;
      }

      Moga berhasil yach :)

      • naruhnya setelah kode apa Om :)

        naruhnya setelah kode apa Om :)

        • kode ini aja yang ditambahkan pada function hapus_karakter <code>$deletkata =…

          kode ini aja yang ditambahkan pada function hapus_karakter
          $deletkata = array("key","key","key"); //banned key - ganti kata key dengan badword
          $term = str_ireplace($deletkata, '', $term);

          jadinya seperti kode di atas.

  4. om jev, aku barusan make plugin ini tapi sepertinya ko…

    om jev, aku barusan make plugin ini tapi sepertinya ko plugin ini cuma menampilkan search yg hasil pencariannya sukses ya? yg hasil pencariannya ga ada post di blogku ga nongol…gmn biar semua recent querynya bisa nongol semua ya om he3

    makasi banyak sebelumnya

    • Sama om pertanyaannya, kalau mau munculin keyword yg tidak sucses…

      Sama om pertanyaannya, kalau mau munculin keyword yg tidak sucses gemana om? Soalnya search.phpnya AGC..

      • Ngoprek lagi deh. Gini aja gampangnya, bagaimana kalo om menawarkan…

        Ngoprek lagi deh. Gini aja gampangnya, bagaimana kalo om menawarkan plugin Recent Searches widget
        Sukses nggak sukses, pasti sukses

        • Makasih banyak om,, cuma bisa bilang “Prikitiwe”

          Makasih banyak om,, cuma bisa bilang “Prikitiwe”

  5. Om, bisa oprek plugin recent search widget yang dari Daniel…

    Om, bisa oprek plugin recent search widget yang dari Daniel Fru?y?ski biar bisa ditambah prefix .html atau .php nya dibelakang?

    • Om sudah pernah pake nih plugin, 1 word “ganas” :)…

      Om sudah pernah pake nih plugin, 1 word “ganas” :)
      nanti yah om coba oprek, btw emang plugin ini compatible ama wp versi 3.0.1 ?

  6. Thanks om atas tutorialna.. Saya sudah install plugin ini, dan…

    Thanks om atas tutorialna..
    Saya sudah install plugin ini, dan oprek dengan script php yg om rekomendasikan. tapi di web saya search querynya koq ndak tercatat yah? apa karna halaman web saya sepenuhnya AGC? saya gunakan plugin ini untuk website pdf search engine.
    Mohon pencerahannya om :).

    Thanks

    • Kemungkinan pengaruh cache sob :)

      Kemungkinan pengaruh cache sob :)

  7. Bang Jev, untuk fungsi hilangkan special karakter kok tidak bisa…

    Bang Jev,
    untuk fungsi hilangkan special karakter kok tidak bisa hilangkan tanda % ya.

    • coba tambahkan kode ini pada <code>function hapus_karakter</code> <code>$term =str_replace('%', '',…

      coba tambahkan kode ini pada function hapus_karakter
      $term =str_replace('%', '', $term);

  8. Wah mantafff… terima kasih banyak atas petunjuknya om Jev… segera…

    Wah mantafff… terima kasih banyak atas petunjuknya om Jev… segera saya coba :D

    Best regards
    Andri

  9. Om Jev, terima kasih atas oprek coding search meternya… saya…

    Om Jev, terima kasih atas oprek coding search meternya… saya cek di php my admin memang benar ternyata search meter ini menyimpan semua kalimat pencarian yang terjadi disana… yang saya ingin tanyakan, bisakan kita menginjek suatu grup kalimat / kata yang berjumlah ratusan – ribuan ke dalam database search meter tersebut untuk melipat gandakan index / cache? kalau bisa boleh tunjukkan caranya om?

    Terima kasih.

    • Bisa kok, kamu tinggal donlot dulu table databasenya (export dalam…

      Bisa kok, kamu tinggal donlot dulu table databasenya (export dalam betuk csv for MS excel), kemudian buka filenya, dan injek dech. Lalu lakukan impor kedalam table tersebut. Jangan lupa untuk back-up dulu table yang kamu mau inject. Have try sob :)

Leave a Reply

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]

*

*