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

У движка 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.

Download Yandex Search Version 1.0

Скачали аж 128 раз.

Рейтинг: 5
Leave a Reply:




* После модерации ссылки ставятся с dofollow. При модерации отсекаются сателлиты и прочие спамерские сайты.