Ржанский Д.

Учитывает ли Google рекламу из заблокированного JavaScript?

Разбираем, считает ли Google количество рекламных блоков, что происходит с рекламой, подгружаемой через JavaScript, и можно ли скрыть их от оценки страницы через robots.txt.

Дмитрий Ржанский Дмитрий Ржанский 1 просмотров

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

Поэтому схема «2 блока Google + 1 Яндекса допустимы, а 7 блоков уже ведут к пессимизации» некорректна. Публичного порога по количеству рекламных блоков Google не устанавливал.

В рамках Page Layout Algorithm Google отдельно обращал внимание на страницы, где значительная часть первого экрана занята рекламой и пользователю приходится прокручивать страницу, чтобы добраться до контента. При этом несколько рекламных блоков сами по себе не являются проблемой.

Источник рекламы значения не имеет. С точки зрения поисковой оценки нет оснований считать блок AdSense «безопасным», а блок РСЯ — дополнительной рекламой. Если пользователь видит семь рекламных блоков, оценивать нужно расположение всех семи, а не их рекламную сеть.

Что произойдет с рекламой, загружаемой через отдельный JS

Здесь действительно есть техническая разница.

Если под «JS-файл скрыт от индексирования» имеется в виду:

robots.txt: Disallow: /scripts/ads.js

то это фактически не запрет индексации, а запрет Googlebot сканировать этот файл.

Google прямо указывает, что Web Rendering Service не выполняет JavaScript из ресурсов, доступ к которым запрещен через robots.txt.

Например:

HTML страницы:

robots.txt: User-agent: Googlebot Disallow: /scripts/ads.js

а внутри ads.js создаются четыре рекламных контейнера, iframe или вызовы рекламной сети.

При таком варианте Googlebot может получить HTML страницы, увидеть ссылку на ads.js, попытаться запросить файл, получить запрет robots.txt и в итоге не выполнить находящийся в нем код.

Если четыре рекламных блока существуют только после выполнения этого файла, в отрисованной Google версии страницы они действительно могут отсутствовать.

То есть технически схема возможна:

Пользователь: HTML → ads.js → четыре дополнительных объявления.

Googlebot: HTML → ads.js заблокирован → дополнительные объявления не создаются.

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

Google не раскрывает точную реализацию Page Layout Algorithm и не заявляет, что оценка рекламной нагрузки строится исключительно по конечному DOM Web Rendering Service.

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

Нет также подтвержденного правила вида «если рекламный JS закрыт robots.txt, реклама гарантированно исключается из оценки Page Layout».

Считает ли Google именно количество блоков

Судя по опубликованным разъяснениям Google, ориентироваться на количество неправильно.

Условно эти две страницы могут оцениваться совершенно по-разному:

Страница №1:

[реклама 970×250] [реклама 970×250]


начало статьи

Здесь всего два объявления, но почти весь первый экран может состоять из рекламы.

Страница №2:

заголовок статьи вводный ответ

[реклама]

основной текст

[реклама]

основной текст

[реклама]

основной текст

[реклама]

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

Именно поэтому считать «допустимое число блоков» бессмысленно.

Дополнительная проблема динамической рекламы

JS-реклама может влиять на SEO независимо от Page Layout Algorithm.

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

Поэтому даже реклама, которую Googlebot по какой-либо причине не увидел при своем рендеринге, может создавать проблемы через реальные пользовательские показатели Core Web Vitals.

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

Как проверить именно вашу реализацию

Не нужно гадать, выполняет ли Google конкретный рекламный код.

Проверьте страницу через «Проверку URL» в Google Search Console и откройте отрисованную Google версию страницы.

Сравните три состояния:

  1. Исходный HTML страницы.
  2. DOM в обычном браузере после загрузки всех семи рекламных блоков.
  3. Отрисованную Googlebot версию страницы.

Если в Google-версии присутствуют только три первоначальных блока, а четыре блока из закрытого JS отсутствуют, значит Web Rendering Service их действительно не отрисовал.

Если задача именно в оценке рекламной нагрузки, дополнительно смотрите не на число блоков, а на скриншот первого экрана в мобильной версии. Если до основного материала пользователь видит преимущественно рекламу, это уже соответствует тому сценарию, против которого создавался Page Layout Algorithm.

В описанном случае четыре блока из заблокированного robots.txt JS-файла могут не попасть в рендер Google. Но считать это надежным способом «спрятать» рекламу от алгоритмов нельзя: Google не публиковал такой механизм, а реальная оценка рекламной перегруженности не сводится к подсчету обнаруженных рекламных вызовов.

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

Разобрать проблему на вашем сайте

Опишите проблему — найду вероятную причину и предложу понятный план исправлений без лишних работ.

Связаться