Улучшаем поиск в WordPress

[ ←Вернуться к стандартному виду ]

Печатная версия

На форумах часто встречается вопрос: почему поиск в WordPress не работает или работает «некорректно»?

Здесь я собрала в кучу всю информацию, которая пригодится обладателю блога на WordPress для улучшения встроенного поиска.

1. Встроенный поиск WordPress осуществляет только по постам, но его можно расширить плагинами так, что он будет искать и по страницам (Pages), и по заголовкам, и по alt у картинок, и даже по custom fields. Список некоторых плагинов с краткими аннотациями вы найдете в дневнике у Яны Таран: поиск по WordPress.

Также рекомендую плагин search meter, который позволит видеть, что искали встроенным поиском.

Особое внимание обратите на плагин Search Unleashed.
Это действительно продвинутый плагин, который позволяет искать текст в постах, страницах (Pages), комментариях, заголовках и урлах. Подсвечивает искомое слово как при поиске встроенным поиском, так и слова, в поисках которых пришли посетители на ваш сайт из поисковых систем. Поскольку плагин «не русский», то Yandex в этом списке отсутствует присутствует благодаря Ивану Калинину.
Также возможен продвинутый поиск:

  • с помощью маски, например «красив*» найдет все слова, в которых встречается «красив»: красивая, красивый и т.п.
  • «медвед -превед» найдет все тексты, где встречается слово «медвед» но нет слова «превед»
  • «белка +стрелка» найдет записи, в которых есть оба слова одновременно: и белка и стрелка

2. Вторая причина того, что встроенный поиск работает некорректно — кодировка базы отличается от кодировки блога, на русских хостингах часто бывает так, что блог в utf-8, а callation (сравнение)  cp_1251_general_ci вместо utf8_general_ci.

Что тут можно сделать? Один из вариантов — изменить callation руками везде в базе данных или использовать плагин utf-8 database converter (работает только на wp 2.1 и выше), который сделает это за вас. Советую вам перед использованием плагина прочитать внимательно ридми к нему, особенно если у вас уже много постов в блоге, которыми нельзя рисковать.

Или каким-либо другим способом, не забывая про бекап!

3. Можно не заморачиваться с плагинами и поставить google custom search — если блог некоммерческий, то поиск будет без рекламы, но в общем-то это дело вкуса.


Оставить комментарий »

  1. # Глеб (2) 03.11.2007 в 07:24

    Я кстати тоже писал плагин для поиска wordpress. С учетом русского словообразования, так что если интересно, плагин находится тут и полностью бесплатный, там же показано, как именно он ищет.

  2. # Attlant (1) 03.11.2007 в 16:51

    Соника, спасибо огромадное... Search Unleashed - это то чего я не мог допроситься уже год... ещё раз спасибо!

  3. # Trackback Lecactus Home 04.11.2007 в 19:44

    Умный поиск в WordPress...

    Нашел сегодня у Sonika статью по поводу поиска в WordPress. Понравился плагин Search Unleashed и я его русифицировал.
    Описание можно посмотреть по ссыл...

  4. # Businesstan (3) 04.11.2007 в 22:56

    Скачал Search Unleashed.
    Установил
    Активировал в админке.
    А что дальше?
    На официальном сайте там скриншоты есть, что много настроек.
    Только я их в админке не вижу. шх нигде нет.
    Кроме как в закладке Плагинов больше нигде не упоминается ни одного слова об этом плагине.
    Я даже и не знаю, как реагировать и какой вопрос задать, кроме как "... активировал, а что дальше?"

  5. # sonika (29) 04.11.2007 в 23:48

    Зайти в «управление» — «Search Unleashed»
    нажать кнопки Re-Index
    в том же меню еще 2 вкладки управления плагином.

  6. # Ольга шванова (1) 05.11.2007 в 16:36

    Полезная статейка

  7. # Олеся Петрова (1) 13.11.2007 в 03:48

    Спасибо большое за статью, а то у меня в основном на сайте идут страницы - и поиск тут не срабатывает.

  8. # Stilo (1) 19.11.2007 в 16:27

    Спасибо!
    шнтересный материал... будем править!

  9. # Настя (1) 22.11.2007 в 10:14

    Спасибо за материал, переправим.

  10. # Sergey (1) 30.11.2007 в 12:24

    Спасибо.

    А я пользуюсь поиском гугл. Он ищет и по телу поста, но только в постах проиндексированных гуглом. ш еще можно заработать на контекстной рекламе. Вот думаю, стоит ли менять...

  11. # Эдуард (2) 12.12.2007 в 07:42

    Привет Соника у прочитав твою статью решил сделать поиск установить плагины но работают както не очень если зайдешь на сайт сама увидишь, а вообще пишу тебе не за этим есть один вопрос на который не могу найти ответа: у меня меню развернутое и я никак немогу его свернуть не могла бы ты с этим помочь, буду очень признателен :)
    Заранее очень признателен!

  12. # sonika (66) 12.12.2007 в 20:07

    «Свернуть» wp_list_pages можно дописав параметр depth=1, подробнее тут.
    А что с поиском? По-моему, все нормально ищется.

  13. # Эдуард (2) 13.12.2007 в 02:56

    Огромное спасибо тебе Соника за поисковые плагины и в правду все замечательно работает от только с меню проблема остается вот строчка ну никак не пойму куда и что тут надо вставить :(

    мне советовали установить модуль Fold Page List все сделал
    потом сдесь заменил

    на следующее

    и ничего так не изменилось если ты понимаешь что я ни так делаю помоги пожалуйсто и мне понять а то уже в панике :)

  14. # Abo (1) 13.12.2007 в 15:26

    Search Unleashed хороший плагин, особенно русифицированный

  15. # sonika (300) 14.12.2007 в 00:34

    Послушайте, Эдуард, Вы зачем все это здесь пишете? Абсолютно не по теме статьи. Если Вам нужна помощь по WP, перемещайтесь на один из форумов: сюда или сюда.

  16. # Андрей (2) 17.12.2007 в 16:08

    Я так понял что Search Unleashed ищет только по точным совпадениям, причем даже регистр букв влияет. Потом при неточном совпадении не подсвечитвается ничего а если он находит ссылку по запросу, то она перестает быть ссылкой. Это неудобно.

    2Глеб: а Ваш поиск работает как?

  17. # сонник юлия (1) 30.12.2007 в 16:30

    Что-то не получается помогите разобраться плиз e-mail:felomena.com@list.ru заранее благодарю...

  18. # piod 20.01.2008 в 23:00

    Скачал русскую версию пробую активировать и тут:

    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 238663 bytes) in /home/inrockc/public_html/wp-admin/includes/plugin.php on line 4

    Помогите я не особо разбираюсь в этом(

  19. # sonika (300) 20.01.2008 в 23:27

    piod, я без понятия, что именно Вы качали и где, но в поиск можно было бы и сходить…

  20. # Виктор (1) 11.02.2008 в 02:00

    Search Unleashed -- хороший плагин, но все равно он использует функции стандартного поиска, а в нем у меня проблема: регистр букв для него имеет значение (или это у всех так?) Т.е если пост называется Москва, а искать москва, то этот пост поиск не найдет, даже с прикрученным unleashed. Может сталкивались?

  21. # sonika (300) 11.02.2008 в 11:05

    Виктор, регистрозависимый поиск случается в случае, когда кодировка базы отличается от кодировки блога.

  22. # exay (1) 01.03.2008 в 21:04

    Скажите, у кого была такая проблема:Search Unleashed не находит слова состоящие из трёх букв, напрмер у меня есть на сайте организация с названием МСО , но найти её не возможно. Всё остальное прекрасно находиться. Подскажите что делать

  23. # exay (1) 01.03.2008 в 22:26

    Установил search-everything моу проблему решил. шщет лучше...

  24. # majormo (2) 28.07.2008 в 16:15

    Спасибо !!! Очень интересно!!! Давно икал нормальные поисковые плагины!!!

  25. # majormo (2) 28.07.2008 в 16:16

    олько я их в админке не вижу. шх нигде нет.
    Кроме как в закладке Плагинов больше нигде не упоминается ни одного слова об этом плагине.
    Я даже и не знаю, как реагировать и какой вопрос задать, кроме как “… активировал, а что далького была такая проблема:Search Unleashed не находит слова состоящие из трёх букв, напрмер у меня есть на сайте организация с названием МСО , но найти её не возможно. Всё остальное прекрасно находитьспасибо!

  26. # Марси (1) 27.09.2008 в 15:52

    Соника! подскажите как скачать и установить плагин search meter. у него дан только код..

  27. # sonika 27.09.2008 в 20:04
  28. # biont (1) 08.10.2008 в 10:42

    Соника, прошу Вашей консультации насчет callation.У меня на блоге (WordPress 2.6.2) не работает русский поиск. Поиск по сочетаниям двух слов проводится, а по отдельным словам и фрагментам слов - нет. В то же время с английским поиском все в порядке. Мой блог молодой и пока не очень большой. Хочу все наладить, пока это не стало проблемой. Все попытки решить эту проблему установкой плагинов не помогли. Никто не дал дельный совет, говорят, что с этой проблемой незнакомы. Думаю, что скорее всего эта проблема связана с callation. Основной сайт на win1251, а блог на utf8. От службы технической поддержки хостинга получил ответ - "На данном аккаунте используется MySQL версии 4.0.х, он не поддерживает collation.Насколько я помню, это известная проблема в MySQL до версии 4.1."
    А где надо внести изменения вручную? (в каких таблицах?) Я полагаю, где-то в wp_options.
    Плиз, подскажите.

  29. # sonika (300) 10.10.2008 в 11:25

    biont, я не разбираюсь в особенностях версий mysql. Насчет callation -- зайдите в свою базу данных через phpMyAdmin и измените Сравнение у всех таблиц и всех полей таблиц на utf8_general_ci . На всякий случай сделайте бэкап перед этим.

  30. # Владимир 27.02.2009 в 03:28

    Sonika, помогите, пожалуйста, проблему с плагином Search Unleashed, нигде не могу найти решений.
    на вп 2.7.1 активирован плагин Search Unleashed 0.2.26, через стандартный поиск ищу посты по тегам - результаты выводятся не по релевантности (к примеру, при поиске 3 слов в результатах посты где есть лишь одно из этих слов могут выдаваться выше, чем те посты где имеются полные совпадения), а, насколько я понял, по времени создания поста.
    подскажите, пожалуйста, как можно это исправить?

  31. # noviok 12.03.2009 в 03:24

    Скажите, а сравнение в utf8_unicode_ci вместо utf8_general_ci может вызывать проблемы с регистрозависимостью? Эти таблицы отличаются?

  32. # sonika 12.03.2009 в 18:00

    noviok, не знаю. Для вордпресс рекомендуют utf8_general_ci

  33. # sonika 18.03.2009 в 12:59

    noviok:

    utf8_general_ci от utf8_unicode_ci отличаются тем, что кто-то из них похожие буквы считает за одну (под Европу с умляутами затачивали)

    _http://forum.maxsite.org/viewtopic.php?pid=45075#p45075

  34. # Guaho 12.08.2009 в 10:54

    Подскажите, пожалуйста, как сделать, чтобы поиск осуществлялся только по заголовкам с выводом содержимого, но не по всему контенту?

  35. # AntowaKartowa (2) 09.10.2009 в 21:12

    Подскажите. На всех страницах сайта выводятся публикации из категории Анонсы. На странице поиска колонка анонсов начинает глючить. Или выдает ошибку или дублирует результаты поисковой выдачи.

    До этого получилось избежать такого эффекта изменением движка в настройках Search Unleashed на Wodrdpress default. Очевидно после обновления плагина глюк возобновился и так просто уходить не хочет.

Подписаться на фид.
RSS комментариев к этой записи. | TrackBack URI

Написать комментарий


Все саттелиты — в топку! Даже не сомневайтесь. Для вопросов о вордпресс не по теме поста есть два русскоязычных форума по wordpress.


Warning: Illegal string offset 'solo_subscribe' in /var/www/sonika/data/www/sonika.ru/blog/wp-content/plugins/subscribe-to-comments.php on line 304

Подписаться, не комментируя

[ ←Вернуться к стандартному виду ]

Печатная версия