Недавно я разработал веб приложение, которое показывает точное время и долготу дня в 13 тысячах городах по всему миру. Естественно, это достаточно объемное приложение размером 26 тысяч страниц.

На таких сайтах крайне желательно устанавливать поисковый движок, чтобы пользователь мог быстро найти желаемый город.

У меня был выбор создать “живой” поиск либо интегрировать поиск от Яндекса. Я выбрал второй вариант, так как пользователь может точно не знать как пишется город, ну и выдача гораздо интереснее у Яндекса.

В дефолтной версии Яндекс предоставляет достаточно лаконичную и не стилизованную поисковую форму. Я же хотел вместо нее использовать свою. Вот такую.

Для того, чтобы получать запрос пользователя через форму и вставлять его в стандартный url выдачи Яндекса потребуется:

  1. Обернуть поисковую форму в тег <form> с указанием метода передачи данных POST, а также в параметре action указать ссылку на обработчик PHP.

2. Написать в обработчике PHP (в данном случае файл search_result.php) небольшой скрипт, который принимает запрос пользователя (ключевую фразу) в массиве $_POST, обрабатывает его и вставляет в параметр URL выдачи Яндекса. Далее, функция header перенаправляет нас на вновь сформированный URL. Не забудьте предварительно создать страницу с результатами выдачи Яндекса. Подробнее о том, как интегрировать поиск Яндекса здесь

В результате мы получаем на входе.

А на выходе.

Не обращайте внимания на качество выдачи, сайт только начал индексироваться.