\На что обратить внимание:\\
\r\n\Объявление AMP страницы — тег. Вместо amp можно использовать эмодзи-значок молнии\
\r\n \Тег meta с объявлением «viewport» нужен для нормального отображения сайта на мобильных\
\r\n \Тег style c атрибутом amp-boilerplate — все стили на странице должны быть объявлены именно в таком виде. Это делается для уменьшения количества запросов на странице — все стили здесь загружаются быстро.\
\r\n \JS-библиотека AMP для подключения компонентов\
\r\n \В процессе разработки страниц AMP советуем почаще заглядывать в консоль devTools — так меньше вероятность допустить ошибку и получить невалидный документ.\
\r\n\В качестве примера использования AMP-тегов рассмотрим синтаксис вставки изображений:\
\r\n\\\r\n\\ \
\Важные моменты:\\
\r\n\Название тега меняется по сравнению с обычным HTML\
\r\n \Тег не одиночный, его нужно закрывать\
\r\n \Обязательно наличие атрибутов «width» и «height» (по стандартам w3c еще и «alt»). Так картинка заранее резервирует место на странице, поэтому после ее загрузки не происходит перерисовка страницы, она не дергается из-за появившейся картинки\
\r\n \Остальные теги работают похожим образом, можно почитать о них в документации: \www.ampproject.org/docs/reference/amp-ad.html\\
\r\n\В качестве практической задачи мы в студии решили поэкспериментировать с нашим блогом. Теперь любая статья из нашего блога имеет AMP-аналог.\
\r\n\\Что нужно было сделать:\\
\r\n\Создать AMP-версию каждой страницы блога по адресу blog/название_страницы_блога/amp.\
\r\n \Для удобства мы сделали один общий шаблон для каждой AMP-страницы\
\r\n \Связать обе версии страниц при помощи специальных тегов link (о них дальше)\
\r\n \Поправить ошибки валидации\
\r\n \Новый вид страниц AMP получился очень легким, одноколоночным, удобным для чтения:\
\r\n\\\
\r\n\Сравните 2 варианта одной и то же страницы — \обычная версия\ и \amp-версия\\
\r\n\В будущем Google будет сам узнавать, есть ли у страницы amp-версия и предлагать ее пользователям мобильных устройств.\
\r\n\Две версии страницы связаны друг с другом. На AMP-версии страницы ставится ссылка со специальным атрибутом rel на основную версию:\
\r\n\\\\r\n\
На основной версии ставится ссылка на AMP-версию, rel атрибут уже другой:\
\r\n\\\\r\n\
\
\r\n \
Это большая задача — нужно отлаживать AMP версии страниц, методично исправляя все ошибки и несоответствия стандарту AMP.\
\r\n\\Важные моменты, с которыми я столкнулся:\\
\r\n\Для всех изображений нужно обязательно проставить «width» и «height»\
\r\n \Для адаптивных изображений нужно проставить layout="responsive"\
\r\n \Инлайн-стили через атрибут style запрещены, их нужно выносить вверх страницы или подключать отдельными файлами.\
\r\n \Google AMP — отличный инструмент для облегчения страниц и выдачи только полезного контента на мобильных устройствах. Возможно, это еще один серьезный аргумент в конкурентной борьбе за пользователей мобильных интернет-магазинов и различных сервисов. В любом случае, попробовать и оценить Google AMP точно стоит. Ждём развития событий!\
\r\n\\\
\До сих пор мобильный серфинг ощущается как что-то медленное, неуклюжее и неприятное. Сфера разработки мобильных сайтов растет и расширяется, поэтому появилась потребность в разработке формата страниц, который будет быстро загружаться, приносить прибыль владельцам и не будет тормозить работу мобильных устройств. Такой формат был анонсирован компанией Google в октябре 2015 года, он называется Google Accelerated Mobile Pages или Google AMP.\
\r\n\Сайт проекта: \www.ampproject.org\\
\r\n\\Технология Google AMP призвана решить следующие задачи:\\
\r\n\Облегчить мобильные страницы, сделать их общедоступными\
\Сделать их разработку более простой\
\Устранить различия между мобильными сайтами разного уровня\
\Разрешить проблемы монетизации сайтов из-за низкой скорости их загрузки\
\В этой статье мы кратко опишем суть AMP технологии и рассмотрим ее подробнее с технической точки зрения.\
\r\n\r\n\\\
\r\n\Если Google увидит, что у сайта есть страницы в формате AMP, в результатах поиска на мобильном устройстве он будет отдавать предпочтение именно им. Страницы будут помечаться соответствующим тегом «AMP». В выдаче пользователю будет показана карусель карточек страниц в формате AMP, которую он сможет прокрутить и выбрать нужную статью.\
\r\n\r\n\\\
\r\n\r\n\\Google AMP\ — набор следующих технологий и инструментов: AMP HTML, AMP JS и Google AMP Cache.\
\r\n\\AMP HTML\ — это обычный HTML, содержащий в себе ряд ограничений для обеспечения адекватной производительности. Также AMP HTML включает в себя набор расширений для создания сложных компонентов страницы.\
\r\n\\AMP JS\ — JavaScript библиотека для обеспечения высокой производительности и скорости рендеринга. Стандартные веб-страницы содержат много JS-скриптов, которые замедляют загрузку. В AM-страницах используется только библиотека AMP, что делает страницу гораздо легче:\
\r\n\Она берет на себя все заботы по быстрой отрисовке страницы и загрузке ресурсов. Все ресурсы становятся асинхронными и подгружаются по мере надобности. Если на странице 10 картинок, то загрузятся только те, которые влезают в первый экран, остальные — по мере прокрутки страницы.\
\Имеется встроенный валидатор: если у вас есть страница в формате AMP, добавьте к ее адресу «#development=1» и запустится проверка страницы на соответствие спецификации AMP. Ошибки валидации можно увидеть, к примеру, открыв консоль DevTools в браузере Chrome. Подробнее о валидации страниц.\
\Дополнительно могут подключаться модули для отображения настраиваемых компонентов вроде слайдеров, мобильного меню или виджетов twitter, facebook и instagram. Они написаны с акцентом на высокую производительность, поэтому их нужно использовать.\
\r\n\\Google AMP Cache\ — распределенная CDN для доставки AMP страниц. Она валидирует страницы и кеширует все ресурсы на них, чтобы потом быстро отдавать их клиентам. \В кеш попадают только валидные страницы, не пренебрегайте валидацией.\\
\r\n\Так выглядит разметка стандартной страницы AMP:\
\r\n\\r\n<!doctype html>\r\n\t<html amp> (1)\r\n\t<head>\r\n\t\t<meta charset="utf-8">\r\n\t\t<link rel="canonical" href="hello-world.html">\r\n\t\t<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> (2)\r\n\t\t<style amp-boilerplate> (3)\r\n\t\t/* стили страницы */\r\n\t\t</style>\r\n\t\t<!— библиотека скриптов AMP —>\r\n\t\t<script async src="https://cdn.ampproject.org/v0.js"></script> (4)\r\n\t</head>\r\n\t<body>\r\n\t\tHello World!\r\n\t</body>\r\n</html>\r\n\\r\n\
\На что обратить внимание:\\
\r\n\Объявление AMP страницы — тег. Вместо amp можно использовать эмодзи-значок молнии\
\Тег meta с объявлением «viewport» нужен для нормального отображения сайта на мобильных\
\Тег style c атрибутом amp-boilerplate — все стили на странице должны быть объявлены именно в таком виде. Это делается для уменьшения количества запросов на странице — все стили здесь загружаются быстро.\
\JS-библиотека AMP для подключения компонентов\
\В процессе разработки страниц AMP советуем почаще заглядывать в консоль devTools — так меньше вероятность допустить ошибку и получить невалидный документ.\
\r\n\r\n\В качестве примера использования AMP-тегов рассмотрим синтаксис вставки изображений:\
\r\n\<amp-img src="welcome.jpg" alt="Welcome" height="400" width="800">\\r\n\
\Важные моменты:\\
\r\n\Название тега меняется по сравнению с обычным HTML\
\Тег не одиночный, его нужно закрывать\
\Обязательно наличие атрибутов «width» и «height» (по стандартам w3c еще и «alt»). Так картинка заранее резервирует место на странице, поэтому после ее загрузки не происходит перерисовка страницы, она не дергается из-за появившейся картинки\
\Остальные теги работают похожим образом, можно почитать о них в документации: \www.ampproject.org/docs/reference/amp-ad.html\\
\r\n\r\n\В качестве практической задачи мы в студии решили поэкспериментировать с нашим блогом. Теперь любая статья из нашего блога имеет AMP-аналог.\
\r\n\\Что нужно было сделать:\\
\r\n\Создать AMP-версию каждой страницы блога по адресу blog/название_страницы_блога/amp. \
\r\n\Для удобства мы сделали один общий шаблон для каждой AMP-страницы\
\Связать обе версии страниц при помощи специальных тегов link (о них дальше)\
\Поправить ошибки валидации\
\Новый вид страниц AMP получился очень легким, одноколоночным, удобным для чтения:\
\r\n\r\n\\\
\r\n\r\n\Сравните 2 варианта одной и то же страницы — \обычная версия\ и \amp-версия\\
\r\n\В будущем Google будет сам узнавать, есть ли у страницы amp-версия и предлагать ее пользователям мобильных устройств.\
\r\n\r\n\Две версии страницы связаны друг с другом. На AMP-версии страницы ставится ссылка со специальным атрибутом rel на основную версию:\
\r\n\r\n\<link rel="canonical" href="http://www.4rome.ru/blog/id32/" />\\r\n\r\n\
На основной версии ставится ссылка на AMP-версию, rel атрибут уже другой:\
\r\n\r\n\<link rel="amphtml" href="http://www.4rome.ru/blog/id32/amp/" />\\r\n\r\n\
Это большая задача — нужно отлаживать AMP версии страниц, методично исправляя все ошибки и несоответствия стандарту AMP.\
\r\n\r\n\\Важные моменты, с которыми я столкнулся:\\
\r\n\Для всех изображений нужно обязательно проставить «width» и «height»\
\Для адаптивных изображений нужно проставить layout="responsive"\
\Инлайн-стили через атрибут style запрещены, их нужно выносить вверх страницы или подключать отдельными файлами.\
\Google AMP — отличный инструмент для облегчения страниц и выдачи только полезного контента на мобильных устройствах. Возможно, это еще один серьезный аргумент в конкурентной борьбе за пользователей мобильных интернет-магазинов и различных сервисов. В любом случае, попробовать и оценить Google AMP точно стоит. Ждём развития событий!\
\r\n\\Оригинал: \http://www.4rome.ru/blog/amp-google/\\
","code":"items-google-accelerated-mobile-pages","previewText":"Основы и технические особенности формата Google AMP для разработки мобильных сайтов.","redirectToRR":false,"title":"Google Accelerated Mobile Pages","companyId":3897,"tags":[{"code":"article","title":"Статья"},{"code":"amp-programming","title":"AMP"},{"code":"instrukcija-programming","title":"Инструкция"},{"code":"mobile-versions-programming","title":"Мобильные версии"}],"id":880,"createdAt":"24 марта 2016","image":"https://images.cmsmagazine.ru/klarnetCMSlocal/resized_images/articles_elements/1013/2000/uploadufkfpywly7.jpg","company":"Четвёртый Рим","companyImage":"https://api.cabinet.cmsmagazine.ru/images/company_logos/b957d47523c4e92a822cc38703a3bcc3/1617100578F8qXuxZdZxSTor72kM.png","views_count":"2 630","firstLettersOfName":"РП"},"empty":false,"isAjax":false,"request":{"url":"material","params":{"code":"items-google-accelerated-mobile-pages"}},"isError":false,"similarMaterials":{"response":[{"type_id":1,"author":"Михаил Васильев","code":"items-amp-what-it-is-and-why-the-acceleration-sites","redirectToRR":false,"title":"AMP — что это и почему ускорение сайтов для мобильных нужно для SEO","company":null,"companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadw8m1jdhv7v.jpg","views_count":27453,"firstLettersOfName":"МВ"},{"title":"Как грамотно составить RFQ для проекта разработки программного обеспечения","code":"items-kak-gramotno-sostavit-rfq-dlja-proekta-razrabotki","type_id":1,"author":"Данил Вильховский","company":"Softenq","companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadi1p9t2p2xr.jpg","redirectToRR":false,"firstLettersOfName":"ДВ"},{"title":"Инструкция: собираем данные из всех рекламных кабинетов соцсетей в одном дашборде","code":"items-instrukcija-sobiraem-dannye","type_id":1,"author":"Алёна Борщева","company":null,"companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadpaf82bdlph.jpg","redirectToRR":false,"firstLettersOfName":"АБ"},{"title":"Гайд: Аналитика в квиз-маркетинге","code":"items-gajd-analitika-v-kviz-marketinge","type_id":1,"author":"Гордей Алексеев","company":null,"companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadzm81h9ehkt.jpg","redirectToRR":false,"firstLettersOfName":"ГА"},{"title":"Гайд: как общаться с разработчиками, чтобы сайт после создания не разочаровал","code":"items-gajd-kak-obcshatsja-s-razrabotchikami-chtoby","type_id":1,"author":"Светлана Пушкарь","company":"Медиасфера","companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadyhsl0xy17m.jpg","redirectToRR":false,"firstLettersOfName":"СП"},{"type_id":1,"author":"Наталья Секацкая","code":"items-vse-pro-utm-metki-chto-eto","redirectToRR":false,"title":"Все про UTM-метки: что это, для чего нужны, как настроить и как отслеживать","company":"АТИБ","companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadfxxgx5qrot.png","views_count":557,"firstLettersOfName":"НС"},{"type_id":1,"author":"Дмитрий Шестаков","code":"items-step-by-step-guide-to-developing","redirectToRR":false,"title":"Пошаговое руководство по разработке стратегии интернет-маркетинга для B2B-предприятия","company":"СайтКрафт","companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadmk0b6opzip.jpg","views_count":2795,"firstLettersOfName":"ДШ"},{"title":"Как передать в Гугл Аналитикс, сколько пользователь активно находился на странице?","code":"items-how-to-transfer-to-google-analytics","type_id":1,"author":"Дмитрий Еремеев","company":"KINETICA","companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadstkoy01p7c.jpg","redirectToRR":false,"firstLettersOfName":"ДЕ"},{"type_id":1,"author":"Виктор Фомин","code":"items-brand-guide-for-playable-ads","redirectToRR":false,"title":"Руководство для брендов по Playable Ads","company":null,"companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/uploadn9vundrhzm.jpg","views_count":606,"firstLettersOfName":"ВФ"},{"type_id":1,"author":"Никита Кузнецов","code":"items-how-to-increase-the-ctr-in-contextual-advertising","redirectToRR":false,"title":"Как повысить CTR в контекстной рекламе в «Яндекс.Директ»","company":"i.com","companyImage":"https://cmsmagazine.ru/klarnetCMSlocal/resized_images/persons/300/500/upload9dqoyfmfsj.jpg","views_count":829,"firstLettersOfName":"НК"}],"empty":false,"isAjax":false,"request":{"url":"similarMaterials","params":{"code":"items-google-accelerated-mobile-pages"}},"isError":false}},"flowsMenu":{"response":[{"title":"Маркетинг","code":"marketing","newCount":10},{"title":"Контекстная реклама","code":"context","newCount":15},{"title":"Создание сайтов","code":"programming","newCount":15},{"title":"SEO","code":"seo","newCount":6},{"title":"Комплекс услуг","code":"package_of_services","newCount":8},{"title":"Дизайн","code":"graphical_design","newCount":13},{"title":"Программирование","code":"programming","newCount":7},{"title":"SMM","code":"smm","newCount":3},{"title":"Digital","code":"digital","newCount":2},{"title":"Использование сервиса","code":"service_use","newCount":5},{"title":"Мобильная разработка","code":"moblile","newCount":4},{"title":"Юзабилити","code":"usability","newCount":2},{"title":"Брендинг","code":"branding","newCount":2},{"title":"Менеджмент","code":"management","newCount":0},{"title":"Интернет-маркетинг","code":"internet_marketing","newCount":1},{"title":"Интранет","code":"intranet","newCount":1}],"empty":false,"isAjax":false,"request":{"params":{},"url":"flowsMenu"},"isError":false}},"badges":{"isAjax":false,"isError":false,"data":{}},"abTest":{},"catalogList":{"view":"card","sort":null,"sort_direction":null},"favorites":{},"reviewForms":{"criteria":[],"isAjax":false,"success":false,"fields_errors":{}},"flowsSortType":{"sort_type":"fresh"},"agency_cookie":{}}