13 декабря 2007

OpenSearch для маленьких (шаг за шагом)

Формат OpenSearch не очень популярен в рунете. Хотя его использование очень может пригодиться владельцам различных крупных форумов, каталогов, публицистических сайтов, популярных фидов и т.п., где много контента и посетители часто пользуются поиском. Яндекс уже год назад его применил и рассказал что это и зачем. У Webalta и Rambler до сих пор ничего нет, а вот на ozon.ru есть.

Итак, создаём и закачиваем на хост файл opensearch.xml, в него пишем:
<?xml version="1.0" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>название сайта</ShortName>
<Description>Search in домен</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image height="16" width="16"
type="image/x-icon">http://url/favicon.ico</Image>
<Url type="text/html" method="get"
template="http://url/search.php?q={searchTerms}&amp;said=тег" />
</OpenSearchDescription>

&said=тег не обязательно, Яндексоиды добавили себе from=os, хотя статистику переходов по нему я нигде пока не встречал. Дальше в код страниц своего сайта в <head> заносим:
<link rel="search" href="opensearch.xml" title="сайт"
type="application/opensearchdescription+xml" />

Теперь ненавязчиво (так и не нашёл слитно пишется или раздельно) предлагаем установить. Для этого создаём файл file.js:
function addOpenSearch(name,ext,cat,pid,meth)
{
if ((typeof window.external == "object") && ((typeof
window.external.AddSearchProvider == "unknown") || (typeof
window.external.AddSearchProvider == "function"))) {
if ((typeof window.external.AddSearchProvider == "unknown") &&
meth == "p") {
alert("This plugin uses POST which is not currently supported by Internet
Explorer's implementation of OpenSearch.");
} else {
window.external.AddSearchProvider(
"http://url/opensearch.xml");
}
} else {
window.location="http://домен/";
}
}

туда же в <head> прописываем к нему путь:
<script type="text/javascript" src="/file.js"></script>
и где-нибудь на страничке:
<a href="javascript:addOpenSearch();">ссылка</a>

Всё готово!
Кстати никто не знает что на карте?


View Larger Map

8 комментариев:

  1. хм, там в коде как я понимаю указано искать через файл search.php а его содержимое откуда брать?

    ОтветитьУдалить
  2. это путь к твоему файлу поиска на сайте

    ОтветитьУдалить
  3. Это я понимаю ;)
    А, кажется дошло!
    Этот скрипт просто типа тулбара вешает на ИЕ, так?
    Кажется меня начинают посещать нехорошие мысли ;)

    ОтветитьУдалить
  4. по ссылкам в сообщении потыкай, там на картинках всё наглядно

    ОтветитьУдалить
  5. та ни, до меня дошло ;)
    меня теперь мучают некоторые сомнения, попробовать попортить себе карму что ли? ;)

    ОтветитьУдалить
  6. Такой поиск через OpenSearch я использую на key-game.ru

    ОтветитьУдалить
  7. Еще умные браузеры если видят в коде link rel="search", то сами предлагают добавить провайдера поиска.

    ОтветитьУдалить

на этом сайте нет nofollow-ссылок, поэтому комментируйте смело, одобряем любой спам