トップQs
タイムライン
チャット
視点

Accelerated Mobile Pages

ウィキペディアから

Accelerated Mobile Pages
Remove ads

AMP(元々はAccelerated Mobile Pages頭字語[1])は、AMP Open Source Projectにより開発が行われているオープンソースHTMLフレームワークである[2]。もともとはGoogleFacebook Instant Articles英語版Apple Newsの競合相手として開発したものである[3][4]。AMPはモバイルでのウェブサイト閲覧を高速化するために最適化されている[5]。AMPページは、Microsoft BingCloudflareなどのCDNのAMPキャッシュでキャッシュされることがあり、キャッシュされていた場合はページをさらに短時間で配信できる[6][7][8]

概要 URL, 設立者 ...

AMPは2015年10月7日に初めて発表された[9]。テクニカルレビュー期間を経て、AMPページは2016年2月頃からGoogleのモバイル検索の結果に表示されるようになった[10][11]。AMPは、Googleなどによるウェブに対するコントロールをさらに強める可能性があるとして批判されてきた[12]。AMP Projectは2018年9月18日にオープンガバナンスモデルに移行することを発表し、2019年10月10日以降はOpenJS財団の一部となっている[13][14]

Remove ads

構成

AMPの成果物である一連の仕様やライブラリなどについてもAMPと呼ぶ。AMPは、従来より用いられているHTMLなどのウェブ技術を改良したもので、中核となるのはAMP HTMLと呼ばれるHTMLの一種である。AMPは、大きく分けて、AMP HTMLAMP JSそしてAMP Cacheの3つの部分からなる[15]

AMP HTMLは、ウェブページを記述するためのマークアップ言語であり、通常のウェブページで用いられるHTMLの亜種である。AMP HTMLでは画像などの表示にHTMLと異なる専用のタグを用いることになっているほか、HTMLの一部の機能は使用が制限されている。

AMP JSは、AMP HTMLを正しく高速に表示するためのライブラリであり、JavaScriptによって記述されている。AMP JSはまた、AMP HTML専用の機能と、一般のHTMLにのみ対応したブラウザとの橋渡しの役割をも担っている。AMP HTMLでは、このライブラリを呼び出して利用することになる。

AMP Cacheは、AMPページをキャッシュし配信するCDNであり、AMP対応のウェブページにさらなるパフォーマンスの改善をもたらす。閲覧者は、検索エンジンからAMP対応のウェブページを閲覧する際に、最適化が施されたキャッシュへアクセスすることになる。AMP Cacheは、Google AMP CacheとしてGoogleにより運用されている。

Remove ads

AMP HTML

要約
視点

AMPページを作成するには、通常のウェブページ作成においてHTMLを作成するように、AMP HTMLを作成することになる。AMP HTMLの多くの部分はHTMLと同様に記述できる。拡張子もHTMLと同様に.htmlである[16]が、区別のために.amp.htmlとすることもある。

AMP HTMLの詳細な仕様はAMPプロジェクトのウェブサイトにおいて公開されている。以下にその特徴的な部分を述べる。

冒頭部

AMP HTMLの最初の部分は次のようになる。

<!doctype html>
<html amp lang="ja">
    <head>

DOCTYPE宣言は通常のHTML5のものとまったく同じである。AMP HTMLでは、<html>開始タグを<html amp>または絵文字を使用した<html ⚡>とする。

<head>タグには、charsetおよびviewportメタタグ、定型の<style>要素、AMP JSライブラリを読み込むための<script>要素などを含めることが必須とされている(一部は順序も指定されている)。さらに、JSON-LD形式による構造化データ[17]などを含めて、検索エンジンなどに対して適切に情報を伝えるためのメタ情報を記述することができる。

カスタム要素

AMP HTMLでは、通常のHTMLの要素に加えて、カスタム要素と呼ばれる独自の要素(タグ)を使用できる。カスタム要素の例としては、画像を表示するための<amp-img>(通常の<img>要素に代えて使用する)、レイアウトされたサイドバーのための<amp-sidebar>、外部のサイトのコンテンツを表示するための<amp-facebook><amp-twitter>、などが挙げられる。

AMPではユーザーJavaScriptが使用できないので、カスタム要素にはこれらの代替となるような要素がある。例えば、広告のための<amp-ad>アクセス解析のための<amp-analytics>などはその典型である。

一部のカスタム要素を使用するためには、追加でJavaScriptライブラリを読み込む(<head>タグ内において)必要がある。

スタイル

AMPページのスタイル・レイアウトには、通常のページと同じようにCSSを用いる。ただし、CSSは外部ファイルに記述したり個々の要素のstyle属性として記述することはできず、AMP HTML冒頭の<head>タグに1個の<style>要素として記述しなければならない(サーバ側で動的にCSSを生成してAMP HTMLに埋め込むことは可能である)。メディアクエリや多くのセレクタ・プロパティなどCSSの機能のほとんどは使用可能であるが、!important修飾子や*セレクタなど、使用できないものもある。

また、レイアウトを制御するために、要素のlayout属性を使用することができる。例えば、レスポンシブな画像は、<amp-img layout="responsive">と記述する。

HTMLの制限

一部のHTML要素や属性は、使用が制限されている。特に画像などメディア関連についてはAMP独自のカスタム要素に置き換えられている。

スクリプティング

AMPでは、ユーザーが作成したJavaScriptや、jQueryAngularJSのような一般のJavaScriptライブラリは、原則として使用することができない。インタラクティブなウェブページを作成するために、代替としてAMP HTMLのカスタム要素を使用することができる。

Remove ads

利点

AMPを使用したウェブページは、高速で読み込まれ表示される。ユーザー(ウェブページの閲覧者)は、リンクをクリックした後に待ち時間なくページの内容を閲覧することができる。Googleは、アクセスしたウェブページが低速であると多くのユーザーはそのページの閲覧をやめてしまう、というデータを示しており[18]、ページが高速で表示できることはウェブサイトの制作者にとっても有益である。

また、Google検索の検索結果では、適切に記述されたAMPページがAMPのロゴとともに表示されるようになっており、特にニュースなどの一部のコンテンツはカルーセルと呼ばれる特別な見た目によって表示される[19]

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads