ТЗ на 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>
И добавляем сам сайдбар в код.
Надеюсь, вы с радостью воспользуетесь статьей.
Кому лень читать качаем и ставим в 1 клик:
Wordpress - https://ru.wordpress.org/plugins/amp/
Joomla - https://extensions.joomla.org/extensions/extension/access-a-security/accelerated-mobile-pages/
Битрикс - https://marketplace.1c-bitrix.ru/solutions/impel.amp/
Opencart - https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=28086
У кого CMS, а не самопис - да, пожалуйста)
Комментарий недоступен
А у вас есть кейс, где AMP действительно повлиял на ранжирование страниц и трафик на сайте стал расти?
Да. Иначе я бы не писала этот пост.
А через сколько времени вы увидели положительные результаты?
полутора месяцев.
А сколько в итоге, в процентах, получили прироста по траффику?
Там еще и рекомендательные статьи вдруг заработали с гугла на андроиде. Так что выхлоп был. Не было резкого прироста, но процента 4-5% точно прибыло за это время. Наряду с этим исправлялись еще и технические ошибки частично. Например, заменялись 404 ошибки (их было немало) на релевантные разделы/публикации и т.д.
А тематика сайта - СМИ?
да
Я про проценты к доле поискового трафика имею ввиду естественно.
Зачем вы запретили сканирование амп в роботс? Для Яндекса?
О каком Mobile First вы говорите, настроив canonical на десктопную версию? :-)
Почитайте что такое canonical. Запрет сканирования AMP в роботс нужен для избежания дублирования контента дескопной версии страницы.
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) В период масштабной блокировки телеграма амп-сайты были недоступны пользователям из-за блокировки гугловских адресов.
я уже двум пользователям ответила, что закрываем для Яндекса))елки-палки
Да , в статью нужно про бокировку именно для Яндекс указать. А то я бы так и внедрил, заблокировав для всех. Если бы не знал, что блочат только для яндекс.
Про canonical, насколько я помню, так написано в гугловском мануале: https://www.ampproject.org/docs/getting_started/create/basic_markup
И зачем индексировать amp, если уже индексирован оригинал?
AMP индексируются Гуглом. Вопрос не ко мне))
Я не вам писал, а Aldous Snow.
Закрыть от индексации для робота ЯНДЕКСА, тк для Яндекса эти страницы - дубли контента. Яндекс не понимает AMP гугла. (Как я ответила другому комментирующему).
А в чём прикол AMP для СМИ через поисковики, я конечно сейчас про кеш гугла, если на сайт всё равно не зайдут, рекламу никто не посмотрит, подписку никто не купит, рекламные статьи не порекомендуются, когда это и есть твоя бизнес-модель? Новости заходят почитать и забить. Пусть AMP увеличит твою позицию хоть вдвое, сильно сомневаюсь, что он отобьёт и 10% открывших эту псевдоссылку. Не проще ли настроить Nginx, чтобы он за 60мс отдавал тебе страницу с самого дешёвого серва, если речь идёт про скорость?
Другое дело, если СМИ выполняет пропагандисткую и агитаторскую деятельность, и самое важный критерий - максимальное кол-во прочитавших материал, тогда конечно да)
Не понимаю о чем вы говорите. AMP - быстрые страницы, которые преимущественно рекомендуются как раз статейным сайтам. Google перешел на mobile first индекс и учитывает факт наличия AMP как в десктопной выдаче так и в мобильной. В чем ваш вопрос или сомнение?
о том, что гугл кеширует твои AMP страницы, и как следствие, перехода на сам сайт не происходит, какой смысл тогда в повышении позиций?
https://habr.com/post/331958/
Мне кажется Вы не очень внимательно читаете.
"Google перешел на mobile first индекс и учитывает факт наличия AMP как в десктопной выдаче так и в мобильной."
https://siteclinic.ru/blog/raznoe/iks-yandexa-mnenie-expertov/
Тут конечно мой коммент относительно Яндекса, но философия Гугла примерно схожа.
Про "проще-не проще" было бы актуально, если бы интернет был действительно независим (как когда-то давно) Сейчас увы, такое уже не прокатит.
В AMP можно встраивать монетизацию контекстной рекламой, к примеру. При чём, даже те варианты блоков за которые Яндекс накладывает фильтр (блок быстрых ссылок, который выглядит как меню сайта и имеет высокий CTR).
Можно отдавать все страницы с обычными блоками, а этот вставлять только в AMP-формат.
Для чего запрещать индексацию амп-страниц в robots.txt, если в их коде в качестве canonical и так указан url десктопного варианта страницы?
Закрыть от индексации для робота ЯНДЕКСА, тк для Яндекса эти страницы - дубли контента. Яндекс не понимает AMP гугла.
В статье не указано, что это запрет исключительно для робота Яндекса. Писать тексты для широкой аудитории, рассчитывая на чтение между строк - чистое вредительство, лучше вообще не писать.
Вы же не пишите)))Должны с пониманием относиться, очевидно.
Отнеситесь и вы с пониманием. Сидит такой разработчик, работу работает. Приходит к нему начальник со статьёй от сеошника и просит учесть в работе его рекомендации, а в рекомендациях - чистой воды ад. Разработчик всё бросает и тратит время на то, чтобы сначала попытаться понять великий замысел сео-специалиста, который, наверное, не совсем бездарен, если взялся за написание статей для других. Затем подбирает слова для начальства, чтобы объяснить общий вред от затеи, т. к. никакой пользы не удалось обнаружить. Время потеряно впустую из-за того, что человек, взявшийся писать тексты, не умеет излагать свои мысли чётко и ясно. Это танцевать нужно так, как будто никто не видит. Писать лучше так, как будто все злобные интраверты мира придут придираться к буквам.
ну хорошо, хорошо..Снова жалобы..Писака из меня полное говнище!
и с состраданием. Как завещал великий Будда.
В Яндексе не дураки сидят и давно знают что такое AMP. Вряд ли робот Яндекса ходит на amphtml. А если и ходит, то по общим правилам отрабатывает rel="canonical".
Заходит. В выдаче две страницы в итоге с хвостом AMP и каноническая.
Зачем закрывать в robots.txt для Яндекса, если поисковик все и так прекрасно понимает через canonical?
Написал я свою инструкцию, постарался максимально подробно. Может кому пригодиться (учитывал 99% всех аспектов, включая то, что нужно сохранять микроразметку на AMP)
https://seoandrii.ru/google-amp-pages-manual/