Sitecoreはデフォルトでは.webpを画像と認識してくれません。
この記事ではSitecoreに.webpを画像として認識させる方法とそのメリットについて記載します。
.webpを画像と認識させる方法
設定ファイルを新規作成し、App_Config配下に追加するだけです。
例: WebpMedia.config
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<mediaLibrary>
<mediaTypes>
<mediaType name="WebP image" extensions="webp">
<!-- 正しい MIME タイプで配信される -->
<mimeType>image/webp</mimeType>
<!-- ブラウザでインライン表示される -->
<forceDownload>false</forceDownload>
<!-- Alt テキスト等の画像フィールドが使える -->
<sharedTemplate>system/media/unversioned/image</sharedTemplate>
<versionedTemplate>system/media/versioned/image</versionedTemplate>
<!-- アップロード時に画像として検証される -->
<mediaValidator type="Sitecore.Resources.Media.ImageValidator"/>
<!-- 管理画面のサムネサイズ -->
<thumbnails>
<width>150</width>
<height>150</height>
</thumbnails>
</mediaType>
</mediaTypes>
</mediaLibrary>
</sitecore>
</configuration>
さらに処理を組み込む
先ほどの設定内にこのような記述を追加すると、webp画像が読み込まれる際に指定したプログラムの処理が行われ、リサイズやフォーマットの変換が可能になります。
<prototypes>
<media type="[名前空間].[クラス名], [アセンブリ名]"/>
</prototypes>
そもそもなんで.webpが画像と認識されないのか
App_Config\Sitecore.config
ここの <mediaTypes> でメディア系を定義しています。
この中にpngやjpgは含まれていますが、webpが含まれていません。
そのためSitecoreではデフォルトではwebpを画像と認識することができないのです。
※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。