AMP- ACCELERATED MOBILE PAGES by Google

4 min read
Share:

Now-a-days, if anyone browse a website on mobile, everyone expect rich and HD graphics, smooth scrolling, fast animations, transitions to load quickly. Google introduces a new technique known as AMP. It’s a technique to build static content web pages that render fast. Its basic structure consists of three different layers:

  1. AMP HTML: HTML extended with custom AMP properties but with some restrictions for fast and reliable performance
  2. AMP JS Library: ensures the fast rendering of AMP HTML pages
  3. Google AMP Cache: used to serve cached Amp HTML pages

So AMP Project = AMP-HTML + AMP JS Library + Custom Styling + AMP Cache

Goals of AMP Project

  • Make pages fast
  • Easy to implement
  • Enable monetization
  • Embrace open web

Create first AMP Page:

Basic structure for AMP Page is below:

[java]
<!doctype html>
<html amp lang="en">
<head>

</head>
<body>

</body>
</html>
[/java]

Code inside head tag:

[java]
<head>
<meta charset="utf-8">
<title>First AMP Page</title>
<link rel="canonical" href="http://ampproject.org/article.html" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">

<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>
amp-img.grey-placeholder {
background-color: grey;
}
</style>

<script async src="https://cdn.ampproject.org/v0.js"></script>
</head>
[/java]

Code inside body tag:

[java]
<body>
<h1>This is my First AMP Page</h1>
</body>
[/java]

Note:
<!doctype html> is required at the top.
<html amp> to tell browser that we are using amp.
<link rel=”canonical” href=”_canonical-url_” /> it points to the regular HTML version of the AMP HTML document or to itself if no such HTML version exists.
<script async src=”amp-js-library”></script> it includes AMP JS library.

Some extended HTML tags:

  • amp-img: replacement of HTML img tag
  • amp-ad: container to display ad and a script is required
  • amp-pixel: used to count the page views by typical tracking pixel
  • amp-embed: used to embed elements
  • amp-video: replacement of HTML5 video tag

Styling/ Presentation

Styling is done by using common CSS, by using starting tag <style amp-custom>:

[java]
<style amp-custom>
body {
background: white;
}
amp-img {
border: 1px solid black;
}
</style>
[/java]

Make sure there should be only one amp-custom style tag for styling. And even AMP page can have a single embedded stylesheet.

Validate AMP Page:

AMP is providing a validator built in browser only. No need to validate your code from other online validators. Just open your document in any browser through local server: XAMP/WAMP.
Add #development=1 after the url in address bar.
e.g http://localhost:8000/first-amp-page.html#development=1
Open Dev tool console in chrome browser and check validation errors.

Congrats you have created first AMP Page and tested locally.

You can explore more about this.

Leave a Reply

Your email address will not be published. Required fields are marked *