Если ваш сайт хорошо проиндексирован Яндексом, но по какой-то причине не можете пользоваться встроенным поисковым механизм, можно настроить поиск с помощью этого популярного сервиса.
Мы не будем рассматривать такие механизмы, как Яндекс.XML или Яндекс.Server, а возьмем для своих целей простое пользовательское решение без необходимости править шаблон или писать какой-то код, которое называется Яндекс.Сайт.
Подготовка сайта
Сначала подготовим наш drupal-сайт к приему нового поиска.
Проверьте, что включены модули Path и PHP filter.
Создайте новый материал типа «Страница» (node/add/page) или любой другой. Выберите фильтр ввода — PHP filter. Задайте ему заголовок и псевдоним (путь, алиас, адрес). Например, «yasearch». Запомните его — впоследствии мы скормим его Яндексу.
Создание поиска
Откройте новое окно браузера. Зайдите на страницу http://site.yandex.ru/. Там вы увидите краткую инструкцию из трех шагов, которые вам нужно будет сделать. Нажмите кнопку «Установить поиск» и пройдите все шаги несложного мастера. Укажите, что хотите получать результаты поиска в плавающем фрейме (iframe) и укажите адрес результатов поиска (например, www.example.com/yasearch). Цветовую гамму и размеры шрифтов выберите на свой вкус.
В итоге на последнем шаге мы должны получить 2 фрагмента кода. Первый фрагмент выводит форму, второй отвечает за вывод результатов поиска.
Установка на сайт
Скопируйте оба фрагмента в созданную нами ранее страницу на сайте один под другим и сохраните. Собственно, это все.
У меня получилось вот так:
Вживую: http://www.nightslavyansk.ru/yasearch
По желанию можно вставить код формы для поиска не на страницу, а в блок и настроить его вывод в том или ином месте. Кроме того, можно произвольно отредактировать код формы для придания тому благообразного вида.
После установки вы сможете давать ссылки на результаты поиска по тому или иному поисковому выражению типа таких: http://www.example.com/yasearch?searchid=121606&text=ВсякиеСловаДляПоиска
Спасибо Химическому Али за подсказку.
Комментарии
полезно! как раз планировал поиск какой-нибудь замастрячить, поглядываю на sphinx, но пока воспользуюсь этим решением. спасибо!
Спасибо, пригодилось!
отмечу, что код для поисковой формы предоставляемый яндексом засран кучей стилей (для кучи браузеров)
можно почистить
PHP filter лучше применять только для отладки, а на рабочем сайте его отключать - в большинстве случаев он не нужен (как и в данном). Просто создайте новый фильтр, отключив всю фильтрацию - Вам же в данном случае нужна вставка HTML, а не PHP.
У меня на семерке не пашет. Стили яндекса и гугла не работают - я их в коде просто отключил. А вот как на это смотрит поставщик - законно ли это? В общем на странице поиска реклама яши и гоши все остальное сохраняется разумеется - но все же интересно.
[удалено]
Подскажите пожалуйста что нужно сделать, чтобы всё нормально заработало с русским языком? По английски и при наборе латиницей ищет нормально, а по русски получается фигня вот такая.
https://yadi.sk/i/fb5IHYZLdYDuJ
Вопрос закрыт. Проблема решилась заменой http://www.site.ru на http://site.ru в настройках поиска.