Как сделать внутренний поиск по сайту
Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня хочу в деталях рассказать о том, как установить и настроить поиск по сайту с помощью Яндекса. В принципе, тут сложного, конечно же, ничего нет, и тот, кто уже устанавливал у себя его или же описанный мною ранее скрипт поиска от Google, это подтвердит.
При желании, к нему можно будет прикрутить и показ объявлений рекламной сети Яндекса, что позволит вам убить сразу двух зайцев — чуток повысить свой заработок в РСЯ и удовлетворить потребности посетителей (что, в свою очередь, улучшит поведенческие факторы и поможет сайту более уверено продвигаться в Топ). Правда, у меня с этой системой контекстной рекламы «не сложилось», а посему я эту возможность дополнительной монетизации не использую.
Но многие вообще даже и не задумываются о том, чтобы улучшить поисковые возможности уже имеющиеся в той CMS, которую они используют. По началу это кажется не так актуально, ибо материалов на молодом проекте обычно еще не много, да и пользователей тоже не ахти сколько. Но вот с увеличением масштабности начинаешь потихонечку задумываться об удобстве этих самых посетителей и о том, что они ушли с вашего проекта так и не найдя нужный им материал (тем более, если таковой имел место быть).
Почему именно поиск для сайта от Яндекса
Да, конечно же, при разработке веб-сайта вы увидите, что практически у всех более-менее уважающих себя движков имеется свой собственный встроенный поисковый скрипт. Но, к сожалению, по качеству и по формату выдачи найденной информации, встроенные в движки поисковики очень сильно проигрывают признанным лидерам — Яндексу и Google.
В плане поиска информации в сети я по-прежнему «уперто» остаюсь приверженцем именно российского поисковика и даже опубликовал статью на тему «вы не любите кошек, потому что не умеет их готовить» «как нужно правильно искать в Яндексе». В основном это объясняется силой привычки, причем многолетней. И пусть говорят, что Гуглом пользуются продвинутые пользователи всемирной паутины, а зеркалом рунета только обыватели. Значит я обыватель, но он мне более по душе. Каждому свое.
Но не смотря на все выше сказанное, на KtoNaNovenkogo.ru довольно долго стоял гугловский поисковый скрипт и на то были свои причины. У меня сейчас используется контекстная реклама от Гугла (Адсенс) и поэтому хотелось соответствовать, чтобы и оттуда шла бы копеечка. Однако, современная инкарнация поискового скрипта от Яндекса мне нравится больше и меркантильность была поборота.
В принципе, установка поиска Яндекса мало чем отличается от получения и установки кода счетчиков посещений, о которых я довольно подробно писал тут и здесь. Сначала нужно будет зайти на страницу онлайн сервиса, который предоставит нам возможность настроить внешний вид и функционал, а затем предложит скопировать код установки этого богатства на свой сайт. Но обо всем по порядку.
Сразу оговорюсь, что есть два сервиса, предоставляющих подобную возможность — Яндекс.Поиск и Яндекс.XML. Но второй вариант это не совсем то, что нам нужно, ибо в этом случае вы просто поисковую строку с главной страницы Yandex.ru перетаскиваете к себе (в этом случае капчу выбивать не будет при большом числе поисковых запросов), а нам нужно искать только по нашему ресурсу или же по небольшой группе.
В общем, возможности второго варианта могут понадобиться в первую очередь каким-нибудь крупным порталам, которые не имея своего собственного поискового движка и будут его использовать. Так сейчас, например, поступает описанный ранее Рамблер, который перестал использовать свой поисковый движок и подключился к зеркалу рунета через XML.
Мастер настройки
Поэтому мы для наших целей воспользуемся услугами первого из приведенных сервисов — Яндекс.Поиск для сайта. На его главной странице вы сможете ознакомиться с теми преимущества, которые вам сулит установка этого скрипта на свой сайт.
Если вы еще не были зарегистрированы ни на одном из сервисов зеркала рунета, то вам придется это сделать, ибо по другому получить код поиска для сайта у вас не получится. Для этого вам достаточно завести почтовый ящик на Яндексе (вспомните, может быть он у вас уже есть, но вы им просто не пользовались), а полученные вами при этом логин (имя почтового ящика) и пароль будут служить ключиками для авторизации, в том числе и на нужном нам сервисе.
Далее вы соглашаетесь с условиями и попадаете в окно первого шага мастера под названием «Область поиска», в которой нужно будет дать ему название и добавить те ресурсы, по которым вы хотите искать:
В поле «Область» вы можете задать до 20 URL, по которым Яндекс будет искать. Можно указывать не только главные страницы своих проектов, но и конкретные разделы. Например, если я захочу добавить только форум, который установлен в папке основного сайта, то мне нужно будет указать примерно такой URL:
http://dfdgh.ru/forum/
Настройка формы и страницы с результатами поиска
Жмете «Далее» и попадаете на второй шаг мастера, где вам нужно будет чуток поколдовать над внешним видом поисковый строки, которую вы потом вставите на свой ресурс.
Можно будет выбирать из трех вариантов рамок (без желтой обводки, прямой угол или заостренный) и двух вариантов кнопок «Найти» (текстовый или графический), задать размер шрифта при вводе запроса и, что примечательно, добавить в поисковую строку вместо логотипа Яндекса другой текст по вашему усмотрению (я именно так и сделал). В области «Предпросмотр» вы увидите ту форму, которую выбрали, во всей красе.
Жмем на кнопку «Далее». В открывшемся окне следующего шага мастера установок будет еще больше, т.к. здесь нам предстоит настроить функционал и внешний вид страницы с результатами поиска по сайту. Самое первое, что вы должны решить — это то, как именно будут выводиться результаты. Возможны два варианта вывода результатов поиска по сайту:
На yandex.ru — в этом случае результаты будут выводиться на отдельной странице, созданной Яндексом. При этом ваши посетители фактически покидают проект, но перейдя по ссылке из результатов поиска они все же на него, скорее всего, вернутся.
К тому же, в настройках вы сможете добавить логотип и нижний колонтитул (типа KtoNaNovenkogo.ru) в одноименных полях, что позволит сделать страницу с результатами, как бы уникальной и относящейся к вашему проекту, но все же второй вариант, который будет описан чуть ниже, мне нравится больше.
Да, к плюсам такого варианта можно отнести еще и то, что вам не нужно будет дополнительно создавать страницу на своем ресурсе, на которой будут отображаться результаты поиска. Но это довольно слабый аргумент, ибо создать новую вебстраницу на любой CMS, в общем-то, не сложно (сложнее это описать, чем сделать).
Показывать на моей странице — при выборе такого способа отображения, эти самые результаты будут выводиться на вебстранице вашего проекта, т.е. внутри шаблона. Мне такой способ нравится больше всего, ибо посетители не уходят с вашего ресурса.
Правда, как я уже говорил выше, вам придется создать новую страницу на вашем же проекте, адрес которой нужно будет вставить справа от поля, где вы поставили галочку
О том, как можно создать новую страницу для отображения в ней результатов, я уже подробно писал в статье про скрипт поиск от Гугла, поэтому повторяться не буду. Но есть нюанс, который я поначалу не учел.
У меня систематически возникают проблемы с периодами сверхвысокой нагрузки на сервер (похоже на ддос — защищался я от него в бесплатном CloudFlare) и в эти периоды сайт работает только благодаря кешу, а админка выдает пятисотую ошибку. Так вот, создав стандартную страницу в WordPress и разместив не ней скрипт от Яндекса, я получил ситуацию, что в редкие моменты запредельной нагрузки поиск по сайту выбивает пятисотую ошибку и вместо «плюса» в юзабилити я получаю таки «минус». Решение пришло в голову неожиданно.
Дело в том, что страница поиска не кешируется хипер кешем и это вполне логично, ибо ее содержимое динамично. Однако, я пошел по другому пути. Я полностью скопировал исходный код «пустой» страницы поиска и создал ее «твердую копию», но уже в обычном формате .html. Ну, а потом просто залил этот файлик в корень сайта.
Эта страничка с успехом открывается при высокой нагрузке, ибо ей для этого не требуется ни PHP, ни база данных. Такой вот финт ушами.
Можете также поиграться с настройками внешнего вида страницы с результатами:
Я, например, задал настройки максимально близкие к тем, что используются при выводе контента на моем блоге для того, чтобы страница с результатами поиска не выделялась на фоне других и выглядела бы органично. Вы вольны настраивать все так, как вам заблагорассудится.
Все, теперь переходите по кнопке «Далее» к четвертому шагу мастера и получаете возможность проверить работоспособность формы и правильность настройки внешнего вида окна с результатами поиска по вашему сайту (просто вводите запрос и смотрите на результаты):
Если все в порядке, то переходите к пятому шагу, а если нет, то возвращайтесь к нужному шагу с помощью левого меню и допиливайте то, что вас не устраивает. Ну, а мы продолжаем.
Как вставить код поиска на сайт
После завершения всех настроек жмете на кнопку «Далее», в результате чего попадаете в окно получения кода поисковой строки (формы) и кода, который вам нужно будет вставить на страницу, где будут выводиться результаты поиска (ее Урл вы указывали на 3 шаге мастера).
Лично я еще поставил галочку в поле «Добавить CSS к коду результатов», чтобы на моей суперлегкооткрываемой страничке было «два в одном», а общий файлик стилей при этом бы не забивался нужной лишь для одной странички информацией. ИМХО.
Собственно, все. Осталось только вставить эти два фрагмента в нужные места шаблона вашего ресурса. Лично я пробовал ставить поисковую строку сразу в два места своей темы оформления WordPress — вверху окна в шапке и внизу под каждой статьей (и под этой тоже). В общем-то, я все сделал точно так же, как было описано в уже не раз упомянутой статье про поиск для сайта от Google.
Что в Joomla, что в WordPress код можно сделать как средствами движка (через админку), так и вставкой скрипта непосредственно в код, отвечающий за формирования определенной области всех (или части) страниц вашего сайта (проблема будет только в том, чтобы отыскать нужный файл в папке с используемой вами темой оформления (шаблоном). Думаю, что разберетесь или воспользуетесь поиском по моему блогу.
Могу разве что только посоветовать по аналогии со мной добавить на страницу с результатами поиска еще и поисковую строку (форму), чтобы посетителям для ввода очередного запроса было сподручнее (привычнее).
Через несколько дней можно будет опять же зайти на сервис Яндекс.поиска для сайтов и посмотреть как обстоят дела со статистикой использования. Для этого достаточно будет перейти из верхнего меню на вкладку «Мои поиски» и выбрать нужный (если будет несколько) из списка.
На открывшейся странице вы сможете изменить те параметры формы поиска и страницы с результатами, которые задали чуть выше, и получить новый код. Но вместе с тем вы сможете посмотреть статистику использования формы поиска и какие запросы чаще всего вводили, а также насколько эффективными были выдаваемые результаты (были или переходы).
Если стата покажется вам несколько печальной, то можно будет попробовать что-то подкрутить на расположенных ниже вкладках левого меню — подсказки, синонимы, уточнения и даже сможете чуток поколдовать над сниппетами :
В общем, есть чем заняться, особливо для владельца коммерческого ресурса, где каждый «чих» клиента может вылиться в покупку (например, авто или чего-то еще дорогого). Для инфоресурса, типа моего блога, колдовать над «местячковой» выдачей, наверное, не шибко целесообразно, но если есть время и желание, то...
Поиск по коммерческому сайту
Зато знаете где особо важно, как будет выглядеть выдача? На сайте интернет-магазина. Там сниппеты, чтобы быть максимально эффективными, должны быть максимально информативными. И не только. Да, должна быть фотка, цена, характеристики и кнопка «Купить». Но еще и возможность сортировки результатов выдачи, например, по релевантности запросу, по дате, по цене и т.п. Вот это будет супер поиск!
И похоже, что эта мечта начинает сбываться. Яндекс запустил (пока еще в бете) поиск по интернет-магазину:
Согласитесь, что вот такой вот вид страницы поиска по вашему интернет-магазину будет куда привлекательнее (а главное — отдача будет на порядок выше), чем классический вариант:
К тому же выдача использует формат JSON (как и для основного поиска), из-за чего ее можно запросто встроить в дизайн сайта, а сам поиск по магазину будет понимать запросы заданные в свободной форме, исправлять ошибки при вводе и опечатки, а также выводить подсказки, распознавать разные варианты написания названий и многое другое. В общем, лепота.
Думаю, что стоит потратить время на то, чтобы со всем этим богатством разобраться и как можно быстрее прикрутить к своему интернет-магазину (настраивается просто и работает на основе наверняка уже у вас использующегося YML-файла). У меня пока, к сожалению, нет под рукой «подопытного», поэтому деталей сего процесса описать не могу. Но суть та же — получаете код формы поиска и страницы с результатами, а затем вставляете их на сайте магазина в нужные места.
Комментарии и отзывы (10)
"Почему Гуру не используют Контекстную рекламу Яндекса и Гугля "
да используют еще как, но это совершенно не красит сайт а только лишь монетизирует его. Вам нравится реклама по ТВ ? Для юзера реклама на сайте выглядит также!(
Полезное расширения для блога, но если бы еще Яндекс стимулировал/поощрял владельцев сайтов/блогов за использование своей поисковой формы, как это делает гугл, по-моему, сервис развился бы куда быстрее.
Очень точно описан механизм, шаг за шагом. Сделал все так же, спасибо автору. Только теперь страница поиска появилась на блоге вместе с другими ( главная, о блоге, карта сайта...). Кто знает, как убрать оттуда, или навсегда?
Вы не знаете, нужно ли закрывать результаты поиска яндекса на сайте от индексации?
Спасибо за интересный и полезный пост! Интересно было почитать!
Sergio: я закрываю (в роботс.тхт), ибо такие рекомендацию дают сами поисковики
Дмитрий, подскажите, пожалуйста, как Вы реализовали условие, при котором я могу вбить в поисковую строку браузера название Вашего сайта, затем сделать пробел, после чего адрес превращается в блок с текстом «Искать на... ktonanovenkogo.ru» и дальше можно вбивать запрос, поиски которого будут проходить уже в пределах Вашего сайта?
Или это результат именно установки на сайте поиска от Яндекса?
Заранее спасибо за ответ.
С уважением,
Сергей
Почему тут не написано как подтвердить права доступа?
Сейчас опять поиск о Гугла 🙂 Меркантильность таки победила?
Были подозрения на то, что сайт тупит у пользователей из Украины в силу блокировки у них некоторых сервисов Яндекса. Так это или нет — точно не известно. Но социальные кнопки от Яндекс и поиск на всякий случай заменил.
Если знаете, как отключить рекламу в выдаче местного поиска от Гугла, то буду признателен 🙂 Он нерентабельный...
Ваш комментарий или отзыв