Скрипт вне head
Скрипт каждого компонента вставляется в head, а реклама в body. Без нужного скрипта компонент не работает.
Руководство по внедрению
AMP ads (amp-ad, amp-auto-ads, amp-sticky-ad)
Как показывать рекламу на страницах AMP с помощью amp-ad, автоматической рекламы и закреплённой полосы в AdSense и Ad Manager.
Понять за 1 минуту
AMP, это способ создавать очень лёгкие и быстрые страницы, разработанный как открытый проект. Представьте ланчбокс с перегородками: у каждой вещи своё место, и нельзя бросить туда что попало. На странице AMP то же самое. Нельзя вставлять любой рекламный код. Вместо этого используются готовые детали, называемые компонентами, которые уже умеют запрашивать и показывать рекламу, не утяжеляя страницу.
Основных деталей три. amp-ad, это обычное рекламное место, как баннер: вы указываете тип сети, adsense для AdSense или doubleclick для Ad Manager, а также ширину и высоту. amp-auto-ads, это автоматический режим: он получает настройки от сети и сам выбирает, где разместить рекламу, соблюдая максимальное число и минимальное расстояние между объявлениями. amp-sticky-ad, это полоса, закреплённая внизу экрана, как якорь, с кнопкой закрытия.
Код рекламной сети не выполняется прямо на странице. Он работает в отдельном контейнере, называемом iframe, которым управляет сам AMP. Если реклама не пришла, AMP пытается скрыть пустое место, но не скрывает место, находящееся на экране, чтобы страница не прыгала. Реклама AMP также не может находиться внутри блоков с фиксированным положением, кроме собственных закреплённых объявлений AMP и amp-lightbox.
Google объясняет, что AMP это открытый проект для быстрых и хорошо работающих страниц на любом устройстве. В AdSense вы создаете рекламный блок и выбираете код AMP или включаете Автоматическую рекламу для AMP. В Ad Manager вы создаете теги AMP прямо в панели, и Google рекомендует использовать HTML-рекламу для AMP. Это оправдано, если на вашем сайте уже есть версии страниц AMP и вы хотите, чтобы они тоже показывали рекламу.
Пошаговая инструкция
Пример внедрения
<!-- No <head> da página AMP -->
<script async custom-element="amp-ad"
src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>
<script async custom-element="amp-auto-ads"
src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js"></script>
<script async custom-element="amp-sticky-ad"
src="https://cdn.ampproject.org/v0/amp-sticky-ad-1.0.js"></script>
<body>
<!-- AdSense: anúncios automáticos, logo depois de abrir o body -->
<amp-auto-ads type="adsense"
data-ad-client="ca-pub-0000000000000000">
</amp-auto-ads>
<!-- AdSense: bloco responsivo, onde o anúncio deve aparecer -->
<amp-ad width="100vw" height="320"
type="adsense"
data-ad-client="ca-pub-0000000000000000"
data-ad-slot="1234567890"
data-auto-format="rspv"
data-full-width>
<div overflow></div>
</amp-ad>
<!-- Ad Manager: faixa fixa embaixo (só uma por página) -->
<amp-sticky-ad layout="nodisplay">
<amp-ad width="320" height="50"
type="doubleclick"
data-slot="/1234567/exemplo">
</amp-ad>
</amp-sticky-ad>
</body>Что рекомендует Google
Советы
Осторожно
Скрипт каждого компонента вставляется в head, а реклама в body. Без нужного скрипта компонент не работает.
AdSense выдаёт готовый код AMP, когда вы выбираете опцию AMP. Копируйте код из своего аккаунта, с вашим ID издателя.
amp-sticky-ad требует макет nodisplay и один amp-ad внутри.
AdSense просит, чтобы обычная страница и страница AMP ссылались друг на друга с помощью разметки amphtml и canonical.
Используйте код AMP. На страницах AMP JavaScript рекламной сети выполняется не прямо на странице, а в iframe, которым управляет AMP.
AMP пытается скрыть место. Если не получается, показывает запасной вариант. Закреплённая полоса без рекламы не показывается.
Да, для рекламы с Fast Fetch. Вы добавляете в head разметку с интервалом не менее 30 секунд для страницы или для слота. Вместе с SRA не работает.
Обычно несколько минут, иногда до часа.
Библиотека
Всё на этой странице основано на официальной документации Google. Читайте прямо в источнике:
Аудит читает сайт как посетитель, ничего не нажимая, и показывает, что исправить.