コアコンポーネントの AMP サポート amp-support
コアコンポーネントのリリース 2.11.0 以降で、AMP(Accelerated Mobile Pages)は完全にサポートされます。
このドキュメントでは、AMP のサポート方法の概要と、サイトで AMP を有効にする方法を説明します。 ただし、技術的な詳細については、GitHub 開発者ドキュメントを参照してください。
AMP とは what-is-amp
Accelerated Mobile Pages(AMP)は、元々 Google がモバイルブラウジング用にページを最適化するために設計したオープンソースフレームワークです。 通常、AMP ページは、標準の Web ページよりもさらに速く読み込まれ、優れたモバイルエクスペリエンスを提供します。
コアコンポーネントの AMP amp-in-core-components
コアコンポーネントでの AMP サポートは、完全に設定可能です。 ページの AMP バージョンは、標準 HTML バージョンと一緒に排他的に提供する、またはまったく提供しないかを設定できます。
コアコンポーネントは、AMP ページをレンダリングするために Sling セレクターとして amp を使用します。 例えば、example.html は通常のページをレンダリングし、example.amp.html は AMP バージョンになります。
個々のプロジェクトで AMP を活用するかどうかを決定できます。 さらに、AMP と標準の HTML ページは並行して提供できるので、プロジェクトの特定のページでのみ AMP を使用するように選択できます。
プロジェクトでの AMP サポートの使用の手引き getting-started
AMP サポートは高い柔軟性を提供しますが、これを使い始めるには、いくつかの簡単な手順が必要です。
-
- AEM as a Cloud Service プロジェクトの場合、コアコンポーネントはデフォルトで使用でき、追加のインストールは必要ありません。
- オンプレミスおよびAMS プロジェクトの場合は、GitHubからコアコンポーネントの最新のコンテンツパッケージをダウンロードし、AEM環境にインストールできます。
- オンプレミスまたはAMS プロジェクトで2.14.0より前のコアコンポーネントリリースを使用している場合は、GitHubのリリースの一部として利用可能なAMP拡張機能もインストールする必要があります。
-
コンポーネント
resourceSuperTypeをcore/wcm/extensions/amp/components/page/v1/pageにポイントします。- お勧めのベストプラクティスとしてAEM プロジェクトアーキタイプ を使用し、AMP サポートを有効にする オプションを選択した場合、これは自動的に実行されました。
-
テンプレートレベルまたは個々のページで、AMP サポートを有効にします。
-
必要に応じて、インライン CSS をデプロイします。
ページに対する AMP の有効化 enabling-amp
ページに対して AMP を有効にするには、ページポリシーで AMP モードが選択されている必要があります。
- AMP なし - ページは標準の HTML としてのみ提供されます。
- ペア AMP - ページは、AMP および HTML として配信されます。
- AMP のみ - ページは AMP としてのみ提供されます。
ページの AMP 設定は、個々のページのページプロパティで上書きすることもできます。
- ページテンプレートから継承 - これはデフォルト値で、ページテンプレートのポリシーから設定を取得できます。
- AMP なし - ページは標準の HTML としてのみ提供されます。
- ペア AMP - ページは、AMP および HTML として配信されます。
- AMP のみ - ページは AMP としてのみ提供されます。
これらのオプションは、resourceSuperTypeがAMP サポート用に正しく設定されている場合にのみUIに表示されます。 デフォルトのWKND サンプルコンテンツにはresourceSuperTypeが設定されていないため、AMPのオプションはUIに表示されません。
CSS の要件 css-requirements
AMP をコアコンポーネントと共に使用する場合、主な違いは、AMP では、<head> 要素内ですべての CSS をインライン化および最適化する必要があるということです。
これをサポートするために、カスタマイズされたページコンポーネントが使用され、ページに存在するコンポーネントの AMP 固有の CSS のみが読み込まれます。
その他の要件および技術的な詳細については、GitHub 開発者ドキュメントを参照してください。