Как проверить позиции сайта в Яндексе и Google, и почему они отличаются. Эволюция «точных позиций»

Вторник, 06 Дек 2016 10:19

Последние годы эволюции поисковых систем привели к тому, что понятие «точные» или «текущие» позиции, кажется, превратилось в фантом. Сегодня даже на одном и том же компьютере по одному и тому же запросу, введённому дважды подряд, поисковые позиции могут сильно отличаться, не совпадать вплоть до десятков позиций. Все сервисы проверки позиций показывают разные результаты в один и тот же день. Такое происходит как по коммерческим, так и не коммерческим ключевым словам, как с геозависимыми, так и с геоНЕзависимыми.

serp-kak-zavyazat-galstuk-yandex

Результаты поиска Яндекс по запросу «как завязать галстук» в ходе двух проверок подряд на одном и том же компьютере. Предположительно попал в апдейт («шторм»), поскольку уже на следующий день позиции стабилизировались, и «прыгать» продолжили только 9 и 10 позиции

Как же проверять позиции сайта в поисковиках сегодня, какой сервис самый точный для съёма места сайта в Яндексе и Google, и есть ли такие вообще? Попробуем разобраться.

Большое сравнение сервисов отслеживания позиций: top-inspector.ru, naserpe.ru, topvisor.ru, seolib.ru, rush-analytics.ru, seranking.com

Почему отличаются позиции в Яндексе

Навскидку года до 2009 оптимизатор мог в любой день, кроме дней непосредственного апдейта выдачи, с 95% уверенностью назвать текущую позицию сайта клиенту по любому запросу. Тот мог проверить позицию со своего компьютера и убедиться, что она совпадает. 5% сомнений оставались на случаи, когда запрос клиента был обработан одним из серверов Яндекса, на котором была ещё не обновившаяся версия какой-нибудь из баз данных, или если IP попал в аудиторию, на которой Yandex проводит тесты.

Региональность/геотаргетинг

Хотя возможность учёта региональности существовала в Яндексе с 2004 года,

Стало удобнее работать с региональной информацией. Теперь Яндекс автоматически определяет, в каком городе находится компьютер, с которого поступил запрос, и, если уточнение по региону имеет смысл, предлагает повторить поиск, ограничив его сайтами данного региона.

но поскольку опция не была включена по умолчанию и только для некоторых запросов предлагалась пользователю, отличия в выдаче Яндекса для пользователя из Москвы, Киева и даже Торонто не вносили сильных разногласий в то, на какой позиции находится сайт.

Геотаргетинг вводился постепенно. В начале подключался на уровне стран («Яндекс сделал украинский поиск», 2 октября 2007 года), чем не доставлял сильных хлопот оптимизаторам: была возможность выбрать регион поиска, максимум приходилось использовать прокси нужной страны. И только сильно после страны дробились до регионов (где-то городов, а где-то областей и городов), в каждом из которых могли быть свои сайты в ТОПе.

kody-regionov-poiska-v-yandekse

Коды регионов поиска в Яндексе (полный список)

Стоит также отметить, что долгое время, несмотря на существование региональности, столичные сайты могли иметь одинаковые позиции как по столице, так и по регионам. Происходило это потому что:

  1. Для многих регионов долгое время не было региональных сайтов вообще.
  2. Даже если они были, то могли быть плохо оптимизированными: регион сайта в силу каких-то причин не признавался Яндексом или признавался неправильно
  3. Столичных сайтов всегда было намного больше, они имели больше ссылок, возраста и траста
  4. В виду некоторых перекосов в формуле ранжирования в сторону ссылок, возраста и траста сайта

Таким образом, иногда для съёма позиции не требовалось даже выставление региона: для жителя Москвы и Архангельска поиск отдавал московские ответы (иногда, даже если в Архангельске были свои сайты).

10 апреля 2009 года Яндекс выкатил алгоритм «Армазас» (он же «Анадырь») — появилась включённая по умолчанию региональная выдача или «геотаргетинг». Пресс-релизы раз и два. Регион пользователя определялся на основе IP, и для каждого региона в случае наличия в нём локальных сайтов предпочтение отдавалось именно им. Так поиск впервые стал отличаться для двух людей, находящихся в разных уголках одной и той же страны.

С этого момента SEO-студии стали продвигать сайты не просто «в Яндексе», а «в Яндексе в регионе таком-то». Для точного сбора позиций стало обязательным либо использование параметра lr=номер региона, либо выставление местоположения в настройках Яндекса на странице https://yandex.ru/tune/geo. Дополнительно через параметр адресной строки rstr=-номер региона можно было ограничить область поиска только сайтами из заданного региона (по умолчанию отключено; не рекомендуется). Клиенту сообщалось, по какому региону происходит проверка позиций сайта в Яндексе, и как ему выставить такой же у себя в браузере. При выполнении данных условий позиции совпадали. При этом апдейты происходили относительно редко, а позиции между ними оставались статичными.

Региональность подключалась сначала по России, а позже и по другим странам СНГ.

Яндекс запустил новую версию украинского поиска — «Полтава». Теперь при ответе на геозависимые запросы поиск отдает предпочтение ресурсам из того же региона, что и пользователь.

Региональность, пусть и добавила хлопот оптимизаторам, но оставила позиции «точными»: можно было быть уверенным, что такая же позиция будет и у посетителя из целевого региона.

Персонализация

17 августа 2011 года Яндекс запустил «Рейкьявик» — учёт языковых предпочтений пользователя, сделав таким образом первый шаг в сторону персонализации, а, значит, отличной выдачи на каждом компьютере.

12 декабря 2012 года поиск окончательно стал персональным — Yandex внедрил алгоритм «Калининград». Теперь собранная информация о предпочтениях конкретного пользователя использовалась в поиске, чтобы составить для него персональные результаты:

Он предлагает пользователям подсказки и ответы, учитывая их личные интересы и предпочтения. Так, по запросу [гарри поттер] любителю чтения Яндекс найдет прежде всего книгу, а не фильм или игру.

Персонализация работала даже для неавторизованных в Яндексе пользователей по куки. Лучше всех о последствиях данного нововведения с точки зрения перераспределения трафика написала Елена Камская.

Стоит отметить, что персонализированными результаты поиска становились только после набора определённого количества статистики по пользователю, что для конкретной тематики часто наступало лишь на второй день, когда интерес пользователя к теме мог быть уже окончательно удовлетворённым. Для SEO-специалистов это означало, что для съёма позиций куки можно сбрасывать не каждый запрос, а раз в N запросов. Это исправило обновление «Калининграда» — алгоритм «Дублин», вступивший в силу в июне 2013 года. Теперь предпочтения пользователя обновлялись в режиме реального времени, и персонализация по запросам начинала действовать уже спустя несколько поисков/переходов/посещений сайтов пользователем.

yandex-dublin

Как работает алгоритм Яндекс.Дублин

Начиная с «Калининграда» для правильного снятия позиции сайта помимо учёта региона необходимо было также сбросить персонализацию, для чего достаточно было перед каждым съёмом позиции очистить куки или открыть новое окно браузера в режиме «Инкогнито», где куки при открытии отсутствуют.

Также я рекомендую выключить опцию «учитывать мою историю поиска в результатах» на https://yandex.ru/search/customize, даже если собираетесь снять позицию по всего одному запросу. Достоверно неизвестно, использует ли Yandex IP-адрес пользователя для персонализации его выдачи, или же ограничивается только куками. Если IP-адрес всё же используется, то эта настройка может отключать персонализацию на основе IP-адреса пользователя. И уж точно включённой эта настройка приведёт к смещению позицию уже после нескольких запросов.

yandex-nastroyka-uchityvat-mou-istoriu-poiska-v-resultatah

Настройка «учитывать мою историю поиска в результатах» в Яндексе

С этого момента позиция перестала быть точной, поскольку отличалась для разных компьютеров с учётом персонализации, но её всё ещё можно было повторить, выставив правильный регион и сбросив персонализацию (куки). Дальше всё станет ещё хуже...

Введение полной персонализации привело к естественному конфузу многих клиентов. Если необходимость выставления правильного региона для снятия позиции была более-менее понятна, то почему на компьютере потенциального клиента из данного региона позиция в Яндексе может быть совершенно другой, понять было трудно. «Позиция» стала индикативным фантомом: померить можно, а гарантировать на компьютере у потенциального клиента и даже соседнем компьютере — нет.

Многорукий бандит — «живая» выдача Яндекса, постоянные перестановки позиций

Примерно в конце 2015-начале 2016 года Яндекс ввёл «многорукого бандита» (он же «однорукий бандит», он же «детерминированный хаос») в результаты поиска. Технология была нацелена на «расконсервирование ТОПов»: дать новым сайтам фору, подкидывая их в ТОП-10 для теста поведенческих. Старые сайты, законсервировавшие ТОП фактором возраста (накопившихся по ним статистических данных), на этот период выбрасываются из ТОПа (вплоть до вылета за ТОП-50). Идея сводилась к тому, что новички могут оказаться лучше старичков, поэтому следует дать им шанс показать себя.

«Бандит» работает не по всем запросам и тематикам. Предположительно Yandex включил его только по тем запросам или тематикам, где у него был избыток качественных сайтов, дающих хороший ответ пользователю. К таковым относятся все коммерческие тематики с высоким чеком. Очень хитро с точки зрения Яндекса, стоит заметить. То есть там, где уже избыток дающих качественный ответ сайтов, давайте просто будем их ротировать... Поскольку сам я работаю только в коммерческих высококонкурентных тематиках, то по моим запросам «Бандит» присутствует всюду, и дальнейшие рассуждения именно в контексте коммерческих ВК тематик.

С этого момента стало практически невозможным получить полностью одинаковый ТОП-10 в коммерческой тематике: он начал всегда отличаться как минимум перестановкой 9-ой и 10-ой позиции между собой (по информационным запросам одинаковость выдачи — пока ещё не редкое явление). При условии устранения персонализации в течение двух замеров подряд, позиция сайта может скакать до ±20. При этом чем ближе сайт к ТОП-¾, тем меньше скачут его позиции — сайты внутри ТОП-3 часто просто ротируют первых три позиции между собой. В ТОП-4/10 позиции могут изменяться на ±2-3, иногда сайт может быть выброшен за ТОП-50. Сайт ближе к 10-й позиции часто выбрасывается из ТОП-10, и на его место заходит другой сайт. За пределами ТОП-10 расколбас увеличивается. И чем дальше от ТОП-10, тем сильнее расколбас: вплоть до ±20 позиций. Естественно, речь идёт о замерах с отключённой персонализацией: режим «инкогнито», отключение «учитывать мою историю поиска в результатах», сброс кукисов перед каждым замером. Поэтому нет никакого смысла сравнивать онлайн сервисы массовой проверки, серверные скрипты, платные и бесплатные программы и вообще любой софт по точности сбора позиций в Яндексе между собой: у вас везде будут расхождения.

Ниже представлены скриншоты изменения позиций нескольких запросов в Яндексе в течение месяца. Несмотря на то, что по некоторым из них создаётся ощущение, что в некоторые периоды позиция статична, в действительности при ручной проверке сайта по позициям внутри дня они тоже «прыгают»: какой-то в диапазоне побольше, какой-то в диапазоне поменьше. К тому же данный сервис работает, предположительно, на основе Яндекс.XML, где, по моим личной ощущениям, больше статичности, чем на реальной выдаче.

По мере подползания этого запроса к ТОПу в Яндексе разброс его позиций изо дня в день немного уменьшается

По мере подползания этого запроса к ТОПу в Яндексе разброс его позиций изо дня в день немного уменьшается

этот запрос "стабилизировался" в диапазоне 10-15 позиций

этот запрос «стабилизировался» в диапазоне 10-15 позиций

Но от вылетов за ТОП-50 не страхует и близость к 10-ой позиции

Но от вылетов за ТОП-50 не страхует и близость к 10-ой позиции

совсем не страхует

совсем не страхует

А вот ТОП-3 страхует ото всего. Пока ты заслуживаешь там находиться, происходят максимум перестановки в пределах ТОП-3

А вот ТОП-3 страхует ото всего. Пока ты заслуживаешь там находиться, происходят максимум перестановки в пределах ТОП-3

У этого запроса жизнь в Яндексе тоже удалась

У этого запроса жизнь в Яндексе тоже удалась

То есть выдача Яндекса теперь меняется не просто в какие-то промежутки времени, она «живая» всё время.

С этого момента слово «точные» стало больше неприменимым к позициям в Яндексе в принципе. SEO-шники заговорили об измерении средней позиции за период. То есть в течение, например, суток или недели делалось, например, 5 замеров, из которых выводилась средняя позиция. Если внутри замеров есть 1 или несколько (учитывайте количество по вкусу 🙂 ) вылетов за ТОП-50, его, предположительно, стоит отбросить.

Пользователи теперь часто жалуются в Facebook, что то один сервис снимает «не так, как у них вручную показывает», то другой. В действительности же теперь все сервисы снимают «и так», и «не так», — такова новая реальность, и с ней приходится считаться.

Почему не совпадают позиции в Google

Во-первых, в Google работают совершенно аналогичные технологии. Здесь есть те же геозависимость и персонализация выдачи и подсказок.

Во-вторых, узнать позиции сайта в Google одновременно и проще, и сложнее. Проще, потому что отсутствует «детерминированный хаос», и позиция будет, как правило, полностью статичной как минимум до следующего апдейта. Сложнее, потому что, во-первых, отсутствует возможность управлять региональностью так же просто, как в Яндексе (в ноябре 2015 Гугл удалил возможность изменить местоположение из настроек), во-вторых, геозависимость выражена ещё сильнее. В США, например, выдача по коммерческим геозависимым запросам может быть разной, даже если делать запрос из двух разных точек на расстоянии 100 метров друг от друга. Был эксперимент, когда парень сел на маршрутку, курсировал по городу и снимал позиции. Его положение меняло результаты поиска очень значительно. Ссылки, к сожалению, найти не могу...

результаты поиска в Гугл по запросу "пирамида" для разных регионов России

результаты поиска в Гугл по запросу «пирамида» для разных регионов России

Возьмем, к примеру, запрос [пирамида]. Помимо статей про многогранники и про сооружения древних египтян, в Волгограде мы покажем афишу популярного кинотеатра, в Казани — адрес известного развлекательного комплекса, а в Оренбурге — местный компьютерный магазин.

О полной статичности говорить не приходится: как показал Рэнд Фишкин, как минимум сильное влияние в течение дня может оказать CTR на выдаче, но это скорей маргинальный кейс, который уместен по трендовым запросам и новостям.

Обобщим: выдача в Google не меняется на каждый запрос как в Яндексе (при условии отключения персонализации)...

Камнем преткновения для съёма «точных» позиций в Google является как раз региональность. Существуют минимум 5 способов посмотреть, какие позиции занимает сайт, глазами пользователя из целевого региона:

  1. Через инструмент для рекламодателей контекста Adwords Google Ad Preview — считается самым точным, ведь врать тем, кто непосредственно приносит деньги Google, нехорошо. К сожалению, отдаёт немного результатов (у меня получалось до 25), и отдаёт их картинкой 🙂 .
  2. Эмуляция вашего местоположения в инструментах веб-разработчика Google Chrome (ручная подмена ваших геокоординат в браузере) — даёт отличия от первого способа.
  3. Параметр адресной строки &near=cityname — даёт отличия от первого способа.
  4. Через Proxy/VPN нужной страны или локальные клоны Google в каждой отдельно взятой стране как, например, aol.com — практически невыполним, если стоит задача охватить хотя бы 50 стран и несколько сотен городов.
  5. Метод на основе дешифровки параметра адресной строки uule, представленный в 2013 году, и на основе которого недавно разработал сервис наш соотечественник region.xstroy.com — работает так же, как и Google Ad Preview, но без ограничений по числу результатов и в обычном виде, а не картинкой. Вероятно, является лучшим на сегодня и уж точно намного удобней метода №1.

С учётом выше перечисленного представьте, каков может быть разброс у разных сервисов съёма позиций... Но и это ещё не все факторы, влияющие на «точность».

Технологии съёма позиций

Яндекс.XML или парсинг

13 ноября 2003 года Яндексом был заявлен «сервис для хороших роботов» Яндекс.XML, отдающий поисковые результаты в XML-формате с ограничением в 200 запросов в сутки. Большее число запросов можно было докупить.

На сайте Яндекс.XML есть примеры использования XML-поиска с исходным кодом программ: например, игра «Отчество», позволяющая узнать отчество известного человека, или интересное для многих веб-мастеров приложение для определения места сайта в выдаче Яндекса

Много лет SEO-шники снимали позиции в Яндексе именно этим сервисом.

В бородатом 2006 Яндекс поднял лимит с 200 до 1000 запросов/сутки на 1 зарегистрированный IP, чтобы поспособствовать его популяризации. При необходимости можно было докупать запросы. Получить неограниченный доступ к Яндекс.XML можно было, добавив свой сайт в РСЯ. За прямой парсинг html-выдачи Яндекс тогда банил по IP (капчи тогда у Я ещё не было, поэтому такой хардкор).

Позиции в Яндекс.XML могли отличаться от позиций в реальной выдаче, однако очень незначительно (1-3 позиции). Отличия увеличивались только в дни апдейтов и могли быть существенными по малому числу запросов. Учитывая общее удобство использования XML SEO-шники закрывали глаза на недостатки, добывали IP для повышения лимитов и снимали позиции в основном этим сервисом.

В конце 2010 года Яндекс начал ужесточать лимиты: для получения 1000 проверок в сутки стало необходимо подтверждать номер телефона. Началась эра продаж аккаунтов Яндекс с подтверждёнными номерами телефона и массовой покупки сим-карт.

Это ужесточение правил привело к тому, что всё большее число SEO-шников стало посматривать в сторону прямого парсинга html-выдачи Яндекса с её последующим разбором. Однако этот метод был крайне ресурсоёмким: необходимо было обеспечивать скорость съёма через многопоточный режим, а значит нужно много прокси, которые периодически могут баниться, нужно бороться с капчей, а значит нужны сервисы разгадывания каптч, необходимо разбирать html-код отданных Яндексом страниц, вёрстку которых он мог периодически менять, а значит служба поддержки становится неотъемлемой частью такого сервиса. В общем, всё сложно... Поэтому многие продолжали пользоваться Яндекс.XML, покупая телефоны, ища разные хитрые способы раздобыть лимиты. Многие понимали, что вечно так не будет...

Параллельно шли процессы усложнения поискового алгоритма: появлялось всё больше колдунщиков, всё больше дифференцировалась классификация запросов, увеличилось число разновидностей формулы ранжирования, применяемых к запросам того или иного класса. В связи с этим у SEO-шников появлялось всё больше претензий к Яндекс.XML, который, казалось, отдавал результаты без применения к ним полной формулы ранжирования, использовавшейся на реальной выдаче, из-за чего позиции всё чаще отличались.

В 2013 условия использования Яндекс.XML ужесточились ещё больше: подтверждение по номеру телефона упразднили, однако лимиты стали рассчитываться от качества сайтов, подтверждённых в Я.Вебмастере (кажется, считали по ТИЦ сайта). Последним гвоздём в гроб Я.XML стало то, что лимиты стали распределяться по часам в зависимости от текущей загруженности вычислительных мощностей. То есть стало невозможным прогнозировать объёмы съёма позиций. Лимиты, к слову, стало возможным передавать на другие аккаунты, что привело к появлению рынка покупки/продажи лимитов. Очень хорошо о последствиях данного затягивания гаек резюмировано в блоге Devaka.

В совокупности с неудовлетворённостью точностью Яндекс.XML рынок двинулся в сторону написания парсеров html-выдачи Яндекса, попутно навсегда исказив данные о частотности поисковых запросов в Яндекс.Wordstat.

Введение «многорукого бандита» ещё больше подстегнуло ещё не понимающих его сути вебмастеров писать собственные парсеры выдачи. Как стало ясно позже, в виду добавившегося хаоса, точности по сравнению с Яндекс.XML это особо не добавило 🙂 .

Таким образом, на сегодня часть сервисов снимают позиции в Яндекс через Яндекс.XML, часть — через парсинг html результатов поиска Яндекса. Такая разница в подходах — важный фактор, обуславливающий отличия результатов разных сервисов. И сказать, каков метод более точный, сегодня уже трудно, потому что выдача «живая».

Google

Google никогда не предоставлял сервисов, аналогичных Яндекс.XML, — все желающие получать здесь позиции сразу писали парсеры и разгадывали капчу (благо, в Google в 2006 году она уже была). Поэтому на отличия в позициях здесь в основном будет влиять способ учёта региональности.

Другие проблемы

Когда правильно проверять позиции? Апдейты

В Яндексе

Раньше, пока поисковые системы не перешли на инкрементальные (частичные) апдейты в режиме (почти) реального времени, всё было просто. Мы видели, что количество документов в коллекции Яндекса начинает меняться, и это говорило нам об обновлении индекса. Ждали, пока это количество устаканится, и снимали позиции. Мы видели, что документ стал находиться в выдаче по какому-нибудь экзотическому анкору вроде «225абракадарбра1234098», который мы предварительно специально проставили для наблюдений, и это означало, что идёт учёт новых ссылок, и меняются позиции в выдаче. Ждали день и снимали позицию. «Шторм» выдачи наблюдался только в дни непосредственных апдейтов. Апдейты происходили редко: раз в неделю или даже реже. Можно было быть уверенным в своей позиции целую неделю!

Сегодня всё не так. Если раньше слово «апдейт» было однозначным, то сегодня в выдаче постоянный «шторм» (во многом благодаря «многорукому бандиту»), поэтому мы стали называть апдейтами только такие изменения выдачи, при которых степень изменения выдачи превышает определённый порог: как считаются эти степень изменения выдачи и выбирается порог — личная тайна каждого отдельно взятого сервиса, ведущего мониторинг за выдачей. Поэтому уведомления об апдейтах в разных сервисах отслеживания могут приходить далеко не одновременно. Если в настройках проектов вы выбрали снятие позиций только после апдейтов, то в разных сервисах это снятие, соответственно, может запускаться в очень разное время.

Кроме того апдейты идут по разным группам факторов: текстовые, ссылочные, поведенческие — и встаёт вопрос касательно алгоритма определения как минимум последней. При этом отделение «многорукого бандита» от «реальных» апдейтов пока ещё возможно на основе размера коллекции и учёта нового ссылочного.

В Google

Хотя апдейты и происходят в реальном времени, этот вопрос можно опустить, поскольку позиции при апдейтах обычно не скачут очень сильно. То есть самого понятия «шторм» здесь не наблюдается и можно сказать, что снятие позиций в апдейт будет вносить сильные искажения лишь в случае непосредственно изменения алгоритма.

Экспериментальная аудитория

Любой пользователь может оказаться в тестовой выборке, которой показываются иные результаты поиска, чем всем остальным. Так Яндекс и Google тестируют свои гипотезы для улучшения качества результатов поиска.

У SEO-шника изменился вид результатов поиска, он поделился наблюдением с коллегами, те подсказывают ему, что он в тестовой выборке

У SEO-шника изменился вид результатов поиска, он поделился наблюдением с коллегами, те подсказывают ему, что он в тестовой выборке

Изменяющаяся вёрстка страницы результатов поиска

Чтобы SEO-шникам жизнь мёдом не казалась, как Яндекс, так и Google периодически изменяют вёрстку (html-код) страниц SERP. Поскольку получение позиций завязано на разборе html-разметки (параметры id и class у тегов, порядок вложенности тегов друг в друга), то подобные изменения всегда ломают сбор позиций любому сервису. А поскольку Google и Яндекс постоянно производят тесты на выдаче, меняя её внешний вид и формат, то происходить такое может очень часто, вплоть до нескольких раз в день, если, например, IP вашего парсера «повезло» попасть в 5% аудитории для проведения тестов.

Кроме того, как я выяснил в приватной беседе с разработчиком Seolib, Google и Яндекс не всегда отдают ровно ожидаемое число результатов. Часто может быть менее 10 результатов. Я лично парсил в Яндексе и 48, и 49 при ожидаемых 50-ти. Поэтому у каждого сервиса отдельно стоит дилемма, снимать 50/100 результатов за раз, или же снимать постранично, делая 5 обращений для получения 50 результатов (по 10-ть на обращение). Естественно, выбранное допущение сыграет роль на «точности»...

Кроме того, поисковикам не составляет труда, определить, обращается к ним скрипт или реальный человек, установив ему Cookie через Javascript или же отслеживая движения мышью в окне браузера. Реальный человек двигает мышью, реальный браузер выполнит Javascript, получит Cookie и станет использовать её при последующих обращениях. Серверные скрипты, как и десктопный софт, не умеют ни двигать мышью, ни выполнять Javascript, поэтому не смогут установить такую Cookie. На основании этой разницы легко детектируются автоматические парсеры, и им затем можно отдавать другую вёрстку и даже результаты поиска. Теоретически это можно обойти через имитацию работы в реальном браузере, используя программу-автоматизатор Selenium в связке либо с реальным браузером, либо с консольным (non-GUI) Webkit-браузером PhantomJS: так уже давно накручиваются поведенческие, и это повсеместно используется в автоматизации тестирования frontend'a в крупных компаниях, например, российском Badoo (не путать с китайским поисковиком Baidu). Если Selenium управляет реальным браузером, установленным на компьютере, то выглядит это как запуск последнего, в котором курсор начинает перемещаться и кликать указанные элементы сам по себе 🙂 . Лично я не слышал о его использовании для парсеров выдачи. Update 13.04.2017: автор PhantomJS Виталий Слободин объявил о прекращении разработки в связи с выходом Headless Chrome.

Конечно, программы и сервисы сбора позиций пытаются писать всё более гибкие правила разбора вёрстки, однако спасает это только на время. Поэтому ситуация «Яндекс/Google опять поменял вёрстку, и всё сломалось» — будняя рутина в любом сервисе. Оценивать точность съёма позиций только в рамках того, кто насколько быстро реагирует на изменение вёрстки, введение новых форматов сниппетов, «подмесов» из карт, видео, картинок и т.п., дело, опять же, бессмысленное, потому что сегодня первыми отреагировали на смену вёрстки, например, Сеолиб, а завтра Топвизор, ну и т.д. 🙂

Рассинхронизация серверов, отдающих ответы

Это инженерное ограничение любого поиска: чтобы выдерживать миллионы посещений и при этом отдавать ответ максимально быстро, необходимо использовать множество серверов, на каждом из которых дублировать и обновлять одну и ту же информацию. На входе таких серверов стоит, как правило, сервер-балансировщик, распределяющий всех посетителей на тот или иной сервер в зависимости от текущей загрузки последнего или каких-то других условий. При этом обновление информации (о новых сайтах и ссылках в базе данных) дойдёт до каких-то серверов быстрее, а до каких-то позже. Конечно, можно было бы ожидать полной доставки свежей информации на все сервера, и только потом одномоментно переключать все их на работу с ней, но в данном случае разработчикам важнее дать пользователю свежий ответ как можно быстрее, чем следить за одинаковостью выдачи. Скорость отдачи свежей информации особо важна для, например, новостей и стремительно появляющихся трендов.

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

Сводная таблица факторов. Выводы

Сводная таблица. Факторы, влияющие на отличия позиций
ФакторЯндексGoogle
когда снимает сервискогда человек проверяет вручнуюкогда снимает сервискогда человек проверяет вручную
Актуальность базы данных на сервере, отдавшем ответвлияетвлияет
Попадание IP сервиса/человека в тестовую выборкувлияетвлияет
Изменение html-версткивлияет
(сервис пропустит какие-то результаты или посчитает неправильно)
не влияетвлияет
(сервис пропустит какие-то результаты или посчитает неправильно)
не влияет
Распознание скрипта парсинга как робота и отдача ему другой вёрстки/результатоввлияет, если используется парсинг html вместо XML
(может быть устранено через Selenium)
не влияетвлияет
(может быть устранено через Selenium)
не влияет
Технология съёмавлияет (Яндекс.XML или парсинг html)не влияет (вручную = парсинг html)не влияет = парсинг html
Попадание в апдейтвлияетобычно влияет не сильно
(сильно только в дни смены алгоритма)
Другие факторы
  • многорукий бандит;
  • постоянный «шторм» (перестановки позиций), даже когда нет апдейтов;
  • если парсинг html, то допущения о том, сколько позиций парсить за раз.
  • многорукий бандит;
  • постоянный «шторм» (перестановки позиций), даже когда нет апдейтов.
  • допущения об учете региональности;
  • допущения о том, сколько позиций парсить за раз.
допущения об учете региональности
Персонализациявлияет, но можно устранитьвлияет, но можно устранить
Можно ли гарантировать ту же позицию на компьютере потенциального клиента?нет, всё вышеперечисленное работает и на компьютере потенциального клиентанет, всё вышеперечисленное работает и на компьютере потенциального клиента
Как относиться к таким позициям?убирать персонализацию, задавать регион и делать поправку на наличие постоянного шторма и «бандита» (условия поправки см. в следующем разделе). Полученную позицию уверенно использовать в качестве индикативаубирать персонализацию и, если есть доверие к методу, которым сервис задаёт региональность, полученную позицию уверенно использовать в качестве индикатива

Как, надеюсь, стало ясно, «точность позиций» — это очень условная штука. «Точности» более не существует, и даже если вы что-то можете снять, то вряд ли можете гарантировать, что это же будет и на компьютере соседа. Во-первых, потому что сама выдача живая, во-вторых, потому что есть персонализация и региональность, в-третьих потому что любой софт делает те или иные допущения при мониторинге позиций, опровергнуть которые сложно из-за «во-первых» и «во-вторых», то есть ни у кого нет эталона.

В целом заниматься сравнением «точности позиций» по разным сервисам — бессмысленное занятие, и если увидите очередного заблудшего, кричащего в Facebook о проблемах того или иного сервиса, отправьте прямиком на эту статью, не поднимая массовой истерии в комментариях. Лучше писать разработчикам сервиса, — они отследят изменения в вёрстке выдачи, и подкрутят код для её разбора.

Сегодня отслеживание позиций производится скорей, чтобы иметь индикатор правильности выбранной SEO-специалистом стратегии и выявления проблем (технических, текстовых, ссылочных, коммерческих, поведенческих). Они дают возможность примерно оценить диапазон вашего места. Они никак не гарантируют, что на компьютере потенциального клиента вы находитесь на измеренной позиции.

Неужели точность съёма позиций вообще нельзя оценить?

Для Яндекса

Моё правило на сегодняшний день следующее: если при ручном просмотре разница с софтом для 95% запросов в 1-3 позиции, а для 5% запросов до ±20-ти позиций (по данным запросам в выдаче может работать «однорукий бандит»), то это мы называем «никогда не врёт, точность 100%». И это только очень примерный ориентир, потому что допустимый процент погрешности сильно зависит от распределения позиций вашего сайта в диапазонах ТОП-4, ТОП-10, ТОП-30 и количества запросов, по которым присутствует «бандит». Если ваш сайт по большинству запросов стоит в ТОП-¼, то большинство программ и сервисов покажут очень высокую точность съёма позиций, просто потому что в данной зоне минимально работает «многорукий бандит», даже если тематика в целом «бандитская». Если же большинство запросов за пределами ТОП-10 и, ещё хуже, за пределами ТОП-30, то отличия в позициях, как между разным софтом, так и при анализе ручной проверкой, могут быть значительными.

Для Google

В Google отсутствует «шторм», но проблемы вносят спорные методы выбора местоположения. Здесь отличия между показаниями сервисов и реальным замером пользователем из целевого региона (с отключённой персонализацией) будут зависеть от того метода, которым сервис указывает регион. Навскидку, можно допускать отличия между съёмом вручную и данными сервиса по вашему региону (либо между разными сервисами) в 1-3 позиций и называть это «точность 100%, никогда не врёт». Вера в метод, выбранный сервисом для учёта региональности, остаётся за вами 🙂 .

http://kozachuk.ru

RSS комментариев

Как проверить позиции сайта в Яндексе и Google, и почему они отличаются. Эволюция «точных позиций»: 5 комментариев

  1. Иван Федорович:

    Очень интересно! Огромный труд. Я два дня назад прочитал Ваш анализ «Большое сравнение сервисов отслеживания позиций: top-inspector.ru, naserpe.ru, topvisor.ru, seolib.ru, rush-analytics.ru, seranking.com» — и был поражен его глубиной! А данный пост «о проверке позиций сайта» и вовсе превзошел мои ожидания. Спасибо, Саша! Удачи Вам во всех делах! И здоровье!

    1. kozachuk:

      И вам спасибо, Иван Федорович! Такой комментарий — самая приятная для меня похвала.

  2. Павел Горбунов:

    Хорошая статья.

    Спасибо!

    По содержанию — ни прибавить, ни убавить.

    1. kozachuk:

      Благодарю!

  3. Алексей:

    Спасибо за статью, приятно читать, когда человек грамотно излагает мысли. Так держать!

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*