Все, конечно, пользуются окошком мгновенного поиска в браузере, но не все замечают, что на некоторых сайтах кнопка выбора провайдера поиска меняет вид. Например, в Firefox на кнопке появляется «синее свечение». Это свечение означает, что просматриваемый сайт предоставляет возможность поиска и может быть добавлен в список поисковых плагинов. Фактически, любой сайт, на котором реализован полнотекстовый поиск, может стать таким провайдером для современных браузеров. Эта возможность реализована с использованием технологии OpenSearch.
OpenSearch — это набор спецификаций для стандартизации и унификации решения задач поиска, смежных задач (например, автодополнение при вводе запроса) и публикации результатов поиска. OpenSearch включает целый комплекс технологий, но самая практически полезная возможность, предоставляемая OpenSearch — это уже упомянутая возможность стать провайдером поиска для браузеров и других потенциальных клиентов. Современные браузеры используют спецификации OpenSearch для определения сайтов с возможностью поиска. Для этого на сайте нужно реализовать следующие элементы:
1) Создать XML-файл с описанием параметров поиска — OpenSearch Description. Обычно этот файл называется OpenSearch.xml и находится в корне сайта. Содержимое файла примерно следующее:
<?xml version="1.0" encoding="utf-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Имя сайта</ShortName> 1
<Description>Описание сайта как провайдера поиска</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16"
type="image/png">http://site.com/favicon.png</Image> 2
<Url type="text/html" method="get"
template="http://site.com/search?q={searchTerms}"> 3
</Url>
</OpenSearchDescription>
Как видно, файл содержит свойства, который внешние сервисы или программы (в частности браузеры) могут использовать для осуществления поиска. Важные моменты здесь:
- 1 — Заданное имя сайта отображается в качестве имени поискового плагина браузерами.
- 2 — Задается иконка поискового плагина.
- 3 — Центральная часть файла. Здесь задается URL, на который нужно отправить запрос для получения результатов поиска. В реальном запросе плейсхолдер
{searchTerms}
заменяется на поисковой запрос пользователя.
2) Следующим пунктом нужно указать в разметке сайта, что ресурс поддерживает спецификацию OpenSearch. Для этого в раздел head нужно вставить элемент:
<link
rel="search"
type="application/opensearchdescription+xml"
title="Имя Сайта" href="/opensearch.xml" />
Здесь указывается
- Адрес ранее созданного файла opensearch.xml
- Заголовок (title), который используется браузером для формирования пункта меню добавления провайдера (например в Firefox: Добавить «Имя Сайта»)
Указанной информации вполне достаточно, чтобы поиск по сайту стал доступным из окошка мгновенного поиска. Однако, спецификация OpenSearch гораздо более обширна и поддерживает множество дополнительных возможностей. Можно дополнительно прочитать: