1. Главная
  2.  
  3. Статьи
  4.   Яндекс острова - будущее поиска

Яндекс острова - будущее поиска

Я.острова стали больной темой для многих веб-мастеров, по одной простой причине «падение трафика».

Лично моё мнение таково: Вы слишком рано беспокоитесь!

 Падение трафика – почему он должен упасть?!

 Любая поисковая форма будет переводить пользователя на сайт, только ему не понадобится разбираться в не унифицированном интерфейсе каждого сайта - данные в неё будут подставляться на автомате! Формы заказов – какой Вам толк с такого трафика?! Здесь важнее сам факт заказа и снова интерфейс будет унифицирован!

 На одном блоге видел такую причину «сайты с островами будут подниматься в поисковой выдаче …, а если ближайший сайт с островом на 36 позиции, то его будут вытаскивать в топ …», тоже ошибочное мнение!

Закидывать в топ сайты с островами не коммерческой направленности вообще нет смысла, а те сайты которые продвигаются, будут рано или поздно иметь свои яндекс острова. И теперь самая главная мысль этой части статьи – поисковые формы и формы заказов, наконец, будут приведены к одному стандарту!

В интернете всегда отсутствовал стандарт оформления страниц (он был общий, заголовки <h1>, абзацы <p>, …), а теперь человеку не нужно выискивать информацию на сайтах со сложной структурой. Теперь просто - заполняй поля прямо в поисковой выдаче, где у всех сайтов они выглядят одинаково понятно.

Ох, что-то меня понесло, теперь берём курс на сами острова :-)

На данный момент есть возможность только протестировать остров через написанный xml-файл. Нет ни возможности загрузки его для своего сайта, ни возможности указания url по которому он генерируется (для того чтобы не было лишней возни в комментах, дата написания статьи 28.06.2013, все ответы подкреплены письмами от поддержки яндекса).

Итак начнём с написания самого файла. Нам потребуется любой редактор, в котором можно указать кодировку файла utf-8 , например notepad++.

Первая строка является совершенно стандартной для тех кто работал с файлами расширения xml

<?xml version="1.0" encoding="utf-8"?>

Далее указываем схему, по которой будет обрабатываться файл

<site xmlns="http://interactive-answers.webmaster.yandex.ru/schemas/site/0.0.1"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

     xsi:schemaLocation="http://interactive-answers.webmaster.yandex.ru/schemas/site-0.0.1.xsd">

                ….

</site>

Узел «site» внутри себя будет содержать всю информацию, связанную с тем сайтом, для которого этот остров создаётся. Внутри узла «site» следует указать краткую информацию о сайте.

<title>Содержит заголовок который будет отображаться в поисковой выдаче!</title>

<rootUrl>Содержит корневой url поиска, то есть пустой поисковой запрос. Очень рекомендую проверить работает ли у Вас на сайте такой функционал, и происходит ли отображение результата, а не просто выводится сообщение что не выбран ни один из фильтров и т.д. и т.п. , а просто все результаты на странице.</rootUrl>

<protocol>определяет протокол, по которому происходит запрос к странице поиска , поддерживается только два варианта HTTP и HTTPS.</protocol>

<description>описание в сниппете с максимальной длинной в 200 символов. От него как и от “title” будет зависеть выберет пользователь Ваш остров, или остров конкурентов! Яндекс сам будет решать какой сниппет отображать, поисковый робот будет выбирать наиболее актуальный.</description>

Теперь переходим к структуре самих url поиска. Яндекс на самом деле реализовал (на данный момент 28.06.2013) данный функционал очень хорошо:  есть возможность указать поддомены , каталоги …

Есть два основных способа, по которым можно изменять url поиска

<fixed></fixed>

<placeholder />

Здесь указаны два вида для отображения структуры xml тегов. Вдруг кто не знает: они могут быть парными и не парными, для указания непарного достаточно перед закрывающей скобкой добавить слэш.

Fixed – фиксированная часть url. Как минимум один такой элемент должен быть и у нас (!). Он определяет центр склейки домена для запроса , то есть, та середина, к которой в зависимости от описанных правил будут приклеиваться определённые части, слева или справа. Да глаза вас не обманули (!) - можно приклеивать слева поддомены. Выглядеть всё это будет примерно так.

Есть если мы в качестве значения атрибута «name» укажем «test», то и в url у нас подставится «test» (!).

Placeholder – изменяемая часть url, то есть её значение зависит от значения поля формы (!).

Если в списке значение выбрано stone, то и в url будет подставлен stone, а если пользователь выбрал значение wood , то и в url будет указано оно же.

Далее это будет рассмотрено подробнее.

Фильтры (наверное наиболее интересующий нас момент).

Почему самый интересный момент? Пока остальные виды взаимодействия не реализованы в тестовом режиме!

Все фильтры должны быть указаны в теге <filters>…</filters>

Типов фильтров предоставляется 4+1 , перечислим

<dropdown> - из названия этого узла понятно, что речь пойдёт о раскрывающемся списке.

<checkBox> - обычный checkbox, в простонародье галочка.

<rangeFilter> - диапозонный фильтр, например, фильтр по стоимости от и до.

<textBox> - обычное текстовое поле, полный аналог стандартного html <input type=”text”>.

У каждого фильтра есть <description caption="Количество этажей">…</description>, а его атрибут caption указывает какой заголовок отображать в форме поиска

Внутри этого узла указываем <setParameter name="property_id_51"/> , он обозначает, к какому именно полю формы будет привязан тот или иной поисковой, а точнее сказать - как этот параметр будет выглядеть в get-запросе.

Есть ещё одни узел который можно указать вместо предыдущего <modifyResource placeholder="type"/> Это как раз изменяемая часть url. В зависимости от выбранного фильтра, атрибут placeholder="type" должен совпадать с тем узлом, который мы указали в узле <resourse> <placeholder name="type" />

Чтобы не возникло дополнительных вопросов приведу пример:

<resource>

                               <fixed name="example.ru">

                                               <placeholder name="type" />

                               </fixed>

</resource>

Далее пойдёт код самого фильтра:

<filters>

<dropDown>

                               <description caption="Материал">

                                               <modifyResource placeholder="type"/>

                                </description>

                               <dropDownValue key="roof" caption="Кирпич"/>

                               <dropDownValue key="wood" caption="Дерево"/>

                </dropDown> 

</filters>

Теперь, я думаю, вопросов не возникнет как добавить в url изменяемую часть, но нужно учитывать, что в url подставится именно тот ключ, который у нас указан в фильтре. Это значит если мы выбрали материал «дерево», то url будет выглядеть так example.ru/wood/.

Заодно данный пример показывает, как описывается выпадающий список в рамках острова.

Далее разберём checkbox, здесь практически всё по аналогии с выпадающим списком, только принимается на вход два значения.

А теперь долгожданный пример:

<checkBox>

                <description caption="Наличие цокольного этажа">

                               <setParameter name="property_id_6_item_id_31" />

                </description>

                <checked key="on" default="false"/>

</checkBox>

В узле cheked содержится два атрибута «key», он отвечает что будет передано в качестве значения фильтра get-запроса и его значение по умолчанию default, который принимает два значения «true»(выбран) и «false»(не выбран)  соответственно.

Дальше пойдёт речь о минимальном и максимальном значении фильтра.

Сразу приведу его пример, и разберём его.

<rangeFilter min="0" max="100000" step="1000" unit="руб.">

                <description caption="цена">

<setParameter name="min_price" />

<setParameter name="max_price" />

</description>

</rangeFilter>

Здесь тоже всё элементарно просто, атрибуты узла rangeFilter отвечают:

Min – понятно, что минимальное значение.

Max – максимальное значение фильтра.

Step – шаг фильтра, то есть минимальное значение на которое его можно изменить.

Unit – единица измерения фильтра

И здесь соответственно присутствует два узла setParametr, которые отвечают за значение этого фильтра в get-запросе.

Всё, осталось совсем чуть-чуть J

Обычный input, или как он называется в данной спецификации textbox.

Вот пример его использования:

<textBox type="text">

  <description caption="текст который ищем?">

                               <setParameter name="q" />

  </description>

</textBox>

Здесь даже и объяснять нечего, всё по стандарту, атрибут type указывает на то, что это текстовое поле. Так же есть несколько дополнительных типов, и о них кратко рассказано в документации яндекса, так что в рамках этой статьи мы их рассматривать не будем.

Дальше идёт ставший для нас уже стандартным атрибут узла description, caption, который отвечает за заголовок фильтра и setparametr значение которого будет передано в фильтр.

Спасибо за внимание!

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

А от яндекса будем ждать интерактивных ответов яндекс островов, которых я жду с нетерпением.


Комментарии

Дмитрий  · 31.07.2013 02:07:17
Да, конечно острова с формой покупки билетов на самолет или поезд и формы для получения сведений о местонахождении посылки очнь удобны и информативны. Думаю, что за островами будущее. Я себе уже сделал остров.
Интересно а что думает гугл по этому поводу? Будет ли он принимать какие-то действия с похожей системой?
ответить

Добавить комментарий

Пункты, отмеченные *, являются обязательными к заполнению