Поиск по сайту, установка Google Custom Search
Tuesday, 16 Oct 07 в 3:18
На каждом более-менее серьезном сайте с достаточно большим количеством информации неотъемлемым атрибутом есть поиск. Элемент используется для поиска на ресурсе необходимой пользователю информации. Есть несколько видов поиска, которые можно различить по механизму реализации и назначению. Первое понятие больше знакомо для людей, занимающихся технической стороной вопроса, второе для рядовых посетителей Интернет страниц.
Так, например, на том или ином сайте может быть реализован поиск по определенным его составляющим как то новости и статьи, ссылки, события, семинары и т.д. и т.п. Можно встретить поиск по базе товаров с разными возможностями в виде выбора производителя, марки и каких-либо специфических параметров для определенных видов продукции.
Что касается реализации, то простой поиск может использовать оператор MYSQL LIKE либо реализовываться с помощью функций того или иного языка программирования. Есть еще так называемый индексированный поиск, который включает не только нахождение нужного слова или словосочетания, а еще производит индексацию всей информации на сайте дабы увеличить скорость обработки запроса и выдачи результата. Используется, как правило, на сайтах с очень большим количеством информации. Кстати, точно также как и Google индексирует все страницы, а потом использует эти данные при поиске. Хотя у Google все построено намного сложнее.
Update: Сейчас google значительно расширил и упростил настройку – поэтому можно запросто использовать все его подсказки и предоставляемые коды, вместо html, приведенного в посте.
Во многих системах управления контентом механизм поиска по сайту предусмотрен по умолчанию в базовой версии либо через установку дополнительных модулей и плагинов. Но что делать, если вы не используете какую-либо CMS, но хотите добавить поиск по сайту. В этом случае вам поможет Google Search. Есть 2 пути установить этот сервис. Рассмотрим их оба.
Первым в поисковике я нашел Custom Search Engine. Что удивительно найти его второй раз (когда непосредственно занимался написанием заметки) оказалось немного сложнее – пришлось потратить около 5-10ти минут:) Стартовую страницу для этого сервиса можно найти здесь. Для продолжения работы вам придется войти под логином и паролем вашей учетной записи. Как говорится в описании, данный поиск предоставляет такие возможности как:
- включить в область поиска сразу несколько сайтов или страниц
- подобрать цвета для оформления блока дабы они вписались в стиль вашего сайта
- выводить результаты поиска как на вашем сайте, та на Google.
Чтобы создать блок поиска жмем кнопку «Create a Custom Search Engine», после чего попадаем на страницу с первым шагом по созданию. Здесь задаются некоторые параметры вашего будущего блока поиска – наименование, описание, по каким сайтам искать и показывать ли рекламу от Google при выведении результатов. Как только мы ввели все необходимые данные, отмечаем галочку «I have read and agree to the Terms of Service» (соглашаемся с условиями) и жмем Next. На втором шаге нам предлагают потестировать только что созданный поиск и нажать кнопку Finish для завершения процесса.
После этого мы попадает в панель управления персональными блоками поиска (Custom Search Engine), которые мы создали. Здесь в менюшке справа можно выбрать почитать о сервисе (Overview), создать еще один поисковый движок (New search engine), посмотреть созданные вами движки (My search engines), отредактировать профайл (My profile), заценить существующие варианты решения для поиска (Featured examples), посмотреть документацию (Documentation) или блог (Blog), заметки от службы поддержки (Support) и т.д.
В центре же можно увидеть перечень ваших поисков с некоторыми функциями по каждому из них. Это:
homepage – типа стартовая страница, где можно увидеть ваш поиск и некоторую инфу с вашего профайла.
statistics – статистика (у меня не работала).
delete – удаление поиска.
control panel – содержит еще одно подменю по управлению поиском. Во всем я не разбирался, выделю лишь пункты Look and feel, где можно выбирать внешний вид поиска, Code – здесь получаем код блока, Basics – все настройки, что мы когда-то делали на шаге1 при создании.
Кстати, данный сервис доступен и в Бизнес-варианте за скромные 100 долларов в месяц. Правда, никаких особых преимуществ я там не увидел.
Что хочется сказать в итоге. Мое знакомство с данным сервисом оказалось достаточно поверхностным, поскольку нужного мне решения я так здесь и не нашел. Возможно, просто требовалось немного больше поискать и разобраться, но, увы, время поджимало и пришлось воспользоваться вариантом2, который я нашел на 3-4х других сайтах.
Итак, предлагаю вашему вниманию код второго варианта, который запросто можно использовать на своем сайте:
<!– SiteSearch Google –> <form method="get" action="http://www.google.com/custom" target="google_window"> <div class="gogle"><img src="fileadmin/templates/images/gogle.gif" alt="" border="0" height="26" width="72"> <input name="domains" value="<strong>www.yoursite.com</strong>" type="hidden"> <input name="q" size="20" maxlength="255" value="" class="inp" type="text"> <input name="sa" class="button" value="" type="submit"> <input name="sitesearch" value="<strong>www.yoursite.com</strong>" checked="checked" class="rd" type="radio"> По сайту <input name="sitesearch" value="" class="rd2" type="radio"> В интеренете <input name="forid" value="1" type="hidden"> <input name="ie" value="utf-8" type="hidden"> <input name="oe" value="utf-8" type="hidden"> <input name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;" type="hidden"> <input name="hl" value="ru" type="hidden"> </div> </form> <!– SiteSearch Google –>
В этом коде нужно только заменить www.yoursite.com на адрес вашего сайта, а также проверить, чтобы кодировка соответствовала используемой вами на своем сайте. Кроме того, внимание! – в последнем input значение переменной value должно быть без пробелов. В примере выше оно было разбито на 2 строки, так как не помещалось в данный шаблон. Также советую внимательно просмотреть вставляемый на сайт код, т.к. только заметил, что при копировании его в блокнот двойные кавычки заменяются на неправильные символы – ”. Будьте внимательны.
Внимание! В коде также может быть строка:
<input name="client" value="pub-xxxxxxxxxxxxxxxx" type="hidden">
В ней содержится ID пользователя в Google Adsence. На одном сайте встретил информацию, что для получению кода поиска нужно быть зарегистрированным в Google AdSense. Поэтому если у вас нет такой учетной записи строку лучше удалить, т.к. деньги за рекламу из формы поиска будут уходить не вам. За подсказку спасибо John`у.
Внимание! Если есть что сказать по теме, пишите в комментарии, расширю описание.
UPD: Сейчас google значительно расширил и упростил настройку – поэтому можно запросто использовать все его подсказки и предоставляемые коды, вместо html, приведенного в посте.
P.P.S. С переносом на свой домен тоже возникли небольшие проблемы. Дело в том, что получилось добавить запись CNAME только для домена с www. Запись без этой приставки создаваться отказалась. Посмотрел уже у некоторых блоггеров, которые перенесли свои блоги от Blogger.com на отдельный домен – такая же проблема. Интересно они об этом знают:)
Читал на англоязычных ресурсах – многие пишут, что сталкивались с подобными проблемами. Конкретного решения так и не нашел. На одном блоге обнаружил интересный скрин, а в посте от 5го числа этого месяца под заголовком «Custom Domains – An Improvement?» (Собственный домен – улучшение?) рассказывается о каком-то новом параметре позволяющем сделать переадресацию с домена без www на домен с www. Может и наоборот доступно! К сожалению, в панели управления блогом я такого не нашел.
Хотя, скорее всего, некоторые блоггеры умудряются как-то организовать переадресацию и без этого параметра. Забугром пару таких ресурсов нашел, а вот в РУнете нет. Если у кого-то есть опыт подобной фишки – прошу поделиться в комментариях.

- это ID товарища в Google Adsence. Ты наверно видел на сайтах объявления с пометкой “Реклама от Google”. За каждый клик по такой рекламе зачисляется сколько-то центов денег этому товарищу. Т.е. если поставить себе такой поисковичек и не заменить ID на свой, то все деньги от рекламы, которая появится после нажатия по кнопке “Поиск”, отправятся не себе любимому, а тому товарищу :)
В предыдущем комменте вырезалось то что было в угловых скобках.
Я имел ввиду вот этот ID – pub-9539222116482615,
Хм.. Спасибо за информацию. А есть какой-то “публичный” или общий код, чтобы без привязки к рекламе? без необходимости регистрироваться там
Просто удали эту строчку и всё :)
(input name=”client” value=”pub-9539222116482615″ type=”hidden”)
Я у себя попробовал что с ней, что без нее работает.
Спасибо, так и сделаю!
Проверю завтра на одном сайте и обновлю текст в этом посте.
у меня не сработало. хотя и следовала каждой букве. поисковик получился, но ничего по сайту искать не хотел.
elvira, вышлите мне на почту или в аську код, который используете для поиска. Я посмотрю.
можно просто установить параметр q и sitesearch – остальное не критично
Я хотел поставить поисковик Google Search
не смог его создать так как я указываю URL своего сайта потом во 2 шаге можно протестить
я хочу найти некий материал но он его не находит ни 1-ин потом я его создал вставил код и оказывается что якобы страницу котору я указал не существует.Так сказать не проиндексировали чтоли
как это исправить?
Дионис, признаться не совсем понял в чем проблема. Поиск по идее должен работать на любом сайте – проиндексированном и нет.
У меня вопрос. Я установил этот поиск на сайте туристической фирмы. Как результат у них на сайте при поиске показывают рекламу других туристических фирм-конкурентов, что не есть гуд. Подскажи пожалуйста как можно этого избежать.
Спасибо.
Sergey, тут есть несколько моментов, которые я бы в первую очередь глянул. Сам не сталкивался с такой проблемой, но теоретически что могу подсказать. Я так понимаю поиск так или иначе связан с AdSense. Если ты не устанавливал его из рекламной системы – там блок под названием “AdSense для поиска”, то видимо, гугл выводит обычную рекламу. Поэтому я бы посоветовал поставить туда свой AdSense чтобы иметь некоторые возможности влияния, а именно в меню настройки “Фильтр конкурирующих объявлений” – где указываешь эти фирмы и их реклама не будет выводиться.
Статья отличная. Только я все-же сторонник собственного поиска, а не заимствованного (пусть даже у гугла). Но, если выбирать “или гугл или ничего”, то тут, действительно, гугл “покатит”, причем на “ура”
А мне кажется, что идея эта – просто отличная. Зачем городить километры собственных скриптов, когда можно беспроблемно и, надеюсь, законно воспользоваться трудами программистов Google.
Здравствуйте.
Прежде уже устанавливал форму поиска от гугл по первому способу. Тогда поиск так и не заработал.
Сейчас возобновил работу над сайтом, заново установил поиск (зарегистрировал новый). Теперь он работает, при запросе с сайта находит необходимую информацию, однако при попытке перехода по результатам поиска я перехожу на страницы с прежним расширением *.htm, в то время как я сменил его на *.shtml (упростил сайт с помощью SSI). В самом html-коде все ссылки обновлены на расширение *.shtml. В результате браузер не находит эти страницы. Как такое возможно?
Сегодня установил данную форму на сайт. Всё работает в лучшем виде! Спасибо автору!))
Я нашла слегка другую форму для встраивания. Скажите, правомерно ли использовать ту или иную форму? Ведь существует платный сервис поиска по сайту, а это получается – бесплатный…
Ирина, к сожалению, код формы не сохранился. Форму поиска от Google использовать правомерно, так как она бесплатная. Платный сервис, насколько я понимаю, это немного другое, точно также как и платный gmail для компаний.
Ну не важно, какая форма, суть в том, что там текстовое поле и кнопка “Найти”. А поиск аналогичен вашей форме, просто упрощенный. http://slava.khersoncity.com/pub/google-form.php
Ирина, я думаю, это не должно создать какие-либо проблемы, гугловский движок поиска распространяется бесплатно.