Поиск информации на сайте

В предыдущем разделе мы рассмотрели общие проблемы поиска. Давайте теперь рассмотрим данный вопрос с точки зрения web-среды, но для начала вспомним особенности web-среды, которые влияют на удобство и скорость поиска:
  • Реализация "клиент-удаленный сервер"
  • Скорость работы браузеров
  • web-технологии
Механизм "клиент-удаленный сервер" позволяет реализовать поиск на основе выборки. Значит, у нас нет возможности "в лоб" реализовать быстрый инкрементный поиск и позиционирование.
Браузер - универсальный интерпретатор. А это по определению низкая скорость работы. Во-первых, потому что обработка информации производится "построчно на лету", во-вторых, потому что универсальный. А универсальность, как известно, - плюс в удобстве и доступности, но минус в скорости и эффективности.
На сегодняшний день web-технологии, по сравнению десятилетием назад, однозначно шагнули вперед. Более того, наблюдается уже достаточно плотная интеграция web-технологий с Windows. Но Web не стандартизирован, и это одно из главных преград на пути его развития. Почему? Потому что новые (и зачастую сложные) технологии могут "продвигать" только грамотные web-разработчики, а обычные предпочитают HTML. С другой стороны, web-не монополизированная среда, как тот же Windows. Это значит, что большое количество разработчиков могут предложить свое видение и решения.
Для организации поиска на сайте необходима связка - "язык программирования-база данных", т.е. на эффективность поиска влияет как реализация самих web-технологий (XML, MySQL, PHP, Perl, AJAX и др.), так и реализация поиска с использованием данных технологий.
С программной точки зрения посетитель может увеличить эффективность поиска путем перехода на более "быстрый" браузер или выбрать тариф с более высокой пропускной способность. Все остальное - задача web-разработчика.

Размещение и оформление области поиска

В зависимости от типа сайта область поиска может находиться на каждой странице сайта, нескольких страницах или на специальной странице. При этом важно понимать, что поиск - это не "украшение" сайта, а необходимый посетителю сервис, который часто неправильно реализуется:
  • Пользователь вводит строку в поле поиска, нажимает кнопку "Найти" и... оказывается в поисковой системе, например, Google или какого-либо чужого интернет-магазина. Я понимаю, что разработчик сайта очень уважает Google или хочет заработать на партнерской программе интернет-магазина, но посетителю-то это зачем? Он пришел на конкретный сайт и хочет найти информацию на этом сайте.
  • Вместо того, чтобы показать информацию о товаре, на странице отображаются фрагменты текста с ссылками на страницы, где встречается название данного товара.
Такие и подобные им ситуации возникают тогда, когда разработчик сайта не понимает, для чего посетителю нужен поиск на сайте. Возникает логичный вопрос, зачем тогда вообще нужен поиск? Потому что он был скопирован с сайта N? Но сайт N - библиотека статей, поэтому там поиск данного типа работает. А в интернет-магазине нужна совсем другая реализация поисковой функции.
Размещение области поиска на всех страницах сайта позволит посетителю производить поиск независимо от того, на какой странице сайта он находится. Чаще всего такой способ используют в интернет-магазинах.
Размещение механизма поиска на нескольких страницах. Этот способ также используется в интернет-магазинах, но чаще всего он получается искуственно. Вы обращали внимание на то, что в некоторых интернет-магазинах отображение информации о товаре или сравнения нескольких товаров происходит в отдельном окне? Иногда такое окно даже не имеет опознавательных знаков, не говоря уже об области поиска. При этом происходит "выпадение посетителя из контекста сайта", но об этом будет рассказано отдельно. В некоторых случаях окно поиска специально убирают с некоторых страниц, например, заполнения формы заказа, считая, что на этой странице пользователь должен уделить внимание только заполнению регистрационных данных, а область поиска - лишнее. Но это также неверное решение.
Размещение области поиска на специальной странице. Я считаю данный вариант не совсем удачным. Во-первых, новый посетитель сразу не видит область поиска, во-вторых, для перехода на страницу поиска с любой другой страницы сайта пользователю необходимо выполнять лишний щелчок. С другой стороны, может возникнуть ощущение, что на сайте можно производить поиск не всей информации, а какой-то определенной ее части. Но зачем тогда нужен поиск? Область поиска занимает мало место на странице и может быть легко размещена в ее шапке. Зачем "прятать" ее на какой-то странице сайта? Если на сайте есть информация для поиска, то почему ее поиск посетитель должен производить с определенной страницы сайта?
Область поиска обычно состоит из 2 элементов управления: поля поиска и справа от него кнопки "Найти", как показано на рис. 1.
Область поиска
Рис. 1. Область поиска.
Под полем поиска можно разместить другие элементы: пример запроса и ссылку на расширенный поиск. В некоторых случаях область поиска комбинируют с основной навигацией и ссылками на сервисы.
Если функция поиск значима для сайта, как в случае с поисковой системой, то область поиска должна хорошо выделяться на странице. Ошибка многих разработчиков состоит в том, что они делают поле поиска очень маленьким. Поэтому посетитель при вводе длинной строки не видит ее полностью, да и не захочет вводить строку. Во многих случаях посетитель вводит название товара полностью и даже может скопировать его из прайс-листа и др., а это могут быть строки от 30-50 символов.
Второй момент - изменение длины строки при изменении размеров окна. Если область поиска небольшая, то она может не менять своего размера, но, если область поиска значительная, и тем более выровнена по центру, то изменение размеров должно осуществляться.
Область поиска должна быть понятной. На рисунке ниже представлена область поиска одной поисковой системы.
Область поиска
Рис. 2. Область поиска.
Когда я первый раз попал на эту страницу, то сразу подумал, что это за кружок с треугольником в левой части области? Это похоже на кнопку поиска. Странно, обычно кнопка расположена справа. Щелк... ничего не произошло. Это не кнопка??? Зачем это здесь?
Давайте посмотрим на прямоугольник с надписью "апорт!". Что это? Здесь должна находиться кнопка "Найти", Что такое "апорт!"? Кажется, это какая-то команда собаке. Интересно, что здесь подразумевается под собакой - поисковая система или посетитель?
Также возникает вопрос, зачем фон поля поиска выполнен градиентом? Потому что так красиво! Но это неудобно, поскольку заливка отвлекает от набора текста в поле! Можете проверить сами!
Теперь посмотрите на эту область 30 секунд. У меня все поплыло перед глазами - надпись на кнопке стала вообще не читаемой.
Я не хочу обидеть web-дизайнера этой области, но, если посетитель, как и я, постарается поскорее уйти с этой страницы, то он будет совершенно прав!
Пример хорошей читаемости области поиска можно посмотреть в Yandex (рис. 1), где желтая полоса-стрела четко различима на странице, а кнопка "Найти" выполнена просто и понятно для посетителей.
На некоторых сайтах кроме текстового поля ввода используется выпадающий список выбора области поиска - "по автору", "по названию " и др. Я считаю, что ограничения области поиска относится к расширенному поиску, поэтому ее использование в области основного поиска не оправдано и затрудняет работу посетителей. Вместо того, чтобы задать строку поиска и произвести поиск, посетителю приходится тратить время на размышления, а какую опцию выбрать, чтобы произвести поиск интересующей его информации? Если посетитель захочет уточнить критерии поиска, то предоставьте ему ссылку "расширенный поиск" для перехода на страницу расширенного поиска, где он может задать столько условий для поиска, сколько посчитает нужным.
Давайте теперь остановимся на том, в каком виде посетителю выводятся результаты поиска. Основных вариантов два: таблица записей для вывода однострочной информации и список текстовых блоков с ссылками на источник. Таблица записей чаще всего используется в том случае, когда необходимо показать посетителю максимально возможное количество найденных записей (без аннотаций к ним). Текстовые блоки используются для отображения фрагмента текста, в котором присутствует запрашиваемая строка, что используется в поисковых системах. Существуют также комбинации этих вариантов, например, название товара с аннотацией и др.
Отображение результатов поиска может быть произведено двумя способами:
  1. Вывести всю найденную информацию на одной странице
  2. Организовать постраничный вывод найденной информации
Постраничный вывод информации
Рис. 3. Постраничный вывод информации.
Отображение всей информации на одной странице удобно, поскольку позволяет просмотреть всю информацию без переключения между страницами. Но выводить информацию высотой более 3-5 экранов - неэффективно. Во-первых, посетитель растеряется, получив большой объем и, скорее всего, не захочет его прокручивать, во-вторых - вывод большого объема займет много времени и трафика. Такая же ситуация возникает в случае вывода какого-либо раздела каталога товаров. Но она отличается от поиска тем, что в некоторых случаях информация в каталоге товара представляет больший интерес для посетителя, чем результаты поиска, поэтому в случае с отображением раздела каталога товаров можно выводить информацию высотой более 3-5 экранов.
Для удобства работы посетителя с результатами поиска существует несколько соглашений, одно из которых - подсветка строки запроса в найденных данных. На рисунке подсвечена (выделена жирным) буква "а". Это позволяет посетителю удостовериться, что искомая строка "а" присутствует в результатах поиска.
Мы рассмотрели лишь небольшую часть вопросов, связанных с оформлением и организацией поиска информации на сайте. Я думаю, что основные идеи поиска и проблематика вопроса Вам понятны. Возможно, в следующей редакции курса этому вопросу будет уделено значительно большее внимание. В заключение теоретической части курса мне хочется рассказать привести несколько практических рекомендаций по разработке удобных и понятных сайтов.
Оглавление
Copyright © 2016