Обложка канала

SEO практика

Практическая информация, связанная с SEO.

SEO практика

3 года назад
Открыть в
Зарубежные коллеги выкатили отличную статью с разбором утечки кода Яндекса. Спасибо Алаичу за наводку. Если вам лень читать все полностью, то вот мое саммари по статье. Возможно кому то будет полезно. Основные тезисы, часть 1: • Яндекс в настоящее время использует двух краулеров для индексации. Основной краулер и “Orange crawler” который работает в режиме реального времени. (В Гугле при этом используется деление индекса на три краулера - в режиме реального времени, регулярного и редкого). • У Яндекса нет рендеринга JavaScript. Несмотря на то, что возможность имеется, они ограничиваются краулингом текста. • Существует два варианта отдачи пользователю результатов поисковой выдачи. Первая - поиск результатов в “Метапоиске” (“Метапоиск” - кэш популярных запросов). Если результат не найден в данном слое, то запрос отправляется на обработку в базовый поиск, откуда переходит в Матрикснет для формирования выдачи. • Изучив файлы более подробно, было обнаружено, что в общей сложности существует 17 854 фактора ранжирования. • Дополнительно есть серия записей из 2000 факторов не входящих в основной код и предположительно являющихся тестовыми. • В документации сказано что у Яндекса есть три основные три класса факторов ранжирования: - Статические - TG_STATIC (например, относящиеся к странице - количество ссылок на страницу, в момент совершения поиска); - Динамические - TG_DYNAMIC (относящиеся и к запросу и к странице: слова, соответствующие поисковому запросу, их количество и местоположение на странице); - Запросные/Особые - TG_QUERY_ONLY, TG_QUERY, TG_USER_SEARCH и TG_USER_SEARCH_ONLY. (характерные только для поисковых запросов, например геолокация). • Главная особенность MatrixNet - возможность настройки формулы ранжирования для определенного класса поисковых запросов. • Несмотря на количество доступных факторов, в слитом коде присутствует много файлов, ссылки на которые отсутствуют в архиве. • В файле nav_linear.h в каталоге /search/relevance/ находятся начальные коэффициенты (или веса), связанные с факторами ранжирования. Этот раздел кода выделяет 257 из 17 000+ факторов ранжирования. • Учитывая, что коэффициенты в файлах имеют статические значение, высказывается гипотеза о том, что это не единственное место, где происходит ранжирование. Скорее всего данная функция служит для первоначальной оценки релевантности, после чего данные передаются в MatrixNet. • Что известно о MatrixNet? - Матрикснет применяется ко всем факторам; - Существует несколько уровней ранжирования (L1, L2, L3); - На каждом уровне есть ассортимент моделей ранжирования; • Файл select_rankings_model.cpp предполагает различные модели ранжирования для каждого уровня. Это пример того, как функционируют нейронные сети. Каждый слой - это компонент, который выполняет операции, а объединенные результаты этих операций создают ранжированный список документов, который затем представляется в виде поисковой выдачи.