Скрипт поиска по Сайту

У движка Wordpress - отвратительный поиск. Авторы видимо понадеялись на плагин-мейкеров, но те ничего путного так и не сделали. (Во всяком случае для русской орфографии). Если не верите, можете попробовать ввести в поиск запросы, по которым люди попадают на ваш сайт. С любыми плагинами, в большинстве случаев будет: "Sorry, no posts matched your criteria."

Вообще нормальный скрипт поиска - очень сложная штука, т.к необходимо перебирать все формы слова и.т.д. Но тут приходит разумная мысль: зачем мудрить, когда существуют такие поисковые монстры как Google и Яндекс? Остается их просто аккуратно прикрутить к сайту. Далее расскажу, как не просто повесить окошко их поиска, а "встроить" поисковик в структуру сайта.

У Google такая штука идет в комплекте с рекламой, и возможностей у нее мало. Поэтому работать будем с Яндексом. Тем более, что они даже специальный сервис для интеграции сделали. Яндекс.XML называется. Итак.

  • Этот способ дает возможность выводить результаты поиска на вашем сайте в соответствии с вашим дизайном, и без лишнего.
  • Ваш сайт должен быть проиндексирован Яндексом.
  • Ограничение на 1000 поисков в день.
  • Хостинг должен поддерживать удаленное открытие файлов, и PHP.
  • Скрипт идет с подробными комментариями.
Установка

Заливаем на хостинг скрипт, изменяем его под сайт, и запускаем. Видим что с ip такого-то поиск запрещен. Копируем ip. Заходим сюда, регистрируемся и вводим это ip. Если выходит ошибка, придется требовать у хостера сменить ip. Теперь с yandex_search.php, можно сделать include() в ваш сайт. Примерное использование, смотрите в example.html. Собственно все.

Интеграция в Wordpress

Рассмотрим очень грубый зато универсальный способ.

  • Залейте скрипт в папку с текущей темой (что то типа wp-content/themes/название_темы/)
  • В скрипте замените:
    $query_=$HTTP_POST_VARS['searchstr'];
    
    На:
     $query_=urlencode($s);
    
    (В Wordpress искомое, всегда находитья в переменной $s.)
  • Выполните вышеописанные манипуляции с ip
  • В папке c темой, в самый конец header.php после:
     <div id=content> 
    
    добавьте:
    < ?php if ($s!="") {include("yandex_search.php");} ?> 
    
Это будет выводить результаты яндекса перед обычной поисковой выдачей. Можете проверить поиск на моем сайте (theXnews.com), в правом верхнем углу. Когда будет время постараюсь сделать полноценный плагин для Wordpress.

Скачать Yandex Search

Оцените статью
  • kabban

    А что если больше 1000 поисков в день будет? откажется работать? или платить придется?