Всегда было интересно, существует ли разница между поисковой выдачей Яндекса и их API (xml.yandex.ru), решающим такие же задачи (официальная позиция: Яндекс.XML — возможность делать поисковые запросы к Яндексу и публиковать результаты поиска на своем сайте).

Известно, что данные в Яндекс.Вебмастер всегда сильно запаздывают и расходятся с реальностью: информация, которую можно получить через выдачу (количество проиндексированных страниц, ссылки и пр.) появляется в ЯВМ лишь через несколько суток.

Но поскольку в Яндексе выступает против непосредственного парсинга выдачи, они сделали альтернативу через получение данных по xml.

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

Вообще это очень интересная метрика (к примеру, чем чаще показывается сайт в выдаче, тем чаще антивирусный бот Яндекса проверяет страницу). В прошлом году я как раз её и получил, распарсив 3кк запросов из разных групп. Эти данные можно осудить в отдельной статье. А первый раз я этот термин услышал на Yet Another Conference 2013, в отделе безопасности.

Но вернемся к XML.

Суть эксперимента:

1. Было взято 2,778 запросов из 4 групп (коммерция, женская тематика, туризм, информационные запросы)
2. Почти одновременно был запущен парсинг поисковой выдачи (xml парсится дольше из-за внутренних ограничений)
3. Для доступа к Я.XML взяли собственные лимиты из Я.Вебмастера, для парсинга выдачи — закрытый прокси-сервис. Ради чистоты эксперимента был указан регион lr=1 (география IP прокси-сервиса — RU (по хуизу), в поле address указан Moscow).

Последний апдейт базы был 9 января, а данные собирали 13, так что шторма выдачи уже нет и данные можно считать достоверными.

Немного о минусах XML:

  • не отдает содержимое title, только сниппет
  • у сниппета есть разница со сниппетом из выдачи
  • не показывает, есть ли реклама в выдаче (так можно оценить конкурентов и степень коммерциализации запроса)
  • не показывает, есть ли сервисы Яндекса в выдаче

(Также я на другом своем проекте проверяю домены на показатели (индексация, тИЦ и прочее). При проверке индекса через XML очень часто Яндекс цифры меняет, это я давно заметил. Расхождение может достигать сотни страниц (плюс-минус), иногда в индексе якобы 0.)

Теперь выводы:

Большинство расхождений — плюс-минус 1 позиция.
Чуть меньше — плюс-минус 5 позиций
Совсем мало — другие сайты на позициях.

И в цифрах:

Совпадает позиций — 75%
Не совпадает — 25%

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


Цифры в результатах — это частотность запросов по вордстату (общая и точная), они особо роли не играют, но просто есть

Комментарии (13)


  1. gusev
    15.01.2016 17:27

    Как боролись с рандомизацией выдачи в Яндексе?
    files.runet-id.com/2015/optimization/presentations/26nov.optimization15-4--gladkih.pdf


    1. TFStudio
      15.01.2016 17:59

      Про персонализацию и рандомизацию выдачи в курсе.
      Не использовали куки, не использовали авторизацию. Парсили каждый запрос под новым ip.
      Это снижает рандом. В целом оценил степень изменения и она не такая сильная. В цифрах замерять буду следующим экспериментом. Множественные запросы в рамках 1 апдейта, в разное время и таким образом оценить степень изменения. даже если учитывать указанное вами, все равно, яндекс-api (xml) не так достоверно, как выдача. основной посыл эксперимента был именно в этом


      1. gusev
        15.01.2016 18:26

        Авторизация, куки, прокси это не про рандомизацию, а про персонализацию.
        У меня (тематика, попавшая в эксперимент) разница в выдаче 30-40%, если парсить выдачу раз в 4 часа по одному списку запросов


        1. TFStudio
          15.01.2016 18:31

          не пробовали делать n-запросов и выводить среднее, таким образом убирать рандом?


          1. gusev
            15.01.2016 18:51

            Среднее мало, что даст подкидывает / понижает запросы как из 10-ки, так из 30.
            Хорошую методику предложили С. Поломарь, М. Сливинский www.slideshare.net/mikeslivinsky/seo-55589153 сравнивать попарно все документы из топ 100, если документ с более низкой релевантностью занимает более высокую позицию, возможен подброс.
            Только собрать столько серпов сильно проблематично.


            1. TFStudio
              16.01.2016 11:25

              выбрал 100 случайных запросов. снимаю каждый час позиции. рандомизация не более 20% точнее будет позже, как и возможный алгоритм снятия настоящих позиций. надо поснимать дольше и уже смотреть данные.
              В рандомизации большинство +-1 позиция, потом в позициях 5+ включаю новый сайт, ближе к 10 позиции, что на траф не сильно влияет (топ3 снимает почти весь трафик)


  1. ioio
    15.01.2016 18:09
    +1

    Давно уже было замечена не точность данных Yandex XML. Но к сожалению, это единственный легальный способ проверять позиции.
    У нас на LINE.PR-CY.ru вот такие данные по ежедневным изменениям позиций:
    image
    То есть больше 40% позиций меняются каждый день. Очень часто на 1-2 позиции.


    1. prishelec
      16.01.2016 06:12

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


  1. Hidadmin
    16.01.2016 17:04

    С введением подобной рандомизации Яндекса анализ динамики путем сбора позиций что по XML, что по «живой» выдаче перестал быть весомым показателем.
    Сейчас эффективнее анализировать трафик, нежели позиции, меняющиеся при каждом нажатии F5.


    1. TFStudio
      16.01.2016 17:43

      Мне кажется вполне можно найти базовые результаты, убрав рандом.
      Данные чуть позже опубликую.
      А какие образом вы предлагаете анализировать траф, не очень это ясно? он либо есть по запросу, либо нету. Количество плавает от дня недели, сезона. Просто если запрос в топ5-10, то его стоит «дотолкнуть», к примеру. а если уже 1-2, то не стоит
      вот тут, к примеру отчетливо видно базовые:

      Большая картинка
      image


      1. gusev
        17.01.2016 11:55

        Да, было бы интересно посмотреть на данные. Сколько запросов смотрите? Из какой тематики, просто у меня (последний раз проверял 12.01.16) рандом значительно сильнее. Тематика – одежда


        1. TFStudio
          17.01.2016 13:38

          Сейчас взял 100 запросов (order by rand) и снимаю каждые 60 минут, чтобы получить первичные данные. Если они окажутся интересными, будет более масштабный эксперимент. yadi.sk/i/nPMc73dunAwKa вот часть данных. посмотрите. если есть интересные идеи как провести эксперимент и как снимать данные — пишите в личку, там обсудим


      1. Hidadmin
        17.01.2016 16:45

        Как анализировать трафик?
        Для этого есть Яндекс Метрика и Гугл Аналитикс. По ним мы видим динамику посещений и если она положительная, то работы по сайту проведены не зря и соответственно клиент доволен и всем хорошо. Сезонность смотрим в вордстате — https://wordstat.yandex.ru/#!/history?words=%D0%BF%D0%BB%D0%B0%D1%81%D1%82%D0%B8%D0%BA%D0%BE%D0%B2%D1%8B%D0%B5%20%D0%BE%D0%BA%D0%BD%D0%B0
        А позиции, которые условно говоря меняются при каждом обновлении страницы, это к сожалению уже не показатель на текущий момент (применительно к Яндексу), т.к. в отчете вы покажете 5-е место запросу, а клиент на своем компьютере увидит 11-е, ну и получится некоторый конфуз.

        То что есть расхождения между XML и реальной выдачей — это давно не секрет для тех кто занимается SEO и хоть как-то причастен к продвижению сайтов, вот например статья Деваки от 2013 года «Яндекс.XML vs ТОП» https://devaka.ru/articles/yandex-xml-vs-serp — с графиками, таблицами и т.п.

        На счет вашего анализатора — сервисов аналитики и проверки позиций в интернете достаточно, и практически у всех есть возможность проверки позиций как по XML, так и живой выдачи, есть анализы апдейтов по датам и куча прочих аналитических плюшек, поэтому у вас получается очередной велосипед, но, с другой стороны эксперименты лишними никогда не бывают :) сервисы навскидку

        megaindex.ru
        seolib.ru
        http://www.majento.ru
        allpositions.ru
        seoplane.ru
        top-inspector.ru
        topvisor.ru

        analyzethis.ru — интересный анализатор, в том числе и апдейтов большинства популярных поисковых систем

        ПС. Ссылки почему-то не отображаются, видимо кармы не хватает…