コアコンポーネントで AEM as a Cloud Service の web に最適化された画像配信機能を活用して画像をより効率的に配信する方法について説明します。
AEM as a Cloud Service の web に最適化された画像配信機能は、DAM から WebP 形式で画像アセットを配信します。WebP は、画像のダウンロードサイズを平均で約 25%削減できるので、ページの読み込みが高速になります。
Web に最適化された画像配信をコアコンポーネントでアクティブ化するのは簡単です。一般的なブラウザーはすべて WebP をサポートしているので、エンドユーザーに対して透過的なエクスペリエンスになります。 顕著な違いは、コンテンツの読み込みが早くなる点だけです。
Web に最適化された画像配信を有効にするには、画像コンポーネントのデザインダイアログ内でページテンプレートを編集し「Web 最適化画像を有効にする」オプションを有効にするだけです(画像コンポーネントについてはこちらを参照)。このオプションは、画像コンポーネントの v1、v2 および v3 で使用できます。
デザインダイアログと AEM ページテンプレートについて詳しくは、このドキュメントを参照してください。
これで作業は完了です。画像は、画像コンポーネントによって WebP 形式で配信されるようになりました。
Web に最適化された画像配信をアクティブ化した後は、Dispatcher 設定を調べて、画像サービスへのリクエストがブロックされないことも確認しておくとよいでしょう。このサービスの URL は、次の形式を取ります。
/adobe/dynamicmedia/deliver/dm-aid--741ed388-d5f8-4797-8095-10c896dc9f1d/skitouring.jpg?quality=80&preferwebp=true
これは、次の正規表現で一般化できます。
\/adobe\/dynamicmedia\/deliver\/([^:[]|*\/])\/([\w-])\.(gif|png|png8|jpg|pjpg|bjpg|webp|webpll|webply)(?[a-z0-9=&]*)?
Web に最適化された画像配信は、コンテンツの利用者に対して透過的で、マークアップには影響しません。エンドユーザーが気付くのは、読み込み時間が短くなることだけです。
したがって、動作の実際の変化を確認するには、ページのソースを表示する必要があります。
src
属性の画像が新しい画像サービスの URL を指していることを確認します。Web に最適化された画像配信は、AEM as a Cloud Service でのみ使用できます。AEM 6.5 をオンプレミスで実行したりローカル開発インスタンスで実行したりするなどして、使用できない場合、画像配信はフォールバックしてアダプティブ画像サーブレットが使用されるようになります。
Web に最適化された画像配信を有効にしてもマークアップに影響しないのと同様に、アダプティブ画像サーブレットにフォールバックしてもマークアップには影響しません。img
要素の src
属性の URL のみが変更されるからです。
この機能は、AEM as a Cloud Service でのみ使用できます。AEM をローカルまたはオンプレミスで実行すると、画像コンポーネントはフォールバックして、アダプティブ画像サーブレットが使用されるようになります。
localhost
で AEM SDK を使用する場合、画像サービスは使用できず、画像レンダリングはフォールバックして、アダプティブ画像サーブレットが使用されるようになります。
Web に最適化された画像配信サービスを使用するには、プロジェクトを AEMaaCS 開発環境にデプロイして、画像サービスの動作を正確にテストできるようにします。
画像サービスは /content/dam
下にあるアセットに対してのみ機能し、ページに直接アップロードされて cq:Page
オブジェクト下に保存された画像に対しては機能しません。このようなアセットは、フォールバックとしてアダプティブ画像サーブレットで引き続き配信されます。
Web に最適化された画像サービスは、2048 px 以下のすべての画像レンディションを考慮し、要求された設定(幅、切り抜き、形式、品質など)を適用するベースとして最大の画像レンディションを選択します。
画像サービスでは画像をアップスケールしません。したがって、これらのレンディションは、画像サービスで配信できる最適なサイズと品質を定義します。そのため、すべてのアセットに 2048 px のズームレンディションが含まれていることを確認し、含まれていない場合は再処理します。
WebP 形式を配信するために、web に最適化された画像配信サービスでは「コンテンツネゴシエーション」と呼ばれる技術を使用します。これは、JPG または PNG ファイル拡張子を要求した場合でも、WebP ファイル形式を返すことで構成されますが、要求を行ったブラウザーが image/webp
HTTP 受け入れヘッダーを提供した場合に限ります。この技術をサポートするブラウザーは、このヘッダーを提供でき、古いブラウザーは引き続き JPG または PNG ファイル形式を取得します。
この技術の利点は、 img
要素とその属性を同じにしておくと、既存のサイトの最適な互換性が確保され、web 最適化画像の配信に移行する際の最もスムーズなパスが保証されます。
はい、web 最適化画像の配信サービスは、カスタムコンポーネントで使用できます。この場合、画像コンポーネントを拡張することをお勧めします。
次に、アセット URL の生成に役立つサービスインターフェイスを示します。
com.adobe.cq.wcm.spi.AssetDelivery.getDeliveryURL(Resource resource, Map<String, Object> parameterMap)
このサービスは、アセットリソースを必須の最初のパラメーターとして受け取り、適用する必要のある画像変換のオプションのマップを取得します。このマップには、次のパラメーターを含めることができます。
path
– 配信するアセット ID。パターン ([^:\[\]\|\*\/]+)
である必要があります(例: unicorn–1234
)seoname
– 画像 URL に追加するユーザー定義の SEO 中心の名前。ハイフンを含めることができます。パターン ([\w-]+)
である必要があります(例: my-friend-the-unicorn
)format
– 目的の画像形式。gif
、png
、png8
、jpg
、pjpg
、bjpg
、webp
、webpll
、webply
にすることができます(例:webp
)preferwebp
– 可能な場合は、format
パラメーター(コンテンツネゴシエーションに関する FAQ を参照)、ブール値(例:true
)を無視して、WebP 出力を配信しますwidth
– 目的の画像解像度(ピクセル単位)。1 より大きい値にする必要があります(例: 400
)quality
– 1
と 100
の間の目的の圧縮(例: 75
)c
– 目的の画像切り抜き座標。コンマ区切りのピクセル値(例:100,100,400,200
)r
– 目的の画像の回転。90
、180
、270
にすることができます(例:90
)flip
– 目的の画像反転。h
、v
、hv
のいずれかにすることができます(例:h
)URL と正規表現の例については、前の節のコアコンポーネントの web 最適化画像の配信のアクティベートを参照してください。
いいえ、そのようなことは起こりません。