Google-amp-introduction
Google AMP-はじめに
AMPは標準HTMLの単なる拡張機能です。 変更されたHTMLタグはほとんどなく、AMPはその使用に制限を追加しました。 この章では、変更されたhtmlタグとそれらに追加された制限をリストします。 画像、CSS、JS、フォーム送信、ビデオ、オーディオなどの外部リソースのロードを処理するタグが変更されました。
また、amp-date-picker、amp-facebook、amp-ad、amp-analytics、amp-ad、amp-lightboxなど、htmlページで直接使用できる多くの新機能がampに追加されています。 残りの表示用のものは、そのまま使用されます。
これらのすべての変更と新機能により、AMPはライブ環境で使用した場合、ページの読み込みが速くなり、パフォーマンスが向上することを約束します。
あなたの携帯電話でGoogle検索で何かを検索すると、上部のGoogleカルーセルに表示されるディスプレイは、以下に示すようにほとんどがアンプページです-
AMPページをクリックすると、アドレスバーに表示されるURLは次のようになります-
URLはパブリッシャーから直接送信されるものではありませんが、GoogleはそれをキャッシュバージョンであるGoogleサーバー上の独自のコピーにポイントし、非ampページと比較してコンテンツのレンダリングを高速化します。 これは、デバイスまたはGoogleエミュレータモードでのみ発生します。
サンプルアンプページ
アンプページの例を以下に示します-
AMPページですべきことと禁止事項
プログラマーがAMPページで従わなければならないこととしないことを理解しましょう。
必須タグ
以下に示すように、アンプページに含まれるいくつかの必須タグがあります-
- 以下に示すように、htmlタグにampまたは⚡が追加されていることを確認する必要があります-
- <head>および<body>タグをhtmlページに追加する必要があります。
- 次の必須メタタグをページのヘッドセクションに追加する必要があります。そうしないと、アンプの検証に失敗します
- rel = "canonical"のリンクがheadタグ内に追加されます
- amp-boilerplateを使用したスタイルタグ-
- amp-boilerplateを使用したNoscriptタグ-
- 以下に示すように、非同期が追加されたampスクリプトタグが非常に重要です-
- ページにカスタムCSSを追加する場合は、ampページで外部スタイルシートを呼び出せないことに注意してください。 カスタムCSSを追加するには、示されているようにすべてのCSSをここに移動する必要があります-
- スタイルタグにamp-custom属性を追加する必要があります。
AMPコンポーネントのスクリプト
srcページでtype =” text/javascript”のスクリプトはampページでは厳密に許可されないことに注意してください。 非同期でampコンポーネントに関連するスクリプトタグのみをheadセクションに追加できます。
このセクションでは、以下に示すアンプコンポーネントに使用されるいくつかのスクリプトをリストします-
アンプ広告
amp-iframe
スクリプトには、ロードするampコンポーネントの名前を持つasyncおよびcustom-element属性があることに注意してください。 Ampは、非同期およびカスタム要素のプロパティに基づいてスクリプトタグを検証し、他のスクリプトの読み込みを許可しません。 以下に示すように、サンプルファイルに追加した type = application/json が必要です。
上記のスクリプトは、必要に応じて、たとえばampアナリティクスなど、他のampコンポーネントで使用できます。
HTMLタグ
これまでに、ampページで必須のタグが必要であることを確認しました。 ここで、許可される/許可されないHTML要素とそれらに課せられる制限について説明します。
ここに許可されている/許可されていないHTMLタグのリストがあります-
Sr.No | HTML Tag & Description |
---|---|
1 |
img このタグはamp-imgに置き換えられます。 AMPページでは、直接imgタグの使用は許可されていません |
2 |
video amp-videoに置き換えられました |
3 |
audio amp-audioに置き換え |
4 |
iframe amp-iframeに置き換え |
5 |
object 禁止されている |
6 |
embed 禁止されている |
7 |
form <form>として使用できます。 AMPページのフォームを操作するスクリプトを追加する必要があります。
|
8 |
Input elements |
9 |
<fieldset> 許可された |
10 |
<label> 許可された |
11 |
P, div, header,footer,section 許可された |
12 |
button 許可された |
13 |
a <a>タグは次の条件で許可されます。hrefはjavascriptで始まってはなりません。 存在する場合、ターゲット属性値は_blankでなければなりません。 |
14 |
svg 禁止されている |
15 |
meta 許可された |
16 |
Link 許可された。 ただし、外部スタイルシートをロードすることはできません。 |
17 |
style 許可された。 amp-boilerplateまたはamp-custom属性が必要です。 |
18 |
base 禁止されている |
19 |
noscript 許可された |
コメント
条件付きHTMLコメントは許可されません。 たとえば-
HTMLイベント
onclick、onmouseoverなどのhtmlページで使用するイベントは、AMPページでは許可されていません。
次のようにイベントを使用できます-
これは、入力要素で使用されるイベントの例です-
使用されるイベントは入力されます。
クラス
Ids
-ampまたはi-amp-で始まるHTML要素のIDを使用することはできません。 さらに、要件に応じてhtml要素にidを使用できます。
リンク集
JavaScriptをhrefにすることはampページでは許可されていません。
例
スタイルシート
外部スタイルシートは、AMPページでは許可されていません。 内部のページに必要なスタイルを追加することが可能です-
スタイルタグには、 amp-custom 属性を追加する必要があります。
@-ルール
次の@ルールはスタイルシートで許可されています-
- @ font-face、@ keyframes、@ media、@ page、@ supports。@ importは許可されません。 同じサポートは将来追加されます。 @keyframesは_ <style amp-custom > 内で使用できます。 @keyframeが多すぎる場合は、 <style *amp-keyframes> _タグを作成し、ampドキュメントの最後にこのタグを呼び出すとよいでしょう。
- クラス名、ID、タグ名、および属性の先頭に - amp - および i-amp - を付けないでください。これらは、実行時にページでも定義されると競合を引き起こす可能性があるampコードで内部的に使用されます。
- ampは必要に応じて要素のサイズを制御するため、 !important プロパティはスタイル内では許可されません。
カスタムフォント
カスタムフォントのスタイルシートは、AMPページで許可されています。
例
フォントは、AMPページ内で使用できる以下の起源からホワイトリストに登録されています。
- Fonts.com-https://fast.fonts.net
- Google Fonts-https://fonts.googleapis.com
- Font Awesome-https://maxcdn.bootstrapcdn.com
- Typekit-https://use.typekit.net/kitId.css(kitIdを適宜置き換えてください)
注-ampページでは@ font-faceカスタムフォントが許可されています。
例
AMPランタイム
ampコアファイルがロードされると、Ampランタイム環境が決定されます-
コアファイルは外部リソースのロードを処理し、それらをいつロードするかの優先順位を決定し、#development = 1がamp URLに追加されたときにampドキュメントの検証にも役立ちます。
例
上記のURLをブラウザーで実行すると、アンプ検証に失敗した場合はエラーが一覧表示され、エラーがない場合はアンプ検証成功メッセージが表示されます。
AMPコンポーネント
Ampには、多くのアンプコンポーネントが追加されています。 基本的には、リソースのロードを効率的な方法で処理するために使用されます。 また、アニメーション、表示データ、広告の表示、ソーシャルウィジェットなどを処理するコンポーネントも含まれています。
AMPには2種類のコンポーネントがあります。
- ビルトイン
- 外部
注-<amp-img>は組み込みコンポーネントであり、コアアンプjsファイルが追加されている場合に使用可能です。 <amp-ad>、<amp-facebook>、<amp-video>などの外部コンポーネントには、追加するコンポーネントに関連するそれぞれのjsファイルが必要です。
共通の属性
幅、高さ、レイアウト、プレースホルダー、フォールバックなどの属性は、利用可能なほぼすべてのAMPコンポーネントで利用できます。 これらの属性は、AMPページでのコンポーネントの表示を決定するため、AMPコンポーネントにとって非常に重要です。
AMPにリストされている上記のすべての機能については、このチュートリアルの後の章で詳しく説明します。
このチュートリアルのすべての例はデバイス用にテストされており、Google Mobile Emulatorモードを使用しています。 これについて詳しく説明しましょう。
Google Mobile Emulator
Googleモバイルエミュレータを使用するには、Chromeブラウザを開き、右クリックして、以下に示すように開発者コンソールを開きます-
上記のChromeの開発者ツールを見ることができます。 ブラウザでテストするリンクをヒットします。 ページがデスクトップモードで表示されることを確認します。
デバイスをテストするために上記のページを取得するには、以下に示すようにデバイスツールバーの切り替えをクリックします-
ショートカットキーCtrl + shift + Mを使用することもできます。 これは、以下に示すように、デスクトップモードをデバイスモードに変更します-
デバイスのリストは、次のように表示されます-
ページをテストするデバイスを選択できます。 これらのチュートリアルのすべてのページは、上記のようにGoogleモバイルエミュレーターでテストされています。 Firefoxおよび最近のInternet Explorerブラウザでも同じ機能が利用できます。