Разбор утечки факторов ранживания - Студия MetaDiv (МетаДив)
  • Пн. - Вс. с 9:00 до 19:00
  • +7 915 457 11 34
  • info@metadiv.ru
  • г. Москва

Разбор утечки факторов ранживания

 Основные тезисы, часть 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 предполагает различные модели ранжирования для каждого уровня. Это пример того, как функционируют нейронные сети. Каждый слой — это компонент, который выполняет операции, а объединенные результаты этих операций создают ранжированный список документов, который затем представляется в виде поисковой выдачи.

Основные тезисы, часть 2:

5 самых негативных факторов:

— Реклама на странице.
— Разницу между текущей датой и датой документа. (Рекомендуется обновлять контент, а не создавать новые страницы)
— Фактор основанный на количестве показов URL по отношению к запросу. (Предположение о понижении в позициях URL, который появляется во многих поисковых запросах, для повышения разнообразие результатов выдачи)
— Доля коммерческих ссылок. Процент входящих ссылок с коммерческими анкорами. Коэффициент возвращается к 0.1, если доля таких ссылок более 50%, в противном случае он устанавливается равным 0.
— Географическое совпадение документа и страны, из которой пользователь осуществлял поиск.

5 самых позитивных факторов:

— Покрытие домена трехбуквиями из запроса. (Челябинская лотерея — chelloto. Переводим запрос в транслит, находим трехбуквия которые покрываются (che, hel, lot, olo), смотрим какую долю от всех трехбуквиев покрыли;
— Комбинация FRC и псевдо-CTR». Нет никаких указаний на то, что такое FRC;
— Кликабельность самого важного слова в домене. Например, по всем запросам, в которых есть слово «википедия», кликают на страницы википедии;
— Наиболее характерное слово запроса, соответствующее сайту, согласно Яндекс бару». Автор предполагает, что это означает ключевое слово, которое чаще всего ищут на панели инструментов Яндекса, связанной с сайтом;
— Домен в зоне .com

Неожиданные факторы:

— PageRank является 17-м по значимости фактором ранжирования Яндекса;
— Спам-карма основана на информации Whois и основана на вероятности того, что хост является спамом;
— Отношение ссылок, анкорным текстом которых является URL (а не текст), к общему количеству ссылок.
— Процентное соотношение количества слов, являющихся 200 наиболее частотными словами языка, от количества всех слов текста.
— Среднее время пребывания на сайте по данным ЯндексБара.

• Яндекс парсит Google, Bing, YouTube и TikTok, а также множество других сайтов и сервисов.

• Есть код, указывающий на то, что Яндекс использует некоторые данные Google в рамках собственных расчетов. Плюс 83 фактора ранжирования имеющих в названии GGL или GOOGLE.

• У Яндекса есть пороговые значения для 315 факторов ранжирования, превышение которых указывает на чрезмерную SEO оптимизацию. 39 из них являются изначально взвешенными факторами, которые могут предотвратить включение страницы в список первоначальных размещений.

• У Яндекса есть система “бустов”, которые могут улучшить ранжирование определенных документов.

• Калькулятор ссылочного спама Яндекса учитывает 89 факторов.

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

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

Относить тот или иной фактор к негативным/позитивным можно только опираясь на результаты тестирования.

Бинарные факторы показавшиеся мне интересными (опять же, не смотрю на DEPRECATED и UNUSED, так как это можно использовать и для Гугла в случае с ссылочным/текстовым. Однако собственные гипотезы для Яндекса можно строить отбросив факторы обозначенные двумя данными тегами)

1. Приоритет strict для TR — текстовый приоритет — есть все слова запроса где-то в документе (при этом они проходят контекстные ограничения запроса, например, оба слова д.б. в одном предложении).
2. Приоритет phrase для TR — текстовый приоритет — есть все слова запроса подряд в документе.
3. Наличие точной фразы (текста запроса) в заголовке (если точнее, в первом предложении документа). Контекстные ограничения и стоп слова учитываются в точности как в TRp2, т.е. factor[8] minors factor[5]
4. Длинный текст без ссылок
5. Это морда
6. Url имеет высокую LR
7. Все слова запроса есть в тексте + линках
8. На сайте есть реклама
9. На сайте есть реклама Яндекса
10. У документа нет LR
11. Для данного урла для данного запроса нет информации о кликабельности 1 — запроса или запроса-urla нет в базе кликов, 0 — запрос-url есть в базе кликов
12. Для данного запроса нет информации о кликабельности 1 — запроса нет в базе кликов, 0 — запрос есть в базе кликов.
13. Для данного domainId для данного запроса нет информации о кликабельности 1 — запроса или запроса-владельца нет в базе кликов, 0 — запрос-владелец есть в базе кликов
14. Коммерческая страница (классификатор Савина)
15. В документе нет всех слов запроса (с точностью до синонима)
16. В документе есть все слова запроса (с точностью до синонима)
17. В ссылках есть все слова запроса (с точностью до синонима)
18. В документе есть все слова запроса (с точностью до формы)
19. Страница недостижима по ссылкам с морды
20. В URL есть древняя дата. Распознаются древние новости. Фактор 1 если в урле есть год <=2007.
21. На странице есть про ‘оплату SMS’
22. Антиспамеры пессимизировали сайт — все динамические линковые факторы обнуляются. zerolnk.flt
23. Все совпадения только в URL’е, в тексте страницы совпадений нет
24. Является ли запрос навигационным, по кликабельности ответов
25. Запрос является локально-специфическим. Запрос часто переформулируют с явным заданием региона.
26. Запрос полностью покрывается двумя точными группами, состоящими из exact match слов запроса подряд.
27. Cуществует группа, состоящая из exact match слов запроса, покрывающая запрос (возможно, с пропуском, добавлением или заменой слова)
28. В урле нет цифр
29. Дополнительные факторы про раскрученность сайта линковыми кольцами. (antispam)
30. Считали LinkQuality для этой страницы или нет (не считали, если ссылок мало) исправленный
31. Медицинсий словарь
32. Запрос специфический для Москвы
33. Организация
34. Хост документа распознан в запросе
35. На странице порно реклама
36. Совпадение географии, определённой из урла документа и города запроса (ip или lr)
37. Хабовость страницы
38. URL является продуктом на Маркете
39. URL является ShopInShopCPA
40. Запрос является урлом с точностью до простановки точек и пробельных символов — используется правило колдунщика isurl
41. Бинарный фактор про мобильную адаптивность документа
42. Битое встроенное видео на странице
43. У документа есть турбо-страница для mobile платформы
44. Документ пришёл из WebTier1
45. Документ пришёл из Platinum0
46. Is site official
47. 1 if video on page
48. Документ имеет протокол https
49. Наличие в лемматизированном запросе слова не и похожих по смыслу
50. Наличие в лемматизированном запросе слова официальный
51. Наличие в лемматизированном запросе слов купить, цена и похожих по смыслу.

Наблюдения и выводы по сливу:

Факторы:
— Возраст ссылок в Яндексе как фактор ранжирования.
— Трафик и % органического трафика как фактор.
— Цифры в адресах страниц (урлах).
— Количество слэшей в адресах страниц (урлах).
— Зануление PR называется Hard pessimization.
— Надежность хоста. Определяется как доля страниц без ошибок (видимо имеются ввиду коды ответа 4** и 5** сервера).
— Отдельный фактор для википедии.
— Пачка поведенческих факторов: ластклик, CTR, время на сайте, показатель отказа.
— Возраст документа и дата последнего обновления. Здесь интересно, что в прошлом сливе алгоритма фигурировал срок 3 года как предельный к учёту. Здесь указан предел в 10 лет. То есть видимо страница с возрастом 10 лет по этому фактору будет такой же как 30-летняя.
— Средняя позиция домена по всем запросам.