Ignore AMP

Post from December 21, 2020 (↻ April 29, 2022), filed under (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.ampproject.org/v0.js"></script>
    <title>Hello, AMPs</title>
    <link rel="canonical" href="https://amp.dev/documentation/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 or tweet 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 Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly. I love trying things, sometimes including philosophy, art, and adventure. 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 (if available) or a message. Thank you!