Accelerated Mobile Pages
Definition
Starting as an open source project and mainly sponsored by Google in October 2015, the objective of Accelerated Mobile Pages (AMP) is provide a repeatable approach that delivers faster pages on mobile devices. In 2019 the project has renamed itself to just AMP.
The early adopters and pioneers of this technology was the News websites where the delivery of information quickly is a key business objective. However, it has proven successful and it is now used by many other types of website, such as ecommerce.
An AMP website works by slimming down the set of features normally delivered on a website through JavaScript.
It then improves its download speed through pre-rendering and caching on an AMP-specific CDN in the cloud so that web pages will load and display considerably faster for a mobile-connected device.
Although there are a considerable amount of features in the current AMP framework, the technology is still evolving with important features being marked experimental. This makes deployment of AMP difficult for some production websites especially where they require complex and feature rich websites to drive their business objectives.
Usage Considerations
AMP prioritizes speed and efficiency of web page delivery, implementing AMP can mean sacrificing creativity and potentially some aspects of user experience of your web page. This may impact the rendering of images and also the ability to secure advertising revenue as ad placement is limited.
An AMP web page is easy to build as it conforms to a specific set of technical criteria that are implemented through an enhanced subset of HTML tags and attributes, known as AMP HTML.
In this way it is possible to have both an AMP and non-AMP formatted version of the same web page, which is good for SEO purposes, therefore care must be taken to ensure that the rel="canonical" attribute is set accordingly so that duplicate content issues to not penalize the website.
One of the reasons AMP is fast is that it does not allow for `author-written` JavaScript to be loaded and executed on the web page and so avoids the high penalty incurred by many websites through the overuse of JavaScript. AMP provides JavaScript-like functionality through `custom AMP elements`. These elements may inherently use JavaScript, but their use has been optimized so that web performance degradation does not occur. AMP also allows third party software to be loaded and executed but this is only possible within the confines of an iframe so that critical path rendering is not blocked and the delivery of the web page is not compromised.
Additional Information
Although it has its limitations, Accelerated Mobile Pages is a well developed and accepted technology, refer to the official AMP website at amp.dev for a full and in-depth explanation on how to develop and implement AMP on your website.
However, the limitations are significant and with Google hosting and basically pre-rendering the AMP web page, over time it is losing it&s sparkle and so will probably be moved away from over time.