AMP

Обзор стартового кода

Прежде чем мы начнем добавлять код, рассмотрим в качестве примера страницу article.amp.html, которая имеет следующий вид:

<!DOCTYPE html>
<html  lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />

    <link rel="canonical" href="/article.html" />
    <link rel="shortcut icon" href="amp_favicon.png" />

    <title>News Article</title>

    <style amp-boilerplate>
      body {
        -webkit-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
        -moz-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
        -ms-animation: -amp-start 8s steps(1, end) 0s 1 normal both;
        animation: -amp-start 8s steps(1, end) 0s 1 normal both;
      }
      @-webkit-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @-moz-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @-ms-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @-o-keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
      @keyframes -amp-start {
        from {
          visibility: hidden;
        }
        to {
          visibility: visible;
        }
      }
    </style>
    <noscript
      ><style amp-boilerplate>
        body {
          -webkit-animation: none;
          -moz-animation: none;
          -ms-animation: none;
          animation: none;
        }
      </style></noscript
    >
    <style amp-custom>
      body {
        width: auto;
        margin: 0;
        padding: 0;
      }

      header {
        background: tomato;
        color: white;
        font-size: 2em;
        text-align: center;
      }

      h1 {
        margin: 0;
        padding: 0.5em;
        background: white;
        box-shadow: 0px 3px 5px grey;
      }

      p {
        padding: 0.5em;
        margin: 0.5em;
      }
    </style>
    <script async src="https://cdn.ampproject.org/v0.js"></script>
    <script type="application/ld+json">
      {
        "@context": "http://schema.org",
        "@type": "NewsArticle",
        "mainEntityOfPage": {
          "@type": "WebPage",
          "@id": "https://example.com/my-article.html"
        },
        "headline": "My First AMP Article",
        "image": {
          "@type": "ImageObject",
          "url": "https://example.com/article_thumbnail1.jpg",
          "height": 800,
          "width": 800
        },
        "datePublished": "2015-02-05T08:00:00+08:00",
        "dateModified": "2015-02-05T09:20:00+08:00",
        "author": {
          "@type": "Person",
          "name": "John Doe"
        },
        "publisher": {
          "@type": "Organization",
          "name": "⚡ AMP Times",
          "logo": {
            "@type": "ImageObject",
            "url": "https://example.com/amptimes_logo.jpg",
            "width": 600,
            "height": 60
          }
        },
        "description": "My first experience in an AMPlified world"
      }
    </script>
  </head>
  <body>
    <header>News Site</header>
    <article>
      <h1>Article Name</h1>

      <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas
        tortor sapien, non tristique ligula accumsan eu.
      </p>

      <amp-img
        src="mountains.jpg"
        layout="responsive"
        width="266"
        height="150"
      ></amp-img>
    </article>
  </body>
</html>

Это простая AMP-страница, которая проходит как валидацию AMP, так и проверку структурированных данных schema.org. Если эта страница была развернута на новостном сайте, пользователи могут найти ее с помощью расширенных возможностей на страницах результатов поисковой системы (например, с помощью кольцевой галереи главных новостей в Поиске Google).

Активация AMP-валидатора

Прежде чем вносить изменения в страницу, давайте включим AMP-валидатор, чтобы мы знали, что работаем с корректно сформированным AMP HTML. Добавьте в свой URL следующий идентификатор фрагмента:

#development=1

Например:

http://localhost:8000/article.amp.html#development=1

Откройте консоль разработчика в Chrome (или в предпочитаемом вами браузере) и убедитесь, что в ней отсутствуют ошибки AMP.

Вы можете использовать ряд других инструментов для валидации своей AMP-страницы, например, таких как:

Дополнительные сведения см. в руководстве по валидации AMP-страниц.

Simulated on a Nexus 5X device

Имитация мобильного опыта

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

Теперь мы можем приступить к работе над самой страницей. Давайте добавим на нашу страницу несколько компонентов AMP.