У attik.ru в выборку попали две страницы одного шаблона. Посадочная под дачные окна стоит седьмой по запросу «тёплые окна для дачи», общая категория пластиковых окон — тридцать пятой по «пластиковые окна купить». Подключений поровну, по 22 скрипта и 54 файла стилей на обеих. Сервер один, отвечает за 335 и 327 мс. Документы различаются на 42 килобайта.
Расходятся эти страницы там, где заканчивается техничка. 1205 слов против 2015, картинок 50 против 79. Дальше идёт on-page, то есть объём, полнота раскрытия темы и соответствие странице своему запросу.
Это не единичный случай. По всем 111 сайтам, где в выборку попали и высокие, и низкие адреса, картина та же. Между разными сайтами техничка отделяет верх от низа уверенно. Внутри одного сайта перестаёт. Алгоритм ранжирования Яндекса опирается на сотни факторов, и техничка среди них тот слой, который задаёт условия участия, а не место в выдаче.
- Выборка
- 2585 страниц после очистки
- Запросы
- 160, шестнадцать ниш
- Группы
- топ-10 против позиций 31–49
- Регион
- Москва
- Дата съёма
- 09.09.2026
- Поисковик
- Яндекс
- Браузерный слой
- 179 URL, по три прогона
- Исключения
- заглушки бот-защиты с кодом 200
Что здесь не будет разбираться
On-page слой я уже измерял отдельно, на 1601 странице по 162 запросам. Там проверялись title, description, H1, подзаголовки, объём текста, изображения, микроразметка и полнота интента. Ни полнота интента, ни длина title, ни большинство привычных ручных правок порядок мест внутри выдачи не объясняли.
Второй раз я это разбирать не буду. Эта работа только про техничку. Что отдаёт сервер, сколько весит загрузка, как настроен обход, кого сайт пускает к себе. Поисковая система видит этот слой раньше остальных, до текста, ссылок и поведения, и именно поэтому его удобно мерить снаружи.
Две величины, которые нельзя путать
Дальше в статье всё время идут две цифры, и они про разное.
Размер HTML — это сам документ, который отдаёт сервер, без скриптов, стилей, картинок и шрифтов. Медиана топ-10 здесь 395 КБ. Объём загрузки — всё, что браузер реально скачал, чтобы показать страницу. Медиана топ-10 уже 3,2 МБ.
Разница между ними в сорок с лишним раз. На HTML приходится всего 2,2% от того, что качает браузер, и эта доля одинакова у топа и у хвоста выдачи.
Что означают цифры в скобках
В таблицах попадаются обозначения из статистики. Читать их нужно так.
- p = 0,128
- Такую разницу легко получить на пустом месте, случайным совпадением, и строить на ней вывод нельзя
- p < 0,001
- Чтобы это совпало случайно, нужно невероятное везение. На такой вывод опираться можно
- 95% интервал [−1060; 26 170]
- Настоящая разница лежит где-то между этими двумя числами. Если между ними помещается ноль, разницы может не быть совсем
- коэффициент −0,224
- Насколько тесно связаны две величины. Ноль — связи нет, единица — жёсткая зависимость. 0,224 означает, что по размеру страницы её место в выдаче не угадаешь
- медиана
- Значение ровно посередине: половина страниц больше, половина меньше. Один гигантский сайт её не перекосит, в отличие от среднего арифметического
Шестнадцать признаков на одной шкале
А теперь число, которое ломает всю первую половину статьи. Прежде чем разбирать находки по одной, вот вся картина сразу. Метрика простая. Беру две страницы из одной выдачи и смотрю, у какой признак больше и какая стоит выше. Считаю по всем парам внутри каждого запроса, а их набралось 20 020. Пятьдесят из ста означает монетку, то есть признак не связан с местом вообще.
2585 страниц, 160 выдач, 20 020 пар внутри запросов. Ничьи делятся пополам. Серым отмечены два on-page-признака и длина мета-тегов, взятые для сравнения. Их я мерил отдельно, на 1601 странице.
Читается это так. Размер HTML оказался сильнейшим из шестнадцати, и даже он ошибается в 41 случае из 100. Время ответа сервера ушло влево. Страница с бо́льшим временем стоит выше только в 45 случаях из 100, так что быстрые хосты в этих данных чаще наверху. А число файлов JavaScript и CSS сидит на пятидесяти, то есть на чистой монетке.
Что обещают чеклисты и что в данных
Технический аудит продают под обещание роста позиций. Я сам продаю технический аудит и считаю, что он нужен, — но за другим. Вот пять утверждений, которые лежат в топе выдачи по запросам про техническую оптимизацию, и то, что показал замер топ-10 Яндекса.
| Что пишут | Что в данных |
|---|---|
| «Скорость — самостоятельный фактор качества, она напрямую влияет на позиции» | Времена загрузки топ-10 и позиций 31–49 не различаются. Первая отрисовка 842 против 736 мс, событие load 2131 против 1786 мс. Оба интервала включают ноль |
| «Страница грузится дольше трёх секунд — посетители уходят, позиции падают» | 34,5% страниц топ-10 грузятся дольше трёх секунд. Дольше пяти — каждая пятая. Порог реальный для конверсии, но выдача его не наказывает |
| «Начните оптимизацию с технических факторов — их больше сотни» | Из шестнадцати замеренных признаков сильнейший даёт 58,5 из 100 при монетке в 50. Половина чеклиста не различает первую десятку и четвёртую вовсе |
| «Сократите вес страницы и число запросов» | Наверху страницы тяжелее. Загрузка 3267 КБ против 2159, запросов 127 против 79. Лёгкость — не признак топа |
| «Уберите ошибки разметки и дубли — это поднимет сайт» | У топ-10 ошибок в микроразметке почти вдвое больше, чем у хвоста (16,7% против 9,4%), дублей title — вдвое с лишним. Чинить надо, но роста это не обещает |
Правда ли топ тяжелее? можно опираться
Лёгкие страницы должны быть ближе к топу
Топ тяжелее на 51% по загрузке. Лёгкость не признак верхней выдачи
Сначала всё выглядело просто. Данные аудита по всем 2585 страницам показывают ровный градиент.
| Полоса позиций | Размер HTML, КБ | DOM-узлов |
|---|---|---|
| 1–3 | 448 | 1937 |
| 4–10 | 375 | 1763 |
| 31–39 | 260 | 1364 |
| 41–49 | 228 | 1303 |
Связь размера HTML с позицией на диапазоне 1–49 равна −0,224 при 2585 наблюдениях. Минус читается как «больше HTML — выше место», но связь слабая. Отличить топ от хвоста по ней можно, а угадать место конкретной страницы по её весу нельзя.
Данные аудита показывают только документ. Чтобы увидеть, что реально уходит в браузер, я взял 192 адреса поровну из шестнадцати ниш и открыл каждый трижды так, будто пользователь пришёл впервые, с пустым кэшем и чистым профилем. Байты считал сам браузер. Привычный способ, performance.transferSize, здесь врёт. Он показывает ноль для всего, что грузится с чужих доменов, а это половина рекламы и все CDN.
Успешно измерились 179 адресов: 88 сверху и 91 снизу.
Три показателя, где разницы не видно нельзя опираться
- Картинки: +64%, но интервал [−33; 578] КБ включает ноль
- CSS: +2%, интервал [−28; 29] КБ
- Шрифты: +6%, интервал [−80; 94] КБ
179 адресов, 88 сверху и 91 снизу · на каждый по три прогона, берётся средний · байты считаны самим браузером
У трёх показателей выше между границами помещается ноль. Значит, разницы может не быть вовсе, и такой результат я считаю неподтверждённым, как бы внушительно ни выглядела средняя цифра.
Точные значения браузерного замера
| Метрика | Топ-10 | Позиции 31–49 | Разница | 95% интервал |
|---|---|---|---|---|
| Объём загрузки | 3267 КБ | 2159 КБ | +51% | [45; 1729] КБ |
| JavaScript | 1104 КБ | 716 КБ | +54% | [68; 509] КБ |
| Запросов | 127 | 79 | +61% | [19; 69] |
| DOM-узлов | 2110 | 1311 | +61% | [313; 1441] |
| Картинки | 779 КБ | 476 КБ | +64% | [−33; 578] КБ |
| CSS | 77 КБ | 76 КБ | +2% | [−28; 29] КБ |
| Шрифты | 189 КБ | 179 КБ | +6% | [−80; 94] КБ |
Загрузку тяжелее трёх мегабайт имеют 53,4% страниц наверху против 36,3% внизу. Больше ста запросов делают 61,4% страниц топа против 33,0% внизу.
Почему счётчики скриптов ничего не решают
Сократите число скриптов и стилей
14 против 12 и 5 против 5. Счётчики топ от хвоста не отличают
Технический аудит обычно считает штуки. Сколько скриптов, сколько файлов стилей, сколько картинок. По этим счётчикам верх выдачи от хвоста почти не отличается. Данные те же самые — 1215 страниц топ-10 против 1370 страниц с позиций 31–49, счётчики берутся из разбора HTML.
| Признак | Топ-10 | Позиции 31–49 | 95% интервал разницы |
|---|---|---|---|
| Файлов JavaScript | 14 | 12 | [0; 3] |
| Файлов CSS | 5 | 5 | [−1; 1] |
| Картинок | 42 | 34 | [4; 13] |
| Блокирующих скриптов | 2 | 3 | [−1; 0] |
Подсказок preload | 1 | 0 | [0; 1] |
Стилей поровну, ровно по пять. Блокирующих скриптов наверху даже меньше, чем в хвосте. Число JS-файлов упирается интервалом в ноль. Уверенно расходятся только картинки, и то на восемь штук.
При этом по объёму те же самые страницы расходятся в полтора раза с лишним. 395 килобайт HTML против 242, 3267 килобайт загрузки против 2159, 1104 килобайта JavaScript против 716. Наверху не больше подключений, зато внутри того же их числа больше кода.
Одна оговорка про этот замер. Байты я считал от момента открытия страницы до конца загрузки плюс ещё полторы секунды. Всё, что подгружается позже — картинки при прокрутке, поздняя аналитика, реклама по таймеру, — в цифру не вошло. Так что это объём первой загрузки, а не всё, что страница скачает за время визита.
- Что проверяли
- 2585 страниц из выдачи Яндекса: топ-10 против позиций 31–49, 160 запросов, шестнадцать ниш. Плюс 179 адресов через настоящий браузер с холодным кэшем.
- Что нашли
- Наверху HTML крупнее на 63%, браузер качает на 51% больше данных, запросов на 61% больше, DOM на 61% крупнее. Времена загрузки при этом не различаются.
- Что это значит
- Тяжёлая страница и медленная страница совсем не одно и то же, и в отчёте их стоит разводить.
- Что делать
- Сравнивать свой сайт с топом по килобайтам и DOM, а не по числу подключений. И мерить времена, а не сумму байтов.
А если сравнить две страницы одного сайта? можно опираться
А потом я сравнил страницы внутри одного сайта, и картина сломалась.
Вернёмся к attik.ru и добавим к нему вторую пару, cem-cement.ru. Оба сайта отдали в выборку по одной странице сверху и по одной снизу.
| Страница и её запрос | Позиция | JS / CSS | Ответ, мс | HTML, КБ | Слов |
|---|---|---|---|---|---|
attik.ru — окна на дачу«тёплые окна для дачи» | 7 | 22 / 54 | 335 | 384 | 1205 |
attik.ru — пластиковые окна«пластиковые окна купить» | 35 | 22 / 54 | 327 | 426 | 2015 |
cem-cement.ru — цемент«цемент м500 купить мешок» | 3 | 1 / 12 | 354 | 424 | 2461 |
cem-cement.ru — смеси для стяжки«сухие смеси для стяжки пола» | 35 | 1 / 12 | 378 | 350 | 1501 |
Техническая часть внутри каждого сайта совпадает. Тот же набор подключений, тот же шаблон, тот же сервер с разницей в десяток миллисекунд. А вот дальше начинается то, чем эти страницы действительно отличаются, и это контент. У attik.ru верхняя страница в полтора раза с лишним короче нижней, у cem-cement.ru наоборот, во столько же длиннее. Направления нет. Различие уходит в объём текста и полноту раскрытия темы, то есть в on-page, а не в техничку.
Оговорка, которую SEO-специалист задаст первой. Страницы стоят по разным запросам, а разные выдачи между собой не сравнивают. Так устроен весь этот тест. Он берёт сайты, у которых есть и высокие, и низкие адреса, и спрашивает, насколько техничка у первых отличается от технички у вторых. Ответ на 111 доменах — почти не отличается.
Сравнение внутри домена частично закрывает сайтовые свойства. Бренд, возраст домена, значительную часть его авторитета, CMS, инфраструктуру, CDN и защиту. Если у сайта одна страница стоит в топ-10, а другая — на 31–49, эти характеристики у них общие и объяснять разницу уже не могут.
Все неизвестные так не уберёшь. Внутри одного домена по-прежнему различаются ссылки на конкретный URL, его возраст, внутренний вес, глубина вложенности, тип страницы, содержание и пользовательские сигналы. Именно поэтому дальше идёт отдельная проверка на парах «тот же домен, тот же тип страницы».
Каждый из 111 доменов даёт один голос. Считается медиана его верхних страниц минус медиана нижних.
- Что проверяли
- Может, вся разница держится просто на том, что наверху стоят сайты покрупнее? Взял 111 доменов, у которых есть страницы и в топ-10, и на позициях 31–49, и сравнил их между собой.
- Что нашли
- Размер HTML: +11 463 байта вместо +157 075, если сравнивать топ с хвостом напрямую. DOM: −5 узлов. Обе цифры вполне могут оказаться случайными (p = 0,128 и p = 0,775).
- Что это значит
- Если бы техничка отдельной страницы решала, верхняя страница сайта была бы заметно тяжелее его же нижней. Она такая же. Тот же шаблон, тот же набор подключений, тот же сервер. Расходятся страницы по объёму и полноте контента, а это уже on-page.
- Что делать
- Закрыть технический слой один раз на уровне шаблона и перестать возвращаться к нему по каждой странице. Дальше работать тем, чем страницы одного сайта реально отличаются. Это соответствие запросу, полнота раскрытия темы, внутренние ссылки и глубина.
Ни одна строка в таблице ниже не проходит порог надёжности. По размеру HTML вышло 0,128, по DOM 0,775, а нужно меньше 0,05.
| Метрика | Медиана разницы | 95% интервал | Верх больше | p |
|---|---|---|---|---|
| Размер HTML | +11 463 байт | [−1060; 26 170] | 58% | 0,128 |
| DOM-узлов | −5 | [−87; 89] | 48% | 0,775 |
| Ответ сервера | −8 мс | [−33; 8] | 45% | 0,343 |
| Слов | +108 | [−50; 418] | 56% | 0,215 |
Между группами целиком разрыв по HTML составлял +157 075 байт, по DOM +492 узла.
Строка со словами показывает +108 при интервале [−50; 418]. Объём текста внутри домена тоже не задаёт направления, потому что на одном сайте верхняя страница длиннее, на другом короче, и в сумме это ноль.
А если взять пары по одному и тому же запросу?
Самая честная версия проверки выглядела бы так. Один сайт, один запрос, две его страницы, одна в топ-10 и вторая на 31–49. Таких пар во всей выборке нашлось три. Статистику на трёх наблюдениях не строят, но посмотреть на них стоит.
| Сайт и запрос | Позиции | HTML, КБ | Слов |
|---|---|---|---|
practicum.yandex.ru«как выбрать онлайн школу» | 6 против 49 | 1128 / 867 | 734 / 1247 |
selectel.ru«как выбрать хостинг для сайта» | 2 против 35 | 282 / 215 | 1602 / 1754 |
yandex.ru«дизайн проект интерьера квартиры» | 10 против 37 | 578 / 938 | 59 / 111 |
Во всех трёх случаях страница, которая стоит выше, короче своего же соседа снизу. 734 слова против 1247, 1602 против 1754, 59 против 111. По размеру документа направления нет, два раза верх крупнее и один раз мельче.
Первая мысль была простая: может, я просто выбрал странные 111 сайтов? Проверил, добавив промежуточный шаг.
Разница по размеру HTML в килобайтах, шкала у всех трёх полос общая. На первом шаге сравнивались 1215 страниц против 1370, на втором 381 против 224, на третьем — 111 сайтов.
Три шага сравнения точными числами
| Ступень | Что сравнивается | Разница по HTML | По DOM |
|---|---|---|---|
| Шаг 1 | вся выборка, сайты вперемешку | +157 075 байт | +492 |
| Шаг 2 | только эти 111 сайтов, вперемешку | +213 875 байт | +404 |
| Шаг 3 | те же 111 сайтов, сравнение внутри каждого | +11 463 байта | −5 |
Внутри домена от исходной разницы остаётся 7% по HTML, и эта часть от нуля не отличима. По DOM не остаётся ничего.
Одно уточнение, чтобы не сказать лишнего. Схлопывается именно величина. Направление слабо держится: если перебрать все 1801 пару «верхняя страница против нижней» внутри тех же 111 сайтов, крупнее оказывается верхняя в 58 случаях из 100 — почти как между разными сайтами. Но 58 из 100 при монетке в 50 не двигают ничего, когда сама разница усохла со 157 килобайт до одиннадцати.
Если сравнивать ещё строже, тот же сайт и тот же тип страницы, таких пар 95, размер HTML даёт +15 021 байт с границами [2302; 28 831] и p = 0,04. Разница слабая и на грани, но уже не нулевая. DOM и время ответа по-прежнему на нуле.
Основную часть различий по HTML дают сами сайты, а не страницы внутри одного сайта
Читается это так. Технический вес в этой выборке принадлежит сайту целиком, а не отдельной его странице. Раздуть свою страницу до трёх мегабайт и стать проектом, который стоит наверху, — это, увы, совсем разные задачи.
Есть и обратная проверка. Может, всю разницу между сайтами создала пара огромных маркетплейсов или одна ниша? 2585 страниц пришли всего из 160 выдач, так что я пересчитал всё заново, сравнивая внутри каждой выдачи отдельно.
В 119 запросах из 160 медианный размер HTML наверху оказался больше. По DOM тоже 119 из 160. Оба результата с p < 0,001. Разница повторяется в трёх четвертях выдач по отдельности, так что дело не в паре гигантов вроде Авито или Яндекс Услуг.
Быстрее ли отвечают серверы из топа? под вопросом
Быстрый сервер — быстрее в топ
Два замера «за», третий против. На такой разнице обещаний не строят
А со скоростью вышло поучительнее всего.
Сервер наверху отвечает за 553 мс против 634 мс внизу. Разрыв около 80 мс, и с размером документа он не связан вообще. Единственная скоростная метрика во всём замере, которая различает верх и низ, — я уже собирался ставить её в выводы.
Дальше три проверки. Внутри каждой выдачи разница повторяется. Внутри одного сайта её мерить бесполезно — сервер там общий. А браузер разницы не находит.
верх быстрее на всей выборке, 2585 страниц
эффект повторяется: верх быстрее в 100 запросах из 160
интервал [−118; +217] включает ноль с запасом
Сравнивать страницы внутри сайта здесь бесполезно: их обслуживает один и тот же сервер
Все четыре замера таблицей
| Замер | Разница по времени ответа |
|---|---|
| Сравнение групп, 2585 страниц | −80 мс, верх быстрее |
| По запросам, 160 выдач | −70 мс, верх быстрее в 100 запросах из 160 |
| Внутри домена, 111 сайтов | −8 мс, от нуля неотличимо |
| Браузерный замер, 179 URL | +15 мс, интервал [−118; +217] |
У Яндекса скорость сайта в официальной документации описана как комплекс из серверного кода, HTML, CSS, JS, изображений, CDN и кэша. Выделить из этого комплекса время ответа как то, что двигает позиции, мои данные не позволяют.
robots.txt: рабочий инструмент или след старой конфигурации? под вопросом
843 сайта из топ-10 против 1190 с позиций 31–49
robots.txt — это история обслуживания сайта, а не рычаг позиций. Живые директивы наверху, мёртвые внизу.Все признаки robots.txt таблицей
| Признак | Топ-10 | Позиции 31–49 |
|---|---|---|
Clean-param | 58,5% | 47,7% |
Отдельный блок User-agent: Yandex | 52,9% | 46,1% |
| Указан Sitemap | 90,3% | 84,2% |
Директива Host, отменённая в 2018 | 27,3% | 36,0% |
| Медиана размера файла | 1850 байт | 1313 байт |
Медиана числа Disallow | 48 | 32 |
Clean-param совсем не декоративная строка. Яндекс пишет, что директива избавляет робота от повторной загрузки дублей, снижает нагрузку на сервер и, в отличие от Disallow, позволяет передать часть накопленных показателей на основной адрес. Рабочий инструмент управления обходом, а не галочка в аудите. С 2026 года GET-параметрами можно управлять и через соответствующий раздел Вебмастера, а Clean-param остаётся поддерживаемым способом сделать это в robots.txt.
Host работает наоборот. Директиву отменили восемь лет назад, она ни на что не влияет, и именно поэтому она хороший индикатор. Файл с ней не пересматривали много лет.
На этом месте я решил проверить ещё раз: может, Clean-param просто чаще стоит у крупных проектов, а наверх их тянет размер, а не настройка обхода?
Связь с размером есть. У сайтов с Clean-param страницы крупнее — 359 КБ против 281 в топе и 236 против 196 в хвосте. Сам файл у крупных тоже толще: 2032 байта против 1242.
Но если сравнивать сайты одной весовой категории, разница между топом и хвостом никуда не девается.
| Размер сайта | Clean-param в ТОП-10 | На позициях 31–49 | Разница |
|---|---|---|---|
| мелкие | 50,0% | 44,2% | +5,8 |
| ниже среднего | 58,6% | 57,8% | +0,9 |
| выше среднего | 62,6% | 52,2% | +10,4 |
| крупные | 67,7% | 56,0% | +11,7 |
В самой крупной четверти разрыв даже больше общего. Значит, списать всё на масштаб не выходит, и robots.txt остаётся похож именно на след того, как сайт обслуживают.
Причинности здесь всё равно нет. Настройка идёт вместе с попаданием в топ, а не приводит к нему, и утверждать, что Clean-param поднимает позиции, эти данные не позволяют. Плюс оговорка про сам замер: размером сайта я считал медианный вес его страниц в выборке, а это грубая замена числу страниц — точных данных о размере каталога у меня нет.
Какого размера robots.txt у сайтов из топа
Раз уж файл читается как след обслуживания, полезно знать его нормальные габариты. Вот распределение по 807 сайтам из топ-10 и 1129 с позиций 31–49 — тем, у которых robots.txt вообще отдался.
| Показатель | лёгкий край | четверть ниже | середина | четверть выше | тяжёлый край |
|---|---|---|---|---|---|
| Размер файла в ТОП-10, байт | 369 | 795 | 1850 | 4466 | 8871 |
| Размер файла на 31–49, байт | 250 | 522 | 1313 | 2816 | 5813 |
Строк Disallow в ТОП-10 | 7 | 18 | 48 | 106 | 221 |
Строк Disallow на 31–49 | 3 | 12 | 32 | 78 | 159 |
Пустой или почти пустой файл встречается редко в обеих группах: меньше ста байт у 13 сайтов топа и у 30 снизу. А вот совсем короткие файлы наверху заметно реже — до 500 байт укладываются 14,6% сайтов топа против 23,7% внизу, до килобайта 29,9% против 41,7%.
robots.txt читается как история обслуживания сайта, и эта картина держится даже среди проектов одного размера. Проверьте свой файл на два признака: настроен ли Clean-param под реальные GET-параметры проекта и не висит ли в файле Host. Первое убирает дубли и передаёт их накопленный вес на основной адрес. Второе — мёртвая строка с 2018 года, и внизу выдачи она встречается чаще, чем наверху. Только не продавайте это клиенту как рычаг позиций: связь тут есть, а причинности нет.
Что из чеклиста не работает вообще
А вот здесь мой собственный чеклист перестал выглядеть убедительно. Речь не про title и H1 — про техническую часть аудита, ту самую, что я годами гоняю по клиентским сайтам.
| Признак | Топ-10 | Позиции 31–49 |
|---|---|---|
| HTTP/2 | 84,0% | 85,1% |
Отдают Last-Modified | 24,7% | 29,2% |
no-store в Cache-Control | 42,9% | 43,0% |
| Мягкие 404 | 6,3% | 8,3% |
| CSS-файлов на странице | 5 | 5 |
| Балл качества HTML | 88 | 88 |
Ни одного разрыва, который стоило бы обсуждать. У Last-Modified и мягких 404 картина вообще обратная ожидаемой. Их больше у хвоста, а не у топа.
И главное. Не всё в этой таблице вообще является ошибкой. Технический аудит обязан различать четыре разные вещи, а именно поломку, риск, рекомендацию и просто особенность реализации.
Мягкий 404 — настоящая проблема, его чинят ради робота. Отсутствие Last-Modified — не ошибка, а контекстный сигнал. no-store на HTML часто выставлен намеренно. HTTP/2 — характеристика инфраструктуры, а не дефект проекта.
Балл качества HTML стоит разобрать отдельно, потому что его любят показывать клиенту. В моём движке он собирается так: пятьдесят баллов страница получает просто за то, что существует, до тридцати добавляется за семантические теги по 2,5 за штуку, до двадцати — за плотность текста в коде. Больше там ничего нет.
Отсюда и результат. Семантических тегов в обеих группах медианно по семь, в потолок упираются 31,5% страниц топа и 31,7% хвоста. Половина балла вообще константа. Такая оценка по своей конструкции не может различать группы. Она не меряет ни валидность кода, ни его чистоту.
Ни одно из перечисленного по этим данным не отличает первую десятку от четвёртой.
Где топ выглядит хуже хвоста
Более зрелая инфраструктура
preloadесть у 51,3% страниц топа против 40,2% внизу- CSP не отдают 75,7% страниц топа против 82,9% внизу
- Смешанный контент у 19,1% страниц топа против 24,9% внизу
Больше технической грязи
- Ошибки микроразметки у 16,7% страниц топа против 9,4% внизу
- Параметры в URL у 8,1% страниц топа против 2,8% внизу
- Риск по краулинговому бюджету у 40,8% страниц топа против 28,8% внизу
- Дубли title внутри домена у 15,9% страниц топа против 6,9% внизу
Точные значения таблицей
| Признак | Топ-10 | Позиции 31–49 |
|---|---|---|
Есть preload | 51,3% | 40,2% |
| Нет CSP | 75,7% | 82,9% |
| Смешанный контент | 19,1% | 24,9% |
| Ошибки в микроразметке | 16,7% | 9,4% |
| Параметры в URL | 8,1% | 2,8% |
| Риск краулингового бюджета выше низкого | 40,8% | 28,8% |
Наверху одновременно и аккуратнее, и грязнее. Больше подсказок preload и заголовков безопасности, меньше смешанного контента — и при этом заметно хуже с разметкой, параметрами в адресах и риском по краулинговому бюджету.
Сюда же дубли заголовков. На сайтах, давших в выборку минимум две страницы, неуникальный title внутри домена встречается у 15,9% страниц наверху против 6,9% внизу.
Полезными дубли от этого не становятся, и чинить их надо. Вывод другой. Сильный production-сайт не выглядит как идеальный результат чеклистового аудита.
Сколько «грязи» несёт на себе средняя страница из топа
Уберите технические ошибки — и обгоните конкурента
35,8% против 37,6%. Чистых страниц наверху даже чуть меньше
Вот здесь результат становится неприятным для любителей чеклистов. Я взял пять типовых претензий, которые выкатывает любой краулер, и посчитал, сколько их приходится на одну страницу.
| Проблем на странице | Страниц ТОП-10 | Страниц с 31–49 |
|---|---|---|
| ни одной | 35,8% | 37,6% |
| одна | 44,5% | 45,2% |
| две | 17,1% | 15,1% |
| три | 2,6% | 2,1% |
Считались ошибки микроразметки, параметры в URL, смешанный контент, картинки без alt и почти-дубли текста. 1215 страниц топ-10 против 1370 с позиций 31–49.
Две трети страниц топа несут на себе хотя бы одну из этих претензий. У каждой пятой их две и больше. И — главное — чистых страниц наверху меньше, чем внизу: 35,8% против 37,6%.
По отдельным пунктам разрыв ещё нагляднее. Ошибки в микроразметке есть у 16,7% страниц топа против 9,4% внизу, параметрические адреса у 8,1% против 2,8%, почти-дубли текста у 3,2% против 1,2%. По трём признакам из пяти верх выдачи проигрывает хвосту, и это не мешает ему стоять наверху.
Сходится ли это с чужими исследованиями?
Прямых аналогов по Яндексу я так и не нашёл. Русскоязычные разборы факторов ранжирования за 2026 год, которые я открывал, цифр, выборок и ссылок на данные не приводят вообще. Так что сравнивать приходится с работами по Google, помня, что это другой поисковик и другая методика.
- Выборка
- 11,8 млн результатов Google
- Что нашли
- «Page HTML size has no relationship with rankings» — размер HTML позиции не различал
- Как соотносится
- Результат расходится с моим. Скорость они брали усреднённую по всему домену из сервиса Alexa, так что с замером отдельных страниц в браузере это не сравнить
- Выборка
- 3 млн URL из топ-20 Google, 2022 год
- Что нашли
- LCP лучше ближе к началу выдачи, FID связи не показал, CLS показал слабую. Проверку Core Web Vitals целиком проходили 39% страниц из выборки
- Как соотносится
- Работа историческая, FID был тогдашней метрикой Core Web Vitals, с марта 2024 его заменил INP
| Замер | Где и на чём | Что получилось по размеру HTML |
|---|---|---|
| Backlinko, 2020 | Google, 11,8 млн результатов | Связи с позицией не нашли вовсе |
| Мой замер: разные сайты | Яндекс, 2585 страниц | Страницы топа крупнее на 157 КБ |
| Мой замер: внутри одного сайта | Яндекс, 111 доменов | Разница падает до 11 КБ и от нуля уже неотличима |
По HTML результаты расходятся, и это стоит проговорить прямо. У Backlinko на 11,8 млн результатов Google связи нет, у меня на выборке по Яндексу — есть, и заметная. Объяснений может быть несколько. Другой рынок, другой поисковик, другая методика отбора, влияние чего-то третьего, что тянет за собой и размер HTML, и позиции. Отделить их этими данными нельзя. Само по себе расхождение — повод для повторного замера, а не готовый вывод.
Ещё одно место, где ожидание не сходится с замером. Наверху существенно больше ресурсов — загрузка на 51%, запросы на 61%, — а измеренные времена не различаются вовсе. Первая отрисовка выше на 106 мс с интервалом [−104; +310], событие load на 329 мс с интервалом [−165; +760], браузерное время ответа на 15 мс с интервалом [−118; +217]. Все три ноль не исключают.
Почему полуторакратный рост объёма не даёт видимого проигрыша по времени, этот эксперимент не показывает. Гипотез хватает — параллельная загрузка, async и defer, отложенные картинки, CDN, приоритизация ресурсов, — но выбирать одну без измерения я не буду.
defer, отложенным картинкам и CDN, в этой выборке грузятся не медленнее девятисот килобайт, собранных плохо. В отчёт идёт измеренное время загрузки; сумма байтов о нём не говорит.
В какой нише разрыв больше?
Верх крупнее по HTML в каждой из шестнадцати ниш. А вот насколько крупнее — зависит от ниши, и это меняет смысл любых ориентиров. Сравнивать свою страницу нужно с её нишей, а не со средним по выдаче.
Насколько HTML в топ-10 крупнее, чем на позициях 31–49, по каждой нише. Тёмным — две ниши, которые выбиваются из общей картины.
Точные значения по нишам, включая DOM
| Ниша | Страниц верх / низ | Δ HTML, КБ | Δ DOM, узлов |
|---|---|---|---|
| Финансы | 52 / 63 | +481 | +952 |
| Туризм | 72 / 85 | +337 | +1048 |
| Образование | 92 / 89 | +300 | +780 |
| Недвижимость | 66 / 88 | +276 | +281 |
| Спорт | 77 / 91 | +245 | +644 |
| Автосервис | 80 / 92 | +201 | +416 |
| Красота | 81 / 86 | +170 | +427 |
| Общепит | 86 / 91 | +148 | +274 |
| Бытовая техника | 63 / 88 | +140 | +348 |
| Окна и остекление | 73 / 85 | +115 | +327 |
| Ремонт квартир | 81 / 82 | +100 | +164 |
| Юруслуги | 78 / 86 | +75 | +158 |
| IT-услуги | 83 / 85 | +66 | +203 |
| Медицина | 88 / 92 | +41 | +355 |
| Стройматериалы | 76 / 86 | +37 | +817 |
| Товары для дома | 67 / 81 | +21 | +595 |
Наверху списка оказались финансы, туризм и образование — ниши, где в выборке часто встречались крупные платформы и сложные интерфейсы. Насколько именно этим объясняется разрыв, текущий замер не показывает.
Обратите внимание на стройматериалы и товары для дома. Разрыв по HTML там минимальный, а по DOM остаётся крупным — 817 и 595 узлов. Документ такого же объёма разворачивается в куда более сложное дерево. Килобайты HTML и сложность DOM здесь явно измеряют разные свойства страницы, и один показатель нельзя использовать как замену другому.
В каких нишах топ не отдаётся краулеру
От ниши к нише меняется не только вес страниц. Второй разрез стоит посмотреть до того, как вы сядете собирать конкурентов. Он о том, какую долю топа краулер просто не получит.
Доля адресов топ-10, не отдавших код 200 обычному HTTP-клиенту. 1589 адресов, снимок 09.09.2026. Тёмным — две ниши, где топ открывается почти полностью.
В среднем по выборке недоступными остаются 17,8% верхней выдачи против 8,5% хвоста, и топ закрывается сильнее хвоста в пятнадцати нишах из шестнадцати. Исключение одно — образование, там верх парсится даже легче низа, 5,0% против 7,1%.
Отсюда же оговорка к разрывам выше. Они посчитаны по страницам, которые ответили. В финансах это чуть больше половины топа, так что к цифрам именно этой ниши стоит относиться осторожнее.
Скорость ответа: почти везде верх быстрее
Третий разрез по нишам — время ответа сервера, та самая находка, которую не подтвердил браузер.
Все шестнадцать ниш по времени ответа
| Ниша | Разница медиан | Кто быстрее |
|---|---|---|
| Окна и остекление | −257 мс | верх быстрее |
| IT-услуги | −191 мс | верх быстрее |
| Ремонт квартир | −145 мс | верх быстрее |
| Бытовая техника | −134 мс | верх быстрее |
| Спорт | −131 мс | верх быстрее |
| Недвижимость | −121 мс | верх быстрее |
| Общепит | −107 мс | верх быстрее |
| Юруслуги | −82 мс | верх быстрее |
| Финансы | −76 мс | верх быстрее |
| Стройматериалы | −65 мс | верх быстрее |
| Медицина | −23 мс | верх быстрее |
| Товары для дома | −22 мс | верх быстрее |
| Туризм | −15 мс | верх быстрее |
| Красота | −7 мс | верх быстрее |
| Автосервис | +44 мс | верх медленнее |
| Образование | +56 мс | верх медленнее |
Верх отвечает быстрее в четырнадцати нишах из шестнадцати. Сильнее всего в окнах — на 257 мс, в IT-услугах на 191. Исключений два: автосервис и образование, там верх медленнее на 44 и 56 мс.
Ровная картина — причина, по которой находку я не выбросил. Но это тот же краулерный замер, разложенный по нишам, а не новая проверка: браузер разницы по-прежнему не видит. Обещать клиенту позиции за снижение TTFB на этом всё равно нельзя.
Коридор страницы, которая уже стоит в топ-10
Самая полезная цифра ниже — не медиана, а ширина разброса. 395 килобайт — середина топ-10, а 200 килобайт уже мало или ещё нормально? Поэтому ниже по каждому признаку показаны пять точек: где лежит самая лёгкая десятая часть топа, где половина, а где начинается самая тяжёлая десятая.
Признаки развёл на три группы, потому что для аудита они значат разное. Первую вы меняете на самой странице. Вторая показывает, что уходит в браузер при реальной загрузке. Третья описывает хост. У всех страниц одного сайта эти значения общие, и правкой шаблона не двигаются — это прямо следует из проверки внутри домена выше.
Считано по 1215 страницам топ-10, снимок 09.09.2026, Москва. Браузерная группа считана на подвыборке из 88 адресов по три прогона.
Все значения таблицей
Свойства страницы
| Признак | Ед. | лёгкий край | четверть топа ниже | середина | четверть топа выше | тяжёлый край |
|---|---|---|---|---|---|---|
| Размер HTML | КБ | 109 | 198 | 395 | 779 | 1525 |
| DOM-узлов | штук | 633 | 1064 | 1814 | 3118 | 5290 |
| Файлов JavaScript | штук | 3 | 6 | 14 | 24 | 36 |
| Файлов CSS | штук | 1 | 2 | 5 | 11 | 20 |
| Картинок | штук | 8 | 19 | 42 | 91 | 174 |
| Блокирующих скриптов | штук | 0 | 0 | 2 | 7 | 22 |
Подсказок preload | штук | 0 | 0 | 1 | 4 | 12 |
Браузерный слой
| Признак | Ед. | лёгкий край | четверть топа ниже | середина | четверть топа выше | тяжёлый край |
|---|---|---|---|---|---|---|
| Объём загрузки | КБ | 1007 | 1854 | 3267 | 4503 | 14 567 |
| JavaScript | КБ | 322 | 592 | 1104 | 1617 | 2239 |
| Запросов | штук | 46 | 86 | 127 | 178 | 231 |
Свойства хоста
| Признак | Ед. | лёгкий край | четверть топа ниже | середина | четверть топа выше | тяжёлый край |
|---|---|---|---|---|---|---|
| Ответ сервера | мс | 285 | 367 | 553 | 860 | 1298 |
| Заголовки безопасности | из 100 | 0 | 0 | 20 | 40 | 60 |
Объём текста, число изображений, блоки микроразметки и семантические теги сюда сознательно не вошли. Это on-page слой, и его коридоры я считал в отдельном исследовании на 1601 странице.
Два практических следствия. Размер HTML в топе идёт от 109 до 1525 килобайт, так что единого «правильного» веса документа в выдаче не существует. Любой аудит с порогом вроде «не больше 100 КБ» спорит не с Яндексом, а с реальностью его топа. И строка про заголовки безопасности: у четверти страниц топа их нет вообще.
Где начинается край
Отдельный вопрос, который задают чаще всего. А если сайт весит десять мегабайт и грузится девять секунд, это уже плохо? Ответ есть в том же замере, и он не «да» и не «нет». Это край. Так выглядит верхушка топа, куда крупные площадки заезжают на бренде и ссылках, а не его повседневная норма.
Браузерный замер 88 адресов топ-10, по три прогона с холодным кэшем, снимок 09.09.2026.
Чеклист: сверить свой сайт с топом
С этой таблицы я бы начинал разговор с клиентом. Если под вами сотня проектов, от медианы толку мало. Нужны границы того, в каких пределах лежит реально стоящее в выдаче Яндекса. Ниже — сводка всех замеренных признаков в одном месте.
Шкала с распределением — в коридоре выше, здесь только границы и что с ними делать. Читается чеклист так. Попадание в коридор ничего не гарантирует, выход за него ничего не ломает. Это повод задать вопрос, а не поставить задачу в спринт. Дальше по каждой строке — что именно спрашивать.
Что меняется на самой странице
| Признак | Половина топа внутри | Как читать свой результат |
|---|---|---|
| Размер HTML | 198–779 КБ | Меньше 109 КБ — проверьте, весь ли контент отдаётся в исходном коде, а не дорисовывается скриптом. Больше 1525 КБ — ищите инлайновые данные и дубли шаблона |
| DOM-узлов | 1064–3118 | За 5290 узлов обычно стоят вложенные обёртки вёрстки. Бьёт по отрисовке, а не по позициям |
| Файлов JavaScript | 6–24 | Число подключений верх от хвоста не отличает. Смотрите на килобайты кода, а не на счётчик |
| Файлов CSS | 2–11 | Одинаково в обеих группах. Как аргумент в отчёте не годится |
| Картинок | 19–91 | Единственный счётчик, где разрыв уверенный, — и то восемь штук. Свойство типа страницы, а не рычаг |
| Блокирующих скриптов | 0–7 | Наверху их меньше, чем внизу. Убирать стоит ради отрисовки |
Подсказок preload | 0–4 | Есть у 51,3% топа против 40,2% хвоста. Маркер зрелой сборки |
Что уходит в браузер
Считано по тем 88 адресам топ-10, которые открывались в браузере.
| Признак | Половина топа внутри | Как читать свой результат |
|---|---|---|
| Объём загрузки | 1854–4503 КБ | Три мегабайта — норма верхней выдачи, а не приговор. Тяжелее трёх мегабайт грузятся 53,4% страниц топа |
| JavaScript | 592–1617 КБ | Главный источник разрыва с хвостом: 1104 КБ против 716 |
| Запросов | 86–178 | Больше ста запросов делают 61,4% топа против 33,0% хвоста |
Что задаёт хост
| Признак | Половина топа внутри | Как читать свой результат |
|---|---|---|
| Ответ сервера | 367–860 мс | Секунда и выше — повод чинить инфраструктуру. Обещать за это позиции нельзя, браузерный замер разрыва не подтвердил |
| Заголовки безопасности | 0–40 из 100 | Четверть топа не отдаёт ни одного. Задача продуктовая, не поисковая |
| HTTP/2 | 84,0% топа против 85,1% | Не различает группы вообще |
Настройки обхода
| Настройка | Топ-10 | Позиции 31–49 | Что делать |
|---|---|---|---|
| Указан Sitemap | 90,3% | 84,2% | Базовая гигиена. Проверьте, что файл живой и совпадает с реальной структурой |
Clean-param под GET-параметры | 58,5% | 47,7% | Настроить, если у проекта есть параметрические дубли: директива снимает повторную загрузку и передаёт накопленные показатели на основной адрес |
Отдельный блок User-agent: Yandex | 52,9% | 46,1% | Нужен, когда правила для Яндекса и Google расходятся |
Директива Host | 27,3% | 36,0% | Удалить. Отменена в 2018 году, ни на что не влияет и выдаёт файл, который годами не пересматривали |
Что чинить, хотя у топа с этим тоже плохо
| Признак | Топ-10 | Позиции 31–49 | Что делать |
|---|---|---|---|
| Ошибки в микроразметке | 16,7% | 9,4% | Чинить у себя, но не считать признаком слабости конкурента |
| Параметры в URL | 8,1% | 2,8% | Закрывать Clean-param, а не Disallow |
| Риск краулингового бюджета выше низкого | 40,8% | 28,8% | Смотреть на больших сайтах, на маленьких это не проблема |
| Дубли title внутри домена | 15,9% | 6,9% | Чинить, но не ждать от этого движения позиций |
| Смешанный контент | 19,1% | 24,9% | Убирать: единственный пункт списка, где топ действительно чище |
robots.txt висит директива, отменённая восемь лет назад. Что из найденного чинить в первую очередь — в следующем разделе.
Разбор реальной страницы
Правило отбора я задал до того, как посмотрел на результат. Беру страницу с позиций 31–49, у которой все шесть технических признаков лежат внутри коридора топ-10. То есть техничка идеальна по любому чеклисту, а страница внизу. Под правило подошли 58 адресов из 1370, беру самый высокий по выдаче.
deloremonta.moscow, место 31 по запросу «ремонт квартиры под ключ», ниша ремонта квартир.
| Признак | Страница | Норма топ-10 | Статус |
|---|---|---|---|
| Размер HTML, КБ | 602 | 198–779 | в норме |
| DOM-узлов | 1140 | 1064–3118 | в норме |
| Файлов JavaScript | 10 | 6–24 | в норме |
| Файлов CSS | 4 | 2–11 | в норме |
| Картинок | 39 | 19–91 | в норме |
| Ответ сервера, мс | 631 | 367–860 | в норме |
| Слов на странице | 795 | — | on-page |
Шесть из шести в коридоре. Любой технический аудит выдаст по ней зелёный отчёт, а страница болтается на тридцать первом месте. Такую страницу я бы раньше показал клиенту как образец.
Выбивается единственное — 795 слов, и это уже не техничка.
А теперь зайдём с другой стороны. Возьмём сами страницы топ-10 и посмотрим, многие ли укладываются во все шесть коридоров разом.
укладываются во все шесть коридоров одновременно. Четверть выпадает по трём признакам, каждая десятая — по пяти
укладываются во все шесть. Внизу выдачи технически безупречных страниц даже больше, чем наверху
Страница отдаётся роботу с кодом 200 и настоящим содержимым. В индекс попадает, canonical и мета-роботс не спорят друг с другом. Дубли по GET-параметрам закрыты. Сервер отвечает быстрее секунды. Значения лежат в коридоре или отклонение объясняется типом страницы.
Тогда останавливайтесь. Сжимать HTML с 600 до 400 килобайт, убирать четыре скрипта из десяти, догонять DOM до медианы, добиваться нулевых ошибок в разметке — эту работу мои данные не поддерживают. Идеальные по всем шести коридорам страницы составляют 2,4% топа и 4,2% хвоста, так что чистота чеклиста не отличает одних от других.
Четыре вопроса до правки. Страница вообще доступна роботу и попадает в индекс? Я реально вылетел за границы топа или просто не дотягиваю до середины? Отклонение объясняется типом страницы? И если техничка в норме, почему я всё ещё правлю техничку?
Что делать в четырёх ситуациях
Вот что я делаю в каждом из четырёх случаев.
| Ситуация | Что делать |
|---|---|
| Страница недоступна роботу или отдаёт не то, что видит человек | Чинить в первую очередь. Это единственный слой замера, где поломка прямо мешает поисковой системе |
| Техничка выбивается из коридора в разы | Разобраться почему. Документ легче 109 КБ — проверить, весь ли контент в исходном коде. Тяжелее 1525 КБ — искать инлайновые данные и дубли шаблона |
| Техничка в коридоре, страница не растёт | Перестать полировать вес, DOM и число файлов. Данные не показывают, что места различаются этим. Идти в on-page и релевантность |
| В коридоре и on-page в порядке, а роста нет | Идти в следующий класс причин — ссылочный разрыв, коммерческие факторы, поведение, возраст и авторитет домена. Этот замер их не трогал |
Что с этим делать в 2026
Никаких «сделай X — получишь позиции». Только три категории по назначению.
Чинить
- Недоступность страницы и несоответствие кода содержимому
- Бот-защита, случайно закрывающая поискового робота
- Ошибки индексируемости в robots, canonical и мета-роботс
- Технические дубли и неуправляемые GET-параметры —
Clean-paramздесь Яндекс рекомендует вместоDisallow - Системные проблемы с ответом сервера
Оптимизировать, но не обещать позиции
- Время ответа сервера и производительность целиком
- Объём загрузки, JavaScript, картинки, кэш, CDN
- Заголовки безопасности
- Поддерживаемость фронтенда
Не оптимизировать ради числа
- Минимальный размер HTML и минимальный DOM
- Идеальный балл качества HTML
- Конкретное число скриптов и стилей
- Наличие каждого семантического тега
- Отсутствие любой технической «грязи» само по себе
Если сводить всё к одной мысли: техничка убирает препятствия. Робот доходит до страницы, забирает содержимое, кладёт в индекс, страница открывается у человека. Ни одной цифры, которую можно докрутить и получить за это место в выдаче, в этих данных нет.
Что сделать в понедельник
- Открыть
robots.txtи удалить директивуHost, если она там висит. Отменена в 2018 году, внизу выдачи встречается чаще, чем наверху. - Проверить, настроен ли
Clean-paramпод реальные GET-параметры проекта. У топа он есть в 58,5% случаев против 47,7% у хвоста. - Снять по десяти своим страницам размер HTML, DOM, объём загрузки и время ответа — и разложить по коридорам из чеклиста выше.
- Прогнать свои посадочные через браузерный рендер, а не только краулером. Код 200 не доказывает, что контент отдан.
- Сверить свои технические выводы с Яндекс Вебмастером. Индексация, обход и статус страниц видны там, а не в стороннем аудите.
- Свериться с топом своего запроса, а не со средним по выдаче. Между нишами разброс больше чем двадцатикратный.
Чего не делать
- Не раздувать страницу до медианы топа. Внутри одного сайта вес и DOM позицию не двигают.
- Не ставить в KPI число скриптов и стилей, у топа и хвоста их поровну.
- Не обещать рост позиций за снижение TTFB. Разрыв по времени ответа не пережил проверку вторым инструментом.
- Не писать в отчёт «у конкурента 50 ошибок, обгоним чистотой». У верхней группы ошибок в разметке почти вдвое больше, чем у хвоста.
- Не считать балл качества HTML оценкой шансов в выдаче, у топа и хвоста он одинаковый — 88 и 88.
Как объяснить это клиенту
- Эти работы отвечают за допуск. Робот должен дойти до страницы, забрать содержимое и не утонуть в дублях. Позиции такое условие не двигает, но без него их не будет вовсе.
- Сайты в топе технически крупнее, но это пришло вместе с масштабом бизнеса, а не подняло их наверх.
- Разница между «поправим техничку» и «вырастем в выдаче» проходит по ссылкам, поведению, коммерческим факторам и релевантности. Их этот замер не трогал.
- Видимость сайта и трафик из поиска растут, когда снятое техническое ограничение открывает дорогу остальным факторам. Сама по себе техничка трафика не приносит.
- Проверяемое обещание звучит так. После работ страница доступна роботу, попадает в индекс, отдаётся быстро и не плодит дубли. Позиции — отдельный разговор с отдельными данными.
Чего этот замер не знает
Я мерил техничку десктопной версии. Ссылочный профиль, поведенческие метрики, коммерческие факторы, возраст и траст домена, релевантность запросу, мобильная версия страницы — ничего этого в замере нет. Эти слои вполне могут объяснять часть разницы между сайтами, но определить их вклад мой замер не позволяет.
Ни один отдельный признак не показал сильной связи с позицией. Самый крупный коэффициент во всей работе — 0,224 при шкале от нуля до единицы. Это уровень «различает группы, но ничего не предсказывает для конкретной страницы».
Огромный технический разрыв, который виден в начале, живёт между сайтами. Стоит сравнить адреса внутри одного сайта — и большая часть различий по HTML и DOM пропадает. Что за этим стоит: бренд, ссылки, архитектура, масштаб бизнеса, поведение — замер не говорит.
Зато трактовку «сделайте страницу тяжелее, и она поднимется» он ломает всерьёз.
Частые вопросы
Нет, такого вывода данные не дают. Верно другое: наверху стоят сайты, чьи страницы в среднем крупнее — 395 КБ против 242. Стоит взять два адреса одного сайта, и это преимущество пропадает. Вес работает как признак площадки, которая уже пробилась наверх, а не как настройка, которую можно подкрутить на отдельной странице.
Серверы сайтов из топа отвечают быстрее — на 80,5 мс по всей выборке и на 69,8 мс, если считать внутри каждой выдачи отдельно. Но перепроверка браузером на 179 адресах этого не показала. В работе на такую разницу опираться нельзя, и обещать клиенту рост позиций за ускорение сервера эти данные не дают.
Примерно каждый шестой адрес: обычному краулеру не открылись 17,8% страниц топ-10 — вдвое чаще, чем в хвосте выдачи. Браузерный рендер возвращает около половины из них. Отдельная ловушка — код 200 с капчей внутри: такие страницы попадают в отчёт как живые, но пустые.
В этом замере длина тайтла дала коэффициент −0,038, длина описания −0,056 — связи, которые не объясняют почти ничего. Две трети страниц в топе имеют тайтл длиннее шестидесяти символов. Отдельное исследование on-page факторов на 1601 странице дало тот же результат.
Яндекс рекомендует её вместо Disallow для GET-дублей: она избавляет робота от повторной загрузки одинаковых страниц, снижает нагрузку на сервер и позволяет передать часть накопленных показателей основному адресу. В замере она стоит у 58,5% доменов топ-10 против 47,7% на позициях 31–49.
Нет, и по двум причинам сразу. Замер трогал только техничку — ссылок, поведения, коммерческих факторов и релевантности в нём нет. А внутри самой технички ни один признак не тянет на рычаг: сильнейший из шестнадцати даёт 58,5 из 100 при монетке в 50.
Методология и ограничения
- Выдача
- Yandex Search API
- Аудит страниц
- Site Audit Pro, батч-режим
- Браузер
- Chromium, байты через протокол отладки, пустой кэш
- Прогонов на URL
- 3, берётся медиана
- Снимок выдачи
- 09.09.2026, Москва
- Статистика
- корреляция Спирмена, bootstrap, знаковый тест
- Известные ограничения
- 7
Выборка. 160 запросов, 16 ниш по 10, регион Москва, 9 сентября 2026. Верхняя группа — топ-10, 1589 обработанных страниц; контрольная — позиции 31–49 через одну, 1582 страницы. После отсева заглушек бот-защиты осталось 1215 страниц с 833 доменов и 1370 страниц с 1161 домена. Пересечений по URL нет.
Направление внутри домена. Помимо парного теста по доменам я перебрал все пары «страница из топ-10 против страницы с 31–49» внутри одного сайта — 1801 пара на 111 доменах. Доля пар, где крупнее оказалась верхняя страница, — 58,0%. Метрика показывает направление, но не величину: медиана самой разницы там +11 463 байта против +157 075 между сайтами.
Проверка «дело в размере». Сайты разбиты на четыре равные группы по медианному размеру HTML их страниц в выборке, внутри каждой группы посчитана доля доменов с Clean-param отдельно для топ-10 и для позиций 31–49. В группах n = 108/285, 162/232, 187/207 и 201/193 сайта. Медианный вес страницы — грубая замена числу страниц сайта: точных данных о размере каталога в замере нет.
Как считался robots.txt. Замер идёт по сайтам: 843 в верхней группе против 1190 в нижней. 148 сайтов, попавших сразу в обе группы, из подсчёта исключены — иначе один и тот же файл голосовал бы за оба лагеря.
Как считалось. Корреляция Спирмена, n = 2585, стандартная ошибка около 0,020, порог отличимости от нуля принят как 0,06. Внутри домена: парные разницы по 111 доменам, bootstrap-интервалы на 5000 итераций, знаковый тест. Проверка по запросам: 160 разниц на уровне запроса, bootstrap по запросам. Браузерный замер: единица анализа — URL, по которому взята медиана трёх прогонов.
| Метрика | Шаг 1: вся выборка | Шаг 2: 111 сайтов вперемешку | Шаг 3: внутри каждого сайта |
|---|---|---|---|
| Размер HTML | +157 075 байт | +213 875 (136% от A) | +11 463 (7% от A) |
| DOM-узлов | +491,5 | +403,5 (82%) | −5 (−1%) |
| Ответ сервера | −80,5 мс | −104,5 (130%) | −8 (10%) |
Пересчёт на уровне отдельных выдач. Размер HTML: медиана разницы +136 617 байт, интервал [99 757; 195 742], больше наверху в 119 запросах из 160, p < 0,001. DOM: +352,5, интервал [214; 524], 119 из 160, p < 0,001. Время ответа: −69,8 мс, интервал [−112; −27], верх быстрее в 100 запросах из 160, p = 0,002.
Почему перф-балл движка не отдельная находка. Перф-балл движка коррелирует с размером HTML на −0,847, потому что в коде штраф считается напрямую из размера документа. Это не отдельное измерение, и как отдельную находку я его не использую.
Поправка на число проверок. Шестнадцать коэффициентов проверены процедурой Бенджамини–Хохберга при уровне ложных открытий 5%. Порог проходят одиннадцать, включая длину описания с −0,056. Это ровно та ситуация, когда статистическая значимость не означает практической. К тому же p-значения посчитаны так, будто все страницы независимы друг от друга, а они сгруппированы внутри 160 выдач. Из-за этого надёжность выглядит выше, чем она есть, и ради этого сделаны отдельные проверки по запросам, по доменам и браузером.
Доступность выдачи для сбора данных. Парсинг верхней выдачи идёт тяжелее, чем парсинг хвоста, и это смещает любой конкурентный анализ на краулере. Обычному HTTP-клиенту не отдали код 200 17,8% адресов топ-10 против 8,5% на позициях 31–49. Stealth-браузер вернул около половины, недоступными остались 9,3% и 4,5%. Ещё 7,0% страниц топа против 5,4% в хвосте ответили кодом 200, а внутри отдали капчу или экран проверки браузера — формально доступны, фактически пусты. Это и есть заглушки, отсеянные из выборки. Под DDoS-Guard и Qrator наверху 21% доменов, внизу 14%.
Чего эти проценты не означают. «Недоступно стороннему краулеру» — не то же самое, что «недоступно YandexBot». Яндекс ходит с собственных адресов, которые сайты пропускают, и цифры выше говорят только о доступности для внешнего анализа. Часть блокировок относится к IP, а не к user-agent. Замер шёл с финского дата-центрового адреса, на выборке из 60 закрытых URL код ответа совпадал у браузерного и краулерного user-agent в 78% случаев, и лишь 18% открылись от одной смены user-agent. Поэтому 9,3% — верхняя оценка.
Что осталось непроверенным внутри домена. Попарно я сравнивал размер HTML и DOM, а браузерный замер парным не был. Верхняя группа тяжелее и по скриптам, +388 КБ с интервалом [68; 509], но относится ли этот разрыв тоже к различиям между сайтами, текущий тест не проверяет.
Насколько надёжен сам парный тест. 111 доменов — небольшая выборка, интервалы широкие, и верхняя граница по HTML допускает до +26 килобайт реального эффекта. Сравнение внутри домена заметно уменьшает влияние постоянных сайтовых различий, но подглядыванием за чужой выдачей остаётся. Это не эксперимент, где меняют одну переменную и смотрят результат.
Ограничения. Один регион, одна дата, один поисковик. Только технические факторы. Корреляция без причинности. 9,3% верхней группы не измерены вообще; пропуски распределены между группами неслучайно, поэтому характеристики этих страниц могут смещать оценки, но направление смещения неизвестно. Тест внутри домена слишком мал, 111 доменов дают широкие интервалы.
Что было бы правильным следующим шагом. Повторить на второй дате и во втором регионе. И поставить настоящий эксперимент — взять полсотни своих страниц, изменить в них что-то одно, замерить сдвиг. Наблюдение со стороны до этого уровня доказательности не дотягивает.
Я нашёл технический профиль сайтов, которые стоят наверху, а не техническую формулу попадания наверх.
Проверить это на своём сайте
Если нужен разбор технического слоя без чеклистовых ритуалов — это технический аудит сайта. Собрать выдачу и посмотреть, кто рядом с вами в топе, помогает бесплатный SEO-аудит.