mysurik.ru

Стандартный поиск в WordPress никуда не годится: как я исправил

06 19 58

Ох, стандартный поиск в WordPress. Это, пожалуй, одна из тех вещей, которые я терпел дольше всего и зря. Потому что он отвратителен. Ищет только по полному совпадению, не понимает морфологию, не умеет ранжировать результаты. Ты пытаешься найти «настройка сервера» — а он выдаёт только те страницы, где эти два слова стоят рядышком. Всё. Привет.

Я долго терпел и надеялся, что WordPress исправит это сам. Не исправил. А потом я залез в статистику и понял, что двадцать процентов посетителей пользуются поиском на сайте. Люди реально ищут! А поиск при этом работает отвратительно. Вот тогда я и взялся за исправление. Расскажу, как это было.

Почему стандартный поиск — боль

Давайте разберём, чем именно стандартный поиск плох. Первое — он ищет по полному совпадению слов. Написал «сервер» — он найдёт «сервер», но не найдёт «серверы», «сервера», «сервером». Русский язык же богатый, слово меняется в каждой форме. А поиск этого не понимает. Классика.

Второе — он не ранжирует результаты. То есть выдача — это просто всё подряд, без приоритетов. Никакого «самое релевантное сверху». Пользователь видит кучу записей и не понимает, что ему открывать. Третье — скорость и формат: просто список ссылок без превью и подсветки. Всё это — боль.

Момент Икс: цифры в статистике

Переломным моментом стала статистика. Я сидел в аналитике, смотрел, как люди пользуются сайтом, и вдруг увидел: двадцать процентов посетителей используют поиск. Двадцать! Я был уверен, что процента три, не больше. Оказалось, каждый пятый заходит и сразу ищет что-то через поисковую строку.

И вот тут меня осенило: я годами кормил людей кривым инструментом. Люди хотят найти мои статьи, а поиск их тупо не находит. Я теряю посетителей на ровном месте. После этого я решил: хватит терпеть, буду чинить. И начал искать решение.

Что я рассматривал

Сначала я посмотрел в сторону серьёзных решений вроде Elasticsearch. Это мощная поисковая машина, которую ставят большие сайты и магазины. Она умеет всё: морфологию, ранжирование, скорость. Но, честно говоря, для моего блога это оверкилл. Ставить целую инфраструктуру ради поиска по нескольким сотням статей — перебор.

Elasticsearch требует серверных ресурсов, настройки, обслуживания. Это как купить трактор, чтобы вскопать грядку. Я не говорю, что он плох — для крупных проектов он отличен. Но мне нужно было лёгкое решение, которое решит проблему здесь и сейчас. И я его нашёл.

Как я решил проблему

Остановился я на плагине Ivory Search. Он заменяет стандартный поиск WordPress на умный. Ищет по морфологии — то есть учитывает разные формы слов. Показывает превью результатов, чтобы человек сразу видел, куда он попадёт. Подсвечивает совпадения в тексте. И при этом работает быстро, без тяжёлой инфраструктуры.

Установил, настроил, заменил форму поиска. Первая же проверка меня порадовала: «настройка сервера» нашла все нужные статьи, включая те, где слова стоят в разных падежах. Вот это поиск! За пятнадцать минут я получил то, чего ждал годами. Иногда решение бывает проще, чем кажется.

Настройка Ivory Search

Расскажу, как я его настраивал. После установки плагин предлагает свои формы поиска — красивые, с иконками, готовые к использованию. Я выбрал форму, заменил ею стандартную. Потом прошёлся по настройкам: включил поиск по морфологии, добавил превью результатов, настроил подсветку совпадений.

Ещё приятный бонус — плагин показывает результаты в виде карточек с картинками, если у статьи есть изображение. Выглядит современно и привлекает внимание. Посетитель видит не серый список ссылок, а аккуратные карточки. Мелочь, но восприятие сайта меняется. Я был доволен как слон.

Про форму поиска в шапке

Отдельно скажу про место для поиска. Мало поставить умный поиск — нужно, чтобы до него было легко добраться. Я вывел форму поиска в шапку сайта. Она теперь всегда на виду, не надо искать по страницам. Люди привыкли искать через поиск, и если его не видно или он плохо работает — они уходят.

Проверьте себя: есть ли у вас форма поиска на видном месте? Если нет — добавьте. Это минутное дело, а для посетителей большая разница. Я заодно добавил подсказки в поле поиска, чтобы человек понимал, что сюда можно писать. Мелочи, но они складываются в удобство.

Результаты после замены

Через пару недель я посмотрел на метрики. Люди стали чаще находить нужные статьи через поиск, глубина просмотра выросла. Не скажу, что это магия, но тенденция приятная. И что важно — ушло раздражение. Я сам теперь пользуюсь поиском на сайте и нахожу всё, что нужно. Вот и весь результат.

Кстати, ещё замечаю: поисковые запросы с сайта мне подсказывают, о чём писать дальше. Люди ищут темы, которых у меня нет, — и я вижу этот спрос. Так что умный поиск стал для меня ещё и источником идей для контента. Два в одном, приятно.

Как понять, что поиск подводит

Прежде чем чинить, стоит убедиться, что проблема действительно есть. Я понял это по двум признакам. Первый — большое количество запросов с сайта в статистике, но при этом маленькая глубина просмотра: люди что-то ищут и уходят, не найдя. Второй — я сам, тестируя поиск, не мог найти свои же статьи по естественным запросам.

Попробуйте и вы: задайте поиск на своём сайте так, как задал бы обычный человек. Не «плагин», а «как настроить плагины» или «плагины для оптимизации». Если поиск не находит то, что должно находиться, — проблема есть. И её стоит решать, а не закрывать глаза.

Почему морфология так важна для русского

Отдельно про морфологию, потому что для русского языка это критично. В английском слова почти не меняются, а вот в русском одно слово имеет десятки форм. «Сервер», «сервера», «сервером», «серверы» — это одно и то же понятие, но для стандартного поиска это разные слова.

Пользователь пишет «настройка сервера», а в статье написано «настроил серверы». Стандартный поиск не свяжет эти формы и не покажет статью. А умный поиск с морфологией — покажет. Вот почему для русскоязычного сайта это не «приятная фича», а необходимость. Без неё поиск бессмысленен.

Что ещё умеет Ivory Search

Расскажу про пару функций, которые меня приятно удивили. Плагин умеет искать по разным типам контента: посты, страницы, продукты, пользовательские типы записей. Если у вас на сайте, например, товары или портфолио — он всё это проиндексирует и найдёт. Я думал, он умеет только статьи, а оказалось — шире.

Ещё он умеет фильтровать поиск: по категориям, по датам, по автору. Можно сделать так, чтобы поиск по блогу не показывал товары, и наоборот. Настраивается галочками. Мне такое не очень нужно, но если ваш сайт разнородный — пригодится. Гибкость на уровне, и без кода.

Скорость и нагрузка

Кто-то спросит: а не замедлит ли плагин сайт? Проверял — нет. Ivory Search работает быстро, он не тащит за собой тонну скриптов и запросов. Поиск у меня выполняется мгновенно, даже на длинных запросах. Я сравнил скорость загрузки до и после — разница в пределах погрешности.

Конечно, на огромных сайтах с миллионами записей ему может стать тесно. Но для блога и сайта среднего размера — отличный выбор. И он явно легче, чем поднимать Elasticsearch ради той же задачи. Простое решение, которое закрывает проблему без лишней сложности.

Виджет поиска и мобильная версия

Не забывайте про мобильные устройства — на них поиск нужен даже больше, чем на десктопе. На телефоне люди не листают меню, а сразу ищут. Я проверил, как выглядит моя форма поиска на мобильном: крупная, удобная, с клавиатурой. Если у вас форма поиска мелкая или прячется — исправьте. Это базовое удобство.

Ещё момент: поиск можно добавить в виджет боковой колонки. Я вывел и туда, на всякий случай. Кто-то привык искать из шапки, кто-то — из сайдбара. Пусть будет и там, и там. Лишним не будет. Главное — чтобы до поиска можно было добраться в два клика максимум.

Почему я не поставил Elasticsearch

Объясню подробнее, почему отказался от Elasticsearch, раз уж зашла речь. Это мощный инструмент, но он требует отдельного сервиса на сервере, памяти, настройки и обслуживания. Для блога с несколькими сотнями статей это как из пушки по воробьям. Я ценю простоту и не хочу тащить инфраструктуру ради задачи, которую решает плагин.

Решение — это не всегда самый мощный инструмент. Часто лучший инструмент — тот, который решает задачу без лишней возни. Ivory Search решает мою задачу на сто процентов. Elasticsearch остался для больших проектов. Если ваш сайт вырастет в разы — вот тогда и посмотрите в его сторону.

Ошибки, которые я совершил при настройке

Расскажу и про свои косяки, чтобы вы их избежали. Первая ошибка — я оставил старую форму поиска на месте, а новую добавил рядом. Получились две формы: одна умная, вторая старая. Посетители пользовались и той, и другой, и результаты отличались. Пришлось разбираться и убирать старую форму отовсюду.

Вторая ошибка — я не проверил поиск после обновления плагина. Обновление сбросило часть настроек, и поиск на пару дней вернулся к стандартному. Понял по жалобам в отзывах. Теперь после каждого обновления прогоняю поиск по паре запросов. Советую и вам так делать: пять минут проверки спасают от регресса.

Итог

Стандартный поиск WordPress не годится для реального использования. Я это проверил на себе: двадцать процентов посетителей искали и не находили. Решил проблему через плагин Ivory Search — он ищет по морфологии, показывает превью и подсвечивает совпадения. Быстро, без Elasticsearch и лишней возни. Рекомендую.

План для ленивых:

  • Проверь, пользуются ли поиском на твоём сайте (статистика).
  • Стандартный поиск WP не понимает морфологию — не терпи это.
  • Поставь плагин Ivory Search и замени им стандартный поиск.
  • Включи поиск по морфологии, превью и подсветку совпадений.
  • Выведи форму поиска в шапку или виджет.
  • Не бери Elasticsearch для маленького блога — оверкилл.

Больше статей про WordPress — от установки до продвижения — я собрал в сводном гайде. Там всё, что я наковырял, честно и без воды.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *