Сравнение выдачи по регионам: Я.Вебмастер.
Не секрет, что с выходом Арзамаса сообщество сеошников пришло в некоторое смятение. Одним из популярных поводов для оного было как нормально продвигать сайты и отчитываться перед заказчиком, если у тебя выдача одна, у заказчика - другая, а у потенциального клиента - третья.
И вот, спустя две недели после релиза, Яндекс наконец анонсировал новый инструмент для сравнения выдачи по разным регионам. Однако, тут имеет место небольшой казус, о котором я подробно расскожу в конце поста, из-за которого этот инструмент работает только в Опере. Если вы, как и я, пользуетесь Firefox или, не дай бог, IE, то выход все равно есть, даже два.
Первый требует проделать немного манипуляций ручками, благо они совсем простые:
- Открываете в Яндексе выдачу по интересующему вас вопросу.
- Дописываете в адресной строке параметр
lr=<код_региона>
, где код региона для Москвы - 213, Питера - 2, всей прочей России - 225, Украины - 187 и Казахстана - 159.
Все, желанная выдача перед вами.
Однако, этот вариант совершенно не нагляден и напряжен для таких лентяев, как вы и я. Поэтому я написал небольшой скриптик, который устраняет упомянутый казус и позволяет вам сравнивать удобно выдачу, как оно было задумано в изначальном инструменте от Яндекса. Как им пользоваться:
- Скачиваем скрипт.
- Меняем расширение на .php
- Заливаем на сервер и открываем в браузере.
- Далее все интуитивно понятно.
Хинт: для работы скрипта нужно, чтобы в php.ini стояло allow_url_fopen=On.
Ну а теперь об этом самом казусе, на который я ссылался в начале. Суть в следующем: региональная выдача загружается фо вреймах, а у яндекса испокон веков есть скрипт, запрещающий открывать его в них. Находится он в самом начале файла http://css.yandex.net/css/search/r9/_serp.js
:
if((self.parent&&!(self.parent===self))&&(self.parent.frames.length!=0)){self.parent.location=document.location}
Забавно, что в Опере, кстати переброс не происходит. Причина в том, что предшествующий редиректу код непосредственно в теле страницы вызывает ошибку Security error: acodeempted to write protected variable
и все дальнейшие скрипты не отрабатывают:
<script type="text/javascript"> var code = { // Вырезано dsuf: "ru", // Вырезано } document.domain = (code.dsuf == 'ua') ? 'yandex.ua' : 'yandex.ru'; // Вот тут возникает ошибка </script>
Из этого, кстати, можно сделать вывод, что программисты Яндекса любят Оперу, иначе они бы обязательно заметили проблему. :)
UPD. Яндексоиды баг починили.