13 марта 2023 0 2872

Слив Яндекса: что полезного нашли в базе бурж SEO-специалисты?

Утечка исходного кода Яндекса — это самое неоднозначное событие в мире IT, которое произошло за последнее время. И дело в том, что нет единого мнения об этой ситуации. Одни восхищаются подходом Яндекса к работе, а другие ужасаются произошедшему и кричат, что скоро не останется ни одного ресурса, который бы не взломали.

Но наша статья не о моральной стороне этого вопроса и даже не о том, какие в Яндексе крутые специалисты. А про то, как зарубежные SEOшники оценивают информацию, которую они смогли получить в исходном коде.

На одном из сайтов по SEO аналитик разобрал код и рассказал, что узнал в процессе работы с исходными данными Яндекса.

Аналитический разбор ситуации

В начале февраля в сеть просочились «фрагменты» кодовой базы Яндекса. Как и Google, Яндекс — это платформа со многими инструментами, такими как электронная почта, карты, служба такси и так далее. В коде есть фрагменты каждого инструмента. Согласно документации, которая была в архиве, кодовая база Яндекса была объединена в один большой репозиторий под названием Arcadia в 2013 году.

Яндекс — это не Google, тем не менее эти две современные поисковые системы продолжают оставаться в лидерах.

Инженеры-программисты обеих компаний посещают одни и те же конференции (SIGIR, ECIR и так далее), делятся находками и инновациями в области поиска информации, обработки/понимания естественного языка и машинного обучения. Филиал Яндекс есть в Пало-Альто, а представительство Google ранее было в Москве. Даже быстрый поиск через LinkedIn позволяет найти несколько сотен инженеров, которые работали в обеих компаниях.

Архитектура Яндекса

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

К счастью, Яндекс дает некоторое представление о своей архитектуре в общедоступной документации. Есть также пара патентов, опубликованных в США, которые помогают лучше понять принцип работы:

Автор статьи отмечает, что у Яндекса есть передовые практики и некоторые сходства с Google.

В документах Яндекса есть обсуждение двухраспределенной системы краулеров. Один для сканирования в реальном времени, он называется «Оранжевый краулер», а второй для обычного сканирования. У Google был индекс, разделенный на три сегмента: один для сканирования в реальном времени, один для регулярного сканирования и один для редкого сканирования. Этот подход считается лучшей практикой в ​​IR. Яндекс и Google различаются в этом отношении. Но общая идея сегментированного сканирования, основанная на понимании частоты обновлений, сохраняется.

У Яндекса нет отдельной системы рендеринга для JavaScript. Об этом написано в документации, но у них есть система визуального регрессионного тестирования на основе Webdriver под названием Gemini. При всем этом Яндекс ограничивается текстовым сканированием.

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

Система Яндекса использует BERT в своем пайплайне, поэтому в какой-то момент документы и запросы конвертируются во вложения.

Процесс ранжирования в Яндекс выглядит интереснее. Например, в Яндексе есть слой под названием «Метапоиск», в котором кешированные результаты популярных поисковых запросов обслуживаются после обработки запроса. Если результаты там не найдены, поисковый запрос отправляется на несколько тысяч разных машин на уровне базового поиска одновременно. Каждый создает список соответствующих документов для публикации. Затем возвращает этот список в MatrixNet, приложение нейронной сети Яндекса для повторного ранжирования, чтобы построить поисковую выдачу.

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

Факторы ранжирования Яндекс

Сразу после утечки Мартин Макдональд поделился файлом из кодовой базы под названием web_factors_info/factors_gen.in. Файл был взят из архива «Kernel» и содержит 1 922 фактора ранжирования.

SEO-сообщество использовало этот файл, чтобы распространять новость о сливе и выводы медийных коллег. Многие перевели описания и создали инструменты или Google Sheets и ChatGPT, чтобы разобраться в данных. Но 1 922 — это далеко не все факторы, а лишь один из многих «фрагментов» факторов ранжирования в кодовой базе Яндекса.

Более глубокое погружение в код показывает, что существует множество факторов ранжирования для различных подсистем. Всего 17 854 фактора ранжирования.

Кейс: простой и бюджетный залив гемблы в Facebook без банов с ROI 88%

Существуют и дополнительные 2 000 факторов, помимо тех, что указаны в основном коде. Предположительно, это факторы для тестов, которые инженеры используют перед добавлением новых принципов ранжирования. Вы можете просмотреть все факторы с метаданными по этой ссылке.

В документации Яндекса указывается, что у них есть три класса факторов ранжирования: статические, динамические и те, которые связаны конкретно с поиском пользователя и тем, как он был выполнен:

В кодовой базе они указаны в файлах ранговых факторов с тегами TG_STATIC и TG_DYNAMIC. Факторы, связанные с поиском, обозначены тегами TG_QUERY_ONLY, TG_QUERY, TG_USER_SEARCH и TG_USER_SEARCH_ONLY.

Хотя было выявлено более 18 000 потенциальных факторов ранжирования, документация указывает, что оценка строится на основе десятков тысяч факторов:

Это подтверждает мысль, что среда ранжирования у Яндекса очень динамична, как и среда Google. Также нужно помнить, что в коде есть много других файлов, на которые нет ссылок в архиве:

Например, есть подозрение, что в каталоге /semantic-search/ есть еще что-то связанное с DSSM.

Топ-5 отрицательно взвешенных факторов ранжирования

Ниже приводится список самых высоких отрицательно взвешенных исходных факторов ранжирования с указанием их коэффициентов и кратким пояснением, основанным на их описаниях, переведенных с русского языка.

  • FI_ADV: -0,2509284637. Этот фактор определяет, что на странице есть реклама любого рода и назначает самый высокий взвешенный штраф за один фактор ранжирования;
  • FI_DATER_AGE: -0,2074373667. Этот коэффициент представляет собой разницу между текущей датой и датой документа, определенной функцией датирования. Значение равно 1, если дата документа совпадает с сегодняшней, 0, если документ старше 10 лет или если дата не определена. Это говорит, что Яндекс отдает предпочтение более старому контенту;
  • FI_QURL_STAT_POWER: -0,1943768768. Этот коэффициент отображает количество показов URL-адреса по запросу. Похоже, Яндекс понижает URL-адрес, который появляется во многих поисковых запросах, чтобы повысить разнообразие результатов;
  • FI_COMM_LINKS_SEO_HOSTS: -0,1809636391. Этот коэффициент представляет собой процент входящих ссылок с «коммерческим» якорным текстом. Коэффициент возвращается к 0,1, если доля таких ссылок превышает 50%, в противном случае устанавливается в 0;
  • FI_GEO_CITY_URL_REGION_COUNTRY: -0,168645758. Этот фактор — географическое совпадение документа и страны, из которой пользователь выполнял поиск.

Таким образом, эти факторы указывают на то, что для наилучшего результата вы должны:

  • Избегать рекламы;
  • Обновлять старый контент, а не создавать новые страницы;
  • Убедиться, что большинство ваших ссылок имеют анкорный текст.

Все остальное в этом списке находится вне вашего контроля.

Топ-5 положительно взвешенных факторов ранжирования

Есть и список положительных факторов ранжирования с наибольшим весом.

  • FI_URL_DOMAIN_FRACTION: +0.5640952971. Этот фактор представляет собой странное маскирующее перекрытие запроса по сравнению с доменом URL-адреса. В качестве примера приведена Челябинская лотерея, сокращенно chelloto. Чтобы вычислить это значение, Яндекс находит перекрытые трехбуквенные слова (че, хел, лот, оло), смотрит, какая доля всех трехбуквенных сочетаний приходится на доменное имя;
  • FI_QUERY_DOWNER_CLICKS_COMBO: +0.3690780393. Описание этого фактора таково: «умное сочетание FRC и псевдо-CTR». Указаний на то, что такое FRC, нет;
  • FI_MAX_WORD_HOST_CLICKS: +0.3451158835. Этот фактор учитывает кликабельность самого важного слова в домене;
  • FI_MAX_WORD_HOST_YABAR: +0.3154394573. В описании фактора указано «наиболее характерное слово запроса, соответствующее сайту». Я предполагаю, что это означает ключевое слово, которое чаще всего ищут в панели инструментов Яндекса;
  • FI_IS_COM: +0.2762504972. Дополнительный коэффициент за домен .com.

Конечно, это не все факторы, и их намного больше. Но мы отобрали пятерку самых интересных.

Самые неожиданные факторы ранжирования

Ниже факторы, которые кажутся самыми неожиданными:

  • FI_PAGE_RANK: +0,1828678331. PageRank — 17-й по значимости фактор в Яндексе;
  • FI_SPAM_KARMA: +0.00842682963. Спам-карма названа в честь «антиспамеров» и представляет собой вероятность того, что хост используется для спама. Решение принимается на основе информации Whois;
  • FI_SUBQUERY_THEME_MATCH_A: +0,1786465163. Насколько тематически совпадают запрос и документ. Это 19-й самый взвешенный фактор;
  • FI_REG_HOST_RANK: +0.1567124399. У Яндекса есть фактор ранжирования хоста (или домена);
  • FI_URL_LINK_PERCENT: +0.08940421124. Отношение ссылок, анкорный текст которых является URL-адресом, к общему количеству ссылок;
  • FI_PAGE_RANK_UKR: +0.08712279101. Украинский PageRank;
  • FI_IS_NOT_RU: +0.08128946612. Хорошо, если домен не .ru. Судя по всему, российский поисковик не доверяет русским сайтам;
  • FI_YABAR_HOST_AVG_TIME2: +0,07417219313. Это среднее время пребывания на сайте, согласно данным YandexBar;
  • FI_LERF_LR_LOG_RELEV: +0.06059448504. Релевантность ссылки, основанная на качестве каждой ссылки;
  • FI_NUM_SLASHES: +0.05057609417. Количество косых черт в URL;
  • FI_ADV_PRONOUNS_PORTION: -0.001250755075. Доля местоимений на странице;
  • FI_TEXT_HEAD_SYN:   -0.01291908335. Наличие ключей слов в заголовке с учетом синонимов;
  • FI_YANDEX_ADV: -0.09426121965. Яндекс наказывает страницы с рекламой Яндекса;
  • FI_AURA_DOC_LOG_SHARED: -0.09768630485. Логарифм количества областей текста в документе, которые неуникальны;
  • FI_AURA_DOC_LOG_AUTHOR: -0.09727752961. Логарифм количества гонтов, на которых владелец документа признан автором;
  • FI_CLASSIF_IS_SHOP: -0.1339319854. Яндекс будет меньше любить вас, если ваша страница — магазин.

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

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

Есть и другой код, указывающий на то, что Яндекс использует некоторые данные Google, как часть расчетов DSSM. Но сами по себе 83 Google-фактора показывают, что Яндекс довольно сильно опирается на результаты Google.

У Яндекса есть антиSEO факторы ранжирования

315 факторов ранжирования имеют пороговые значения, при превышении которых система видит, что страница чрезмерно оптимизирована.

1,3 млн потерянных денег, полгода ожидания и сорванная интеграция — что говорят о сотрудничестве с Эдвардом Биллом

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

Структура сервера документов

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

На снимке экрана выделено подмножество тех функций, которые особенно интересны:

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

Ссылочные факторы и расстановка приоритетов

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

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

Еще одна вещь, которую делает Яндекс, — это просмотр копии в домене и определение наличия дублированного контента с этими ссылками. Это могут быть размещения ссылок по всему сайту, ссылки на дубликаты страниц или просто ссылки с одинаковым анкорным текстом с одного и того же сайта.

Это показывает, что важно ориентироваться на более уникальные ссылки из разнообразных источников.

Что говорит SEO-сообщество об утечке Яндекса?

Мы собрали несколько комментариев специалистов из SEO, чтобы вы получили общее представление о ценности этого слива.

«Да, Яндекс — это не Google. И да, тот список факторов, который мы видим, не полон и не пригоден к действию. Но люди, которые громче всех говорят, что мы не можем извлечь из этого уроки, скорее всего просто не могут понять исходный код. В нем очень много интересного.  

Если вам нужны хаки или короткие пути, то их здесь нет. Но если вы хотите понять больше о том, как работает поисковая система, это золотой репозиторий», — Райан Джонс. 

Райан Джонс считает, что эта утечка имеет большое значение для комьюнити.

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

«Мы видели лишь  275 факторов персонализации, 220 факторов «свежести страницы», 3 186 факторов поиска изображений, 2 314 факторов поиска видео. Еще многое предстоит изучить. Наверное, самым удивительным для многих является то, что у Яндекса сотни коэффициентов для ссылок», — Кристоф Цемпер

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

То, что содержится в данных, не следует путать с тем, что может использовать Google.Тем не менее между двумя поисковыми системами есть интересные сходства.

Некоторые из просочившихся факторов ранжирования совпадают с методами, которые используются в SEO. Например, изменение анкорного текста. Также Алекс Буракс обнаружил фактор, определяющий приоритетность важных главных страниц:

«Как спендить объем с 1 аккаунта без бана приложений», — выступление Павла Панова, Founder&CEO INVISIBLE.TEAM

В SEO уже было правило, что нужно держать важный контент в нескольких кликах от главной страницы, а изучение кода Яндекса подтвердило это правило.

Итог

Утечка кода Яндекса в сеть — это не только очередное напоминание о том, что вся информация может оказаться в публичном доступе. Это отличная возможность проверить свои теории по оптимизации сайтов и построить новые.
 

Подписывайтесь на наш Telegram-канал, чтобы первыми узнавать новости и инсайды из мира SEO, нейросетей и IT!

Как вам статья?
ПОЛУЧИТЬ АКТУАЛЬНУЮ ПОДБОРКУ КЕЙСОВ

Прямо сейчас бесплатно отправим подборку обучающих кейсов с прибылью от 14 730 до 536 900 ₽.

Лучшие промокоды
Партнерки
Welcome Partners
Конвертируйте свой трафик в нише онлайн-казино
TRAFORCE
Дейтинговая СPA-сеть
Leadshub
Gambling и Betting CPA-сеть
Сервисы
Dolphin{anty}
Лучший антидетект браузер
PARTNERKIN
20%
iRent.Market
Aренда iOS-приложений с уникальной технологией
PARTNERKIN
20%
AdPlexity
Мониторинг мобильной, десктоп и нативной рекламы
partnerkin_m
25%