Ignore AMP

Published on December 21, 2020 (↻ November 27, 2023), filed under (RSS feed).

In 2018, my recommendation was to avoid AMP, to use AMP for the most relevant pages, or, if you couldn’t help it, to use AMP only.

In 2020—the year I predicted guessed AMP to be dead—my recommendation is to ignore it, because AMP largely appears meaningless now.

Chapter 9 of freshly released Upgrade Your HTML II gives an opinionated idea why.

<!doctype html>
<html amp lang="en">
  <head>
    <meta charset="utf-8">
    <script async src="https://cdn.amp­project.org/v0.js"></script>
    <title>Hello, AMPs</title>
    <link rel="canonical" href="https://amp.dev/documen­tation/guides-and-tutorials/­start/create/basic_markup/">
    <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
    <script type="application/ld+json">
      {
        "@context": "http://schema.org",
        "@type": "NewsArticle",
        "headline": "Open-source framework for publishing content",
        "datePublished": "2015-10-07T12:02:41Z",
        "image": [
          "logo.jpg"
        ]
      }
    </script>
    <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>
  </head>
  <body>
    <h1>Welcome to the mobile web</h1>
  </body>
</html>

The cover of “Upgrade Your HTML II.”

This is AMP’s “decent boilerplate.” Don’t use it. Don’t use AMP.

There are many problems with AMP. They are very different, and they include:

  • No one knows why it’s there. (It started using the magic spell of prominent results page display to get authors to use it. Nothing is left of the original lure of raising awareness for web performance, and nothing convincing is there to confirm it was a usable “web component framework.”)

  • It’s non-standard.

  • It has two complementing yet competing equivalents, MIP (Mobile Instant Pages) and Turbo pages. This possibly makes AMP not only double but triple or quadruple your development cost.

  • Its technical design is ugly.

  • Almost everyone serious about tech questions it.

  • Some hate it.

  • It’s dying.

This is biased and somewhat hostile. I know. But there’s little positive to say about AMP when it comes to practical web development, meaning real use on real sites. Its value has always been rather theoretical: AMP has suggested we think harder about web performance, and it has inspired some useful follow-up developments, like Web Packaging or Portals. I give AMP that.

The best AMP document is no AMP document. Avoid AMP. Ignore AMP. And avoid and ignore MIP and Turbo pages, too.

Check out the other nine chapters—and the Upgrade Your HTML book series.

Toot about this?

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens, and I’m an engineering lead and author. I’ve worked as a technical lead for companies like Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma. I love trying things, not only in web development, but also in other areas like philosophy. Here on meiert.com I share some of my views and experiences.

If you have a question or suggestion about what I write, please leave a comment (where applicable) or a message.