Поиск по блогу для Blogger

Часто одно новшество, становится причиной конца другого. До недавнего времени на Blogger работала система поиска основанного на персональном поиске Google. Нам был, и до сих пор доступен, виджет «Окно поиска», но он не работает. Вместо этого Google незаметно ввёл простенький поиск по блогу для Blogger. С одной стороны, это упрощение и потеря ajax решения, а с другой – понятный и отслеживаемый в том же Google Analytics механизм.

  • Виджет поиска по блогу для Blogger
  • Поиск по сайту от Google для Blogger
  • Как работает поиск по блогу для Blogger?
  • Как создать форму поиска по блогу для Blogger

Виджет поиска по блогу для Blogger

Начнём с того, что в списке виджетов на Blogger до сих пор есть «Окно поиска», которое позволяет выполнять поиск по блогу, блогроллу и другому указанному вами содержанию на основе системы пользовательского поиска Google.

виджет окно поиска на blogger не работает
Виджет «Окно поиска» не работает

Вот только даже на официальном блоге Google, в браузере Chrome, с отключенным AdBlock, по точному ключевому слову, он ничего не выдаёт и непонятно будет ли это исправлено в будущем или нет. Проблема появилась уже давно, а результатов её решения не видно.

отсутствие результата поиска при использовании гаджета окно поиска в blogger на официальном блоге google

Здесь следует отметить и то, что пользовательский поиск Google работает в защищенном режиме, по протоколу HTTPS, для обеспечения конфиденциальности данных пользователя. С одной стороны, это хорошо, но с другой – невозможно узнать, что пользователи искали на блоге, а ведь это действительно интересно.

Поиск по сайту от Google для Blogger

На самом деле в Google поступили хитро. Что-то исправлять не стали, но написал JavaScript-код, с использованием билиотеки jQuery, который делает редирект на Google поиск.

$('.searchBox input').on("keypress", function(ev) {
  if (ev.which == 13) {
    window.location.href='https://www.google.com/search?q=site%3A' + window.location.hostname + '%20' + encodeURIComponent ($(this).val());
  }
});

При этом HTML-код формы поиска для вставки в обычный HTML/JavaScript виджет может выглядеть так:

<div class='searchBox'><input type='text' title='Search This Blog' placeholder='Search blog ...' /></div>

Таким образом, пользователь вводит поисковый запрос в форму поиска, кликает кнопку Enter и скрипт перенаправляет его на страницу результата Google поиска по запросу:

site:[доменное имя] [поисковый запрос]

Решение вполне универсально, но не забывайте, что для него нужен jQuery!

Как таковой, система поиска на Blogger существовала и используется для листинга по страницам архива уже давно. Если у вас в блоге достаточно сообщений, кликните ссылку «Предыдущие» и вы попадёте на страницу с такого вида URL-адресом:

http://www.chuvyr.ru/search?updated-max=2013-11-21T08:00:00%2B02:00&max-results=7

Следует отметить, что в дефолтном (по умолчанию) файле robots.txtпапка /searchзапрещена к индексации, вот такой строкой:

Disallow: /search

Это правильно. В противном случае вы получите очень много дублей страниц, что может привести к не самым приятным последствиям.

Главное, что поиск по блогу теперь осуществляется через этот адрес, с указанием параметра qв котором передается запрос, представляющий поисковую фразу, например:

http://www.chuvyr.ru/search?q=php

В данном случае будет произведен поиск сообщений, в которых присутствует фраза «php». Примечательно, что здесь отсутствует морфология, т.е. ведётся поиск по точному совпадению с указанной фразой.

Как создать форму поиска по блогу для Blogger?

Нужный нам механизм есть. Дело за малым — вставить на блог форму поиска. Для этого мы будем использовать виджет HTML/JavaScript, который позволяет добавлять в свой блог приложения или другие коды независимых производителей, т.е. нас любимых.

виджет html/javascript для blogger
Виджет html/javascript для Blogger

Просто зайдите в раздел «Дизайн» своего блога и кликните ссылку «Добавить гаджет» в нужном вам разделе. В открывшемся окне, найдите и кликните «плюсик» у гаджета HTML/JavaScript. В открывшееся окне, в поле «Название» укажите заголовок формы, например: Поиск по блогу, - а в поле «Содержание» пропишите следующий HTML-код:

<form action="http://www.chuvyr.ru/search" method="get">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
  <td><input style="width:100%" type="text" name="q" size="30" maxlength="50"></td>
  <td><input type="submit" value="Найти"></td>
</tr>
</table>
</form>

Очевидно, что вместо www.chuvyr.ru вам нужно будет прописать доменное имя своего блога. Следует также отметить, что я привёл самый простой и рабочий вариант, который вы можете изменить и оформить так, как вам будет угодно. Нажмите кнопку «Сохранить».

Результат работы поиска выглядит на моём блоге следующим образом:

результат поиска по блогу для blogger
Результат поиска по блогу для Blogger

Следует отметить, что запрос не остаётся в поле формы поиска, да и подсветка ключевых слов отсутствует. Тем не менее, это лучше чем ничего. Ну и при желании эти проблемы можно устранить, используя тот же JavaScript.

Подведём итоги

Виджет окна поиска на Blogger, по всей видимости временно, не работает. Его преимуществом являлся полноценный поиск, с учётом морфологии и релевантности. В тоже время, он соблюдает конфиденциальность данных, что не позволяет отслеживать поисковые запросы пользователей. Механизм поиска сервиса Blogger выглядит куда как скромнее, но позволяет получить полезные сведения через тот же Google Analytics, подробней читайте в моей статье: Настройка поиска по сайту в Google Analytics.

Создание же самой формы поиска и добавление её на блог через гаджет HTML/JavaScript не представляет собой что-то сложное. В статье я привёл простейший, но вполне рабочий вариант, который использую и сам. На этом у меня всё. Спасибо за внимание. Удачи!