Rich Media API ハンドブック

HTML5 のファイルサイズを減らす

HTML5 クリエイティブとは一般に、HTML、CSS、JavaScript で作成された広告のことを指します。HTML5 クリエイティブのファイルはさまざまな方法で圧縮できます。ここで説明する方法の多くは 15 分ほどで実装できます。

Google Web Designer を使用する

Google Web Designer は、HTML5 で開発したアセットを、スタジオやアセット ライブラリにシームレスに統合できるウェブ アプリケーションです。また、画像やコードの圧縮、Google ウェブフォント、SVG、CSS アニメーションに対応するなど、幅広い機能が組み込まれています。

ぜひ一度、Google Web Designer をお試しください。

ファイルサイズを確認する

ファイルサイズを減らす前に、現在のファイルサイズを確認しましょう。以下に示すガイドラインや条件に沿って確認してください。

未処理のファイルサイズと圧縮後のファイルサイズ

未処理のファイルサイズを確認するには:

  • スタジオでは、スタジオ クリエイティブ ワークフローの「ファイルの管理」ステップで、「合計ファイルサイズ」を確認します。
  • Google Web Designer では、[パブリッシュ] > [ローカルにパブリッシュ] をクリックし、パブリッシュ ダイアログで [合計サイズ(未処理)] を確認します。現在のファイルサイズは [広告検証ツール] パネルでも確認できます。

Google Web Designer では、無料のソフトウェア gzip を使用してクリエイティブを圧縮します。Google Web Designer を使用していない場合は、gzip を無料でダウンロードし、ローカルの作業領域でクリエイティブを圧縮してファイルサイズを検証できます。

パブリッシャーの広告サーバーで別の圧縮方法が採用されている可能性もあります。圧縮済みサイズの計算で不一致が発生しないようにするため、あらかじめパブリッシャーに確認することをおすすめします。

ファイルサイズの基準値

クリエイティブを作成する前に、パブリッシャーの広告配信仕様を把握しておく必要があります。ただし、パブリッシャーの多くは、IAB が推奨する初期読み込みのサイズ 200 KB(圧縮済み)と合計サイズ 300 KB または 500 KB を遵守しています(どちらかはフォーマットによって異なります)。初期読み込みのサイズとは、最初の広告表示のためにブラウザに配信されるすべてのクリエイティブ アセットの圧縮後の合計サイズです。これには、画像、HTML、CSS、JavaScript など、すべてのファイルが含まれます。

イネーブラーのファイルサイズ

スタジオ クリエイティブには必ずイネーブラーを含めますが、すべてのスタジオ クリエイティブで同じスクリプトを読み込む必要がないよう、ウェブブラウザにイネーブラー スクリプトのコピーがキャッシュされます。イネーブラー スクリプトのサイズは、圧縮時 25 KB、未処理時 75 KB です。

詳細については、IAB およびスタジオのガイドラインをご覧ください。

Chrome の Heavy Ad Intervention について

ファイルサイズが 4 MB を超えるクリエイティブ、CPU 使用率が 30 秒ごとに 15 秒を超えるクリエイティブ、または CPU 使用率の合計が 60 秒に達するクリエイティブは、配信時に Chrome で読み込みが解除されます。
  • クリエイティブに画像、動画、アニメーション、3D オブジェクトが多く含まれる場合は、Chrome のガイドラインに沿ってクリエイティブをテストし、読み込みが解除されないことを確認します。
  • Chrome の Heavy Ad Intervention のデモを使用して、クリエイティブがブロックされるかどうかをテストします。

ポライトロードとパブリッシャーの仕様

ポライトロードとは、パブリッシャーのページが読み込まれるまで、追加のアセット(画像、動画など)の読み込みを遅らせる読み込み方法のことです。これは初期読み込みのサイズとは異なります。初期読み込みのサイズは、最初の広告表示のためにブラウザに配信されるすべてのクリエイティブ アセットの圧縮後の合計サイズのことです。ポライトロードは一部のパブリッシャーで必須になっていますが、必須でない場合でも設定しておくことをおすすめします。ポライトロードを設定する方法をご覧ください。

パブリッシャーの HTML5 リッチメディアの仕様を確認してください。パブリッシャーのファイルサイズの計算は、gzip 形式で圧縮したファイルをベースにしている場合と、未処理のファイルをベースにしている場合があります。個別のパブリッシャーの仕様は、使用するプレースメントや広告タイプなどによって IAB 仕様とは異なる場合があります。アニメーションや動画の再生時間についても、制限がないかどうか確認してください。

画像サイズを減らす

画像のサイズを減らす前に、まず画像が必要かどうかを検討してください。一部の画像要素は CSS スタイルで代替できるかもしれません。以下では、クリエイティブ内の画像の数を減らしたり、必要な画像を最適化したりする際のおすすめの方法とリソースを紹介します。

CSS を使って色やグラデーションを表現する
CSS を使用すると、画像よりも効果的に色やグラデーションを表現できます。CSS でグラデーションを作成する場合は、CSSmatic の Gradient Generator(リンク先は英語)を使用すると簡単です。
GIF、JPG、PNG を SVG(Scalable Vector Graphics)で置き換える

GIF、JPG、PNG の画像はピクセルベース(「ラスタ」)であるためサイズが大きくなります。SVG は点間ベースのグラフィックス(「ベクタ」)ですので、ファイルサイズをかなり減らすことができます。

SVG に関するリソース(リンク先はすべて英語)
W3School の SVG チュートリアル
SVG の使用方法
SVG の圧縮

アイコンの代わりにアイコン フォントを使用する

アイコンをたくさん使用している場合は、アイコン フォントの使用を検討してください。アイコン フォントは、標準フォントとまったく同じように使えるレギュラー フォントです。その多くはベクタベースですのでファイルサイズを減らすことが可能です。同じアイコンを何度も使用する場合は、独自のアイコン フォントを作成するとよいでしょう。

アイコン フォントに関するリソース(リンク先はすべて英語)
Icomoon アイコン フォント生成ツール
NounProject CSS アイコン
FontAwesome CSS アイコン

スプライト シートを使ってピクセルベースの画像の読み込み時間を最適化する

スプライト シートとは、小さなグラフィックをタイル状に並べたもので、1 つの画像として一度に読み込まれます。CSS では、画像全体の各タイルが個別に表示されます。スプライト シートを使用すると、HTTP リクエストの数を減らすことができ、クリエイティブの読み込みも速くなります。ただしその場合も、使用するスプライト シートに最適な圧縮を見つけられるかどうかが重要です。

スプライト シートに関するリソース(リンク先はすべて英語)
W3Schools の CSS 画像スプライトの概要
Stitches のスプライト シート オンライン生成ツール

最適な圧縮を使用する

どうしてもピクセルベースの画像を使用する必要がある場合は、画質を維持しながらできる限り圧縮してください。Photoshop の「Web 用に保存」機能が有名ですが、その他にも高度な圧縮機能を備えたオンライン ツールが存在します。

無料の画像圧縮ツール
TinyPNG
TinyJPG

CSS によるアニメーション

JavaScript の代わりに、CSS3 アニメーションを使用して遷移や変形を表現することを検討してください。CSS による変形アニメーションのレンダリングには CPU ではなく GPU が使われるため、パフォーマンスが改善するとともに JavaScript のファイルサイズを減らすことができます。

より複雑なアニメーション(パーティクル アニメーションを含む)の場合は、GreenSock の JavaScript アニメーション ライブラリ(GSAP)の使用を検討してください。GreenSock を使用することで、複数のアニメーションのタイミング調整、変形プロパティの個別アニメーションなど、CSS アニメーションの面倒な処理を簡素化できます。

アニメーションには、JavaScript の setInterval メソッドを使用するライブラリやフレームワークは使用しないでください。また、手動でコーディングする際に、setInterval メソッドは使用しないでください。setInterval がブラウザのリソースを使い果たしてパフォーマンスが悪化するおそれがあるほか、コーディングも複雑になります。JavaScript によるアニメーションがどうしても必要な場合は、アニメーション専用に設計されている requestAnimationFrame メソッドの使用を検討してください。

アニメーションのパフォーマンスを最適化する方法
requestAnimationFrame の使用(英語)
CSS 対 JavaScript のアニメーション

スタジオに CSS ファイルをアップロードする前に、CSS Minifier(英語)で CSS を縮小しておいてください。

JavaScript のファイルサイズを減らす

ここでは、JavaScript のファイルサイズを減らす際の注意点について説明します。

jQuery を使用しない
jQuery ライブラリの大部分は使用されないにもかかわらず、ファイルサイズが不必要に大きくなってしまいます(最大 75 K)。代わりに、jQuery を純粋な JavaScript に変換するか、Zepto.js などの軽量ライブラリを使用するか、GreenSock の TweenLite を検討してください(リンク先はすべて英語)。
JavaScript フレームワークの使用を避ける
ファイルサイズとネットワーク リクエストを減らすため、JavaScript フレームワークの必要な部分を取り出してメインの JavaScript ファイルで使用することを検討してください。
スタジオがホストする JavaScript ライブラリを使用する

クリエイティブで JavaScript ライブラリをアップロードする代わりに、共通の JavaScript ライブラリへの参照をすべてスタジオがホストする URL に置き換えます。こうしたライブラリは、配信中の広告と同様に、同じドメインでホストされます。

スタジオと IAB の連携により、さまざまなクリエイティブでこうしたリソースが共有、キャッシュされ、広告の初期読み込みから除外されるようになります。

特定のブラウザやデバイスをターゲットとする

キャンペーンのターゲットとするブラウザやデバイスを決めることで、必要になる時間やコードを減らします。サポート対象外のブラウザやデバイスのためのコードは追加しません。これはテスト時間の短縮にもつながります。

ブラウザのサポートに関するリソース
スタジオに対応しているブラウザとデバイス
Can I Use: JS や CSS のプロパティのブラウザ サポート最新情報(英語)

JavaScript を結合して圧縮する
複数の JavaScript ファイルがある場合は 1 つに結合します。作成した JavaScript からコメントや余分なスペースを削除するツールも使用してください。

縮小する際の注意点
  • 今後の更新に備え、圧縮前のコピーを保存しておいてください。
  • スタジオでは、JavaScript ファイルの拡張子が .min.js ではなく .js でなければなりません。
  • JavaScript ファイルを縮小した後では、トラッキングの追加が難しくなります。トラッキングを追加してから JavaScript ファイルを縮小してください。

フォントを最適化する

標準のウェブフォント以外のフォントを使用する場合は、Google Fonts の使用を検討してください。Google Fonts は、無料のフォントを集めた大きなライブラリです。ファイルサイズを減らすため、書体全体をリクエストするのではなく、必要な文字のみをリクエストするようにしてください。

ただし、ブラウザによって絶対 URL のみがキャッシュされるようにすることも重要です。http://fonts.googleapis.com/css?family=Philosopher&text=Hello は特定のクリエイティブにとって最小サイズとなりますが、http://fonts.googleapis.com/css?family=Philosopher&subset=latin がすでにブラウザの履歴にキャッシュされていたとしても、それとは別のリクエストと見なされます。可能な限りキャッシュを利用することで、クリエイティブの読み込みが速くなります。

ウェブフォントの詳細
Google ウェブフォントのフォント リクエストを最適化する
Typekit のフォント サブセットとウェブフォントのセルフ ホスティング

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。

さらにサポートが必要な場合

次の手順をお試しください。

検索
検索をクリア
検索を終了
メインメニュー
1708389762019549365
true
ヘルプセンターを検索
true
true
true
true
true
74220
false
false