Улучшаем поиск в 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 — если блог некоммерческий, то поиск будет без рекламы, но в общем-то это дело вкуса.
Подскажите. На всех страницах сайта выводятся публикации из категории Анонсы. На странице поиска колонка анонсов начинает глючить. Или выдает ошибку или дублирует результаты поисковой выдачи.
До этого получилось избежать такого эффекта изменением движка в настройках Search Unleashed на Wodrdpress default. Очевидно после обновления плагина глюк возобновился и так просто уходить не хочет.
Подскажите, пожалуйста, как сделать, чтобы поиск осуществлялся только по заголовкам с выводом содержимого, но не по всему контенту?
noviok:
_http://forum.maxsite.org/viewtopic.php?pid=45075#p45075
noviok, не знаю. Для вордпресс рекомендуют utf8_general_ci
Скажите, а сравнение в utf8_unicode_ci вместо utf8_general_ci может вызывать проблемы с регистрозависимостью? Эти таблицы отличаются?
Sonika, помогите, пожалуйста, проблему с плагином Search Unleashed, нигде не могу найти решений.
на вп 2.7.1 активирован плагин Search Unleashed 0.2.26, через стандартный поиск ищу посты по тегам — результаты выводятся не по релевантности (к примеру, при поиске 3 слов в результатах посты где есть лишь одно из этих слов могут выдаваться выше, чем те посты где имеются полные совпадения), а, насколько я понял, по времени создания поста.
подскажите, пожалуйста, как можно это исправить?
biont, я не разбираюсь в особенностях версий mysql. Насчет callation — зайдите в свою базу данных через phpMyAdmin и измените Сравнение у всех таблиц и всех полей таблиц на
utf8_general_ci. На всякий случай сделайте бэкап перед этим.Соника, прошу Вашей консультации насчет callation.У меня на блоге (Wordpress 2.6.2) не работает русский поиск. Поиск по сочетаниям двух слов проводится, а по отдельным словам и фрагментам слов — нет. В то же время с английским поиском все в порядке. Мой блог молодой и пока не очень большой. Хочу все наладить, пока это не стало проблемой. Все попытки решить эту проблему установкой плагинов не помогли. Никто не дал дельный совет, говорят, что с этой проблемой незнакомы. Думаю, что скорее всего эта проблема связана с callation. Основной сайт на win1251, а блог на utf8. От службы технической поддержки хостинга получил ответ — «На данном аккаунте используется MySQL версии 4.0.х, он не поддерживает collation.Насколько я помню, это известная проблема в MySQL до версии 4.1.»
А где надо внести изменения вручную? (в каких таблицах?) Я полагаю, где-то в wp_options.
Плиз, подскажите.
Соника! подскажите как скачать и установить плагин search meter. у него дан только код...
олько я их в админке не вижу. шх нигде нет.
Кроме как в закладке Плагинов больше нигде не упоминается ни одного слова об этом плагине.
Я даже и не знаю, как реагировать и какой вопрос задать, кроме как “… активировал, а что далького была такая проблема:Search Unleashed не находит слова состоящие из трёх букв, напрмер у меня есть на сайте организация с названием МСО , но найти её не возможно. Всё остальное прекрасно находитьспасибо!
Спасибо !!! Очень интересно!!! Давно икал нормальные поисковые плагины!!!
Установил search-everything моу проблему решил. шщет лучше...
Скажите, у кого была такая проблема:Search Unleashed не находит слова состоящие из трёх букв, напрмер у меня есть на сайте организация с названием МСО , но найти её не возможно. Всё остальное прекрасно находиться. Подскажите что делать
Виктор, случается в случае, когда кодировка базы отличается от кодировки блога.