SEO Galina Bakusheva
2 526

ТЗ на Google AMP для разработчика от SEO-специалиста

После перехода Google на mobile-first... Всем все равно, никто ничего не понял. Видишь mobile-first index? Нет. Я тоже. А он есть.

В закладки

Кто-то за AMP, кто-то против, так как считает, что с мобильного телефона трафик c AMP не будет считаться, путая с Instant Articles или другими «островковыми» технологиями поисковых систем. Никто не думает, что не сделав AMP, вас вообще может не быть в выдаче, так как наличие этой верстки для контентного сайта является фактором ранжирования, например.

Можете поверить, что AMP — must have для СМИ и информационных сайтов, если вам интересен Google и его трафик, в том числе поисковый.

Допустим, мы решили делать AMP. Пришло время ставить задачу разработчикам. Делает это либо трафик-менеджер, какой-нибудь человек по работе с каналами дистрибуции контента, партнерами или (так лучше) SEO-шник.

Задача ставится в Jira, Trello или Asana так: «Вот тебе официальное руководство от Google на английском. Сделай AMP». Все.

Да-да, вы же так же делаете AMP. Или спросите у кого-нибудь, кто ставил задачу по AMP.

Никто не понимает, почему они важны и что мало просто их сделать. Их надо настроить так, чтобы они были полезны.

Когда-то одному парню я уже давала список того, что надо учесть при реализации. Но так как он не написал это на таком популярном сайте — пишу я.

Так вот. ТЗ по AMP в части касающейся SEO:

— Действительно, вот

https://www.ampproject.org/docs/getting_started/create/basic_markup руководство от Google с техническими подробностями разметки.

— Прописываем канонические URL в header AMP-страниц (прописываем URL main-страницы в теге rel canonical иным языком). Вот так это выглядит примерно:

<rel="canonical" href="http://main_page.html" />

— На каждой main-странице ставим следующее выражение c ссылкой на AMP-страницу:

<rel="amphtml" href="https://www.example.com/url/to/amp/document.html">

— Внести в robots.txt строку, запрещающую индексирование страниц AMP

— Если у нас редактор Wysiwyg — там будут лишние элементы, которые для AMP-разметки будут непонятны, при валидации Google будет ругаться на строки кода с этими элементами. Также не читает Google и тег img в AMP-версии. Его надо заменить на AMP-img.

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

layout="responsive" (для адаптивного масштабирования)

width=”___” — в пикселях

height=”___” — в пикселях

Примерный код для программного учета вышенаписанных штук:

article = article.replace("<img", '<amp-img layout="responsive"')article = article.replace("</img>", "</amp-img>")article = re.sub(r'style="[^"]+"', '', article) #замена по регулярному выражению

Article — это все содержимое статьи.

При использовании PHP надо будет заменить

article.replace на str_replace и, возможно, переставить аргументы местами, а re.sub заменить на preg_replace.

Данные о размере можно взять из style, но расписать их как отдельные атрибуты.

— АMP не видит внешние стили, поэтому лучше в header внедрить CSS-стили. Но записать их отдельно для AMP. Например, <style amp-custom>

— Прописать все нужные поля в описание <script type="application/ld+json">

— Для добавления аналитики — в хэдер поставить скрипт

<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>

И вставляем коды счетчиков для «Метрики» и Analytics.

— Если надо добавить рекламу, то в header поставить скрипт

<script async custom-element="amp-ad" src="https://cdn.ampproject.org/v0/amp-ad-0.1.js"></script>

И в тег сам рекламный блок добавляем.

— Чтобы добавить меню, в header ставим скрипт:

<script async custom-element="amp-sidebar" src="https://cdn.ampproject.org/v0/amp-sidebar-0.1.js"></script>

Далее добавляем кнопку, при нажатии на которую будет показываться сайдбар:

<div role="button" on="tap:sidebar.toggle" tabindex="0" class="" id="ham">☰</div>

И добавляем сам сайдбар в код.

Надеюсь, вы с радостью воспользуетесь статьей.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Galina Bakusheva", "author_type": "self", "tags": ["\u0437\u0430\u043c\u0435\u043d\u0430"], "comments": 36, "likes": 16, "favorites": 40, "is_advertisement": false, "subsite_label": "seo", "id": 49930, "is_wide": false, "is_ugc": true, "date": "Fri, 02 Nov 2018 14:55:54 +0300" }
{ "id": 49930, "author_id": 216700, "diff_limit": 1000, "urls": {"diff":"\/comments\/49930\/get","add":"\/comments\/49930\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/49930"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199127, "possessions": [] }

36 комментариев 36 комм.

Популярные

По порядку

Написать комментарий...
0

У кого CMS, а не самопис - да, пожалуйста)

Ответить
0

Второй раз - спасибо)

Автору было бы норм, сделать структуру для текста, заголовки и подзаголовки и тд

Ответить
2

А у вас есть кейс, где AMP действительно повлиял на ранжирование страниц и трафик на сайте стал расти?

Ответить
0

Да. Иначе я бы не писала этот пост.

Ответить
0

А через сколько времени вы увидели положительные результаты?

Ответить
0

полутора месяцев.

Ответить
0

А сколько в итоге, в процентах, получили прироста по траффику?

Ответить
0

Там еще и рекомендательные статьи вдруг заработали с гугла на андроиде. Так что выхлоп был. Не было резкого прироста, но процента 4-5% точно прибыло за это время. Наряду с этим исправлялись еще и технические ошибки частично. Например, заменялись 404 ошибки (их было немало) на релевантные разделы/публикации и т.д.

Ответить
0

А тематика сайта - СМИ?

Ответить
0

Я про проценты к доле поискового трафика имею ввиду естественно.

Ответить
1

Зачем вы запретили сканирование амп в роботс? Для Яндекса?
О каком Mobile First вы говорите, настроив canonical на десктопную версию? :-)

Ответить
0

Почитайте что такое canonical. Запрет сканирования AMP в роботс нужен для избежания дублирования контента дескопной версии страницы.

Ответить
1

1) Давайте вам объясню на пальцах.
Robots.txt управляет доступом для краулера: либо пускает бота, либо нет. Всё, другой функции у него нет. Блокируя страницу, в данном случае amp, мы вы не пускаете туда бота, и он не может прочитать тег canonical. Если заблокировали после запуска amp, значит гугл не будет обновлять информацию. Блокировать амп не нужно. Ну да ладно. Нравится - блокируйте.
Возвращаемся к канониклу. Согласно феншую мы должны указать амп-страницам каноническую версию (десктоп), а декстоп-страницы связать тегом ампхтмл с амп-страницами. Вы сами об этом написали. Амп-страницы становятся альтернативными страницами (AMP document exists that is an alternative representation), как отдельная мобверсия. В этом случае у нас получается каноническая версия (каноническая означает выбрана для ранжирования) - основной сайт. И это десктоп. Ваш амп никак на ранжирование не может повлиять, пока каноникл указывает на основной сайт :-) и никак не станет дублем, благодаря тому же канониклу.
Цитата:
If an AMP document exists that is an alternative representation of a canonical document, then the canonical document should point to the AMP document via a link tag with the relation "amphtml".
Example:
<link rel="amphtml" href="https://www.example.com/url/to/amp/document.html">;
The AMP document itself is expected to point back to its canonical document via a link tag with the relation "canonical".
Example:
<link rel="canonical" href="https://www.example.com/url/to/canonical/document.html">;
Отсюда: https://www.ampproject.org/docs/fundamentals/spec
Хотите канонический ранжируемый амп? Делайте целиком весь сайт на амп.

2) Амп сейчас используется пиратами для обхода блокировок. То есть будущее амп в РФ под вопросом.
3) В период масштабной блокировки телеграма амп-сайты были недоступны пользователям из-за блокировки гугловских адресов.

Ответить
0

я уже двум пользователям ответила, что закрываем для Яндекса))елки-палки

Ответить
0

Про canonical, насколько я помню, так написано в гугловском мануале: https://www.ampproject.org/docs/getting_started/create/basic_markup

И зачем индексировать amp, если уже индексирован оригинал?

Ответить
0

AMP индексируются Гуглом. Вопрос не ко мне))

Ответить
0

Я не вам писал, а Aldous Snow.

Ответить
0

Закрыть от индексации для робота ЯНДЕКСА, тк для Яндекса эти страницы - дубли контента. Яндекс не понимает AMP гугла. (Как я ответила другому комментирующему).

Ответить
1

А в чём прикол AMP для СМИ через поисковики, я конечно сейчас про кеш гугла, если на сайт всё равно не зайдут, рекламу никто не посмотрит, подписку никто не купит, рекламные статьи не порекомендуются, когда это и есть твоя бизнес-модель? Новости заходят почитать и забить. Пусть AMP увеличит твою позицию хоть вдвое, сильно сомневаюсь, что он отобьёт и 10% открывших эту псевдоссылку. Не проще ли настроить Nginx, чтобы он за 60мс отдавал тебе страницу с самого дешёвого серва, если речь идёт про скорость?
Другое дело, если СМИ выполняет пропагандисткую и агитаторскую деятельность, и самое важный критерий - максимальное кол-во прочитавших материал, тогда конечно да)

Ответить
0

Не понимаю о чем вы говорите. AMP - быстрые страницы, которые преимущественно рекомендуются как раз статейным сайтам. Google перешел на mobile first индекс и учитывает факт наличия AMP как в десктопной выдаче так и в мобильной. В чем ваш вопрос или сомнение?

Ответить
0

о том, что гугл кеширует твои AMP страницы, и как следствие, перехода на сам сайт не происходит, какой смысл тогда в повышении позиций?

https://habr.com/post/331958/

Ответить
0

Мне кажется Вы не очень внимательно читаете.

"Google перешел на mobile first индекс и учитывает факт наличия AMP как в десктопной выдаче так и в мобильной."

Ответить
0

Про "проще-не проще" было бы актуально, если бы интернет был действительно независим (как когда-то давно) Сейчас увы, такое уже не прокатит.

Ответить
0

В AMP можно встраивать монетизацию контекстной рекламой, к примеру. При чём, даже те варианты блоков за которые Яндекс накладывает фильтр (блок быстрых ссылок, который выглядит как меню сайта и имеет высокий CTR).

Можно отдавать все страницы с обычными блоками, а этот вставлять только в AMP-формат.

Ответить
0

Для чего запрещать индексацию амп-страниц в robots.txt, если в их коде в качестве canonical и так указан url десктопного варианта страницы?

Ответить
0

Закрыть от индексации для робота ЯНДЕКСА, тк для Яндекса эти страницы - дубли контента. Яндекс не понимает AMP гугла.

Ответить
0

В статье не указано, что это запрет исключительно для робота Яндекса. Писать тексты для широкой аудитории, рассчитывая на чтение между строк - чистое вредительство, лучше вообще не писать.

Ответить
0

Вы же не пишите)))Должны с пониманием относиться, очевидно.

Ответить
0

Отнеситесь и вы с пониманием. Сидит такой разработчик, работу работает. Приходит к нему начальник со статьёй от сеошника и просит учесть в работе его рекомендации, а в рекомендациях - чистой воды ад. Разработчик всё бросает и тратит время на то, чтобы сначала попытаться понять великий замысел сео-специалиста, который, наверное, не совсем бездарен, если взялся за написание статей для других. Затем подбирает слова для начальства, чтобы объяснить общий вред от затеи, т. к. никакой пользы не удалось обнаружить. Время потеряно впустую из-за того, что человек, взявшийся писать тексты, не умеет излагать свои мысли чётко и ясно. Это танцевать нужно так, как будто никто не видит. Писать лучше так, как будто все злобные интраверты мира придут придираться к буквам.

Ответить
0

ну хорошо, хорошо..Снова жалобы..Писака из меня полное говнище!

Ответить
0

и с состраданием. Как завещал великий Будда.

Ответить
0

В Яндексе не дураки сидят и давно знают что такое AMP. Вряд ли робот Яндекса ходит на amphtml. А если и ходит, то по общим правилам отрабатывает rel="canonical".

Ответить
0

Заходит. В выдаче две страницы в итоге с хвостом AMP и каноническая.

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления
{ "page_type": "default" }