最終更新日: 2025年9月12日
‘ウェブサイトの読み込み速度とレンダリング速度を向上させるためのヒントと戦略を紹介します。CMS Hubのテーマまたはサイトを高速化します。また、HubSpotによってどのような処理が行われるかを把握しておきます。’;
ユーザーエクスペリエンスは、コンテンツの品質、表示速度、セキュリティー、アクセシビリティーを支える要素の1つです。これらを最適化することは、通常、検索エンジン最適化(SEO)対策としても効果的です。
優れたパフォーマンスとは、エンドユーザーの利便性を高めることに他なりません。パフォーマンスを向上するには、ウェブサイト上のさまざまな課題を解消する必要があります。
優れた基盤を出発点にする
後からパフォーマンス上の問題を修正するよりも、パフォーマンスを念頭に置いた優れた基盤を出発点としてサイトを構築するほうが簡単です。例えば、速度の遅い自動車を買ってスピードを速めるよりも、速い自動車をゼロから組み立てるほうが簡単です。 HubSpot CMSボイラープレートは、ベストプラクティスを採り入れてサイトを迅速に構築できるようにするために作成されています。ウェブサイトの評価での現在のスコアについて、GitHub READMEをご覧ください。 コードを一切追加していない状態のボイラープレートから作成したウェブサイトでも、これだけのスコアを達成できます。つまり、ボイラープレートをベースに追加するコードだけに専念できるということです。ウェブサイトのパフォーマンスにおける一般的なボトルネック
ほとんどのウェブパフォーマンスの最適化手法とベストプラクティスは、HubSpotに固有のものではありません。ほとんどのウェブサイトのパフォーマンスのボトルネックはHubSpotに固有のものではないためです。 パフォーマンスの問題の大半は、レンダリングと読み込みの2つに分類されます。- 読み込みのパフォーマンスは、ウェブページに必要な全てのファイルをユーザーのブラウザーに転送する際の効率性を意味します。
- レンダリングのパフォーマンスは、ブラウザーがダウンロードした全てのものを最終結果としてユーザーに表示する際の効率性を意味します。
画像
ウェブ上のほぼ全てのページでは、画像が至るところで使われています。通常、画像はページ上で最もサイズが大きいファイルです。画像の数が多かったり、画像のサイズが大きかったりすると、それだけページの読み込み時間が長くなります。GIFやwebpのアニメーションも、同じサイズのアニメーション化されていない画像と比べると、読み込み時間が長くなります。一部の画像形式は他の形式よりもパフォーマンスに優れています。また、状況によっても最適な画像形式は異なります。可能な対策
- パフォーマンス向上のためにできることのうち、最も重要なのは、ウェブ用として画像を最適化することです。画像の最適化は、制作担当者と開発者の双方が共同で取り組むことが求められます。
- ページあたりの画像数を減らします。
- それぞれの用途に応じた適切な画像形式を使用します。
- 可能な場合は常にSVG(Scalable Vector Graphics)を使用します。SVGは品質を落とすことなく無制限に拡大できます。アニメーションを作成するときは、SVGをインライン化するのが有効です。静止画では、SVMスプライトシートを作成するか、SVGをそのまま通常のimg要素または背景画像として扱うほうが、通常は良好なパフォーマンスが得られます。
- 画像の遅延読み込みを適切に制御します。
img
要素に高さと幅のHTML属性を含めるようにします。こうすると、ブラウザーでレンダリングしやすくなり、HubSpotが自動的にsrcset
を追加することもできます。幅と高さを指定すると、HubSpotで最適化をサポートできるだけでなく、ブラウザーも累積レイアウトシフト(CLS)に応じて自動的に最適化できます。- CSS aspect-ratioプロパティーを使用して、imgのサイズが変更される際のスペースを確保します。
resize_image_url
を使用して、画像が特定の解像度になるようにサイズ変更します。- 背景画像の場合は、メディアクエリーと
resize_image_url
を組み合わせて、デバイスに最適なサイズで画像を配信します。 - 大きなヒーローイメージを使用する場合は、
require_head
タグの中で<link rel="preload" as="image" href="http://example.com/img_url.jpg">
を使用して、ヒーローイメージを事前に読み込むことができます。この方法は最小限に控えてください。多用すると、パフォーマンスが低下するためです。
動画の自動再生
動画の背景と動画の自動再生を使用すると、ウェブサイトを際立たせることができます。ただし、それには犠牲も伴います。動画の背景はウェブサイトのヘッダーに使用されることがよくあります。動画を自動再生することは、ブラウザーが直ちに動画の読み込みを開始しなければならないことを意味します。これは接続が遅いか、携帯回線でデータを受信しているユーザーにとっては特に問題になることがあります。可能な対策
- 動画の自動再生は回避してください。背景にアニメーションを表示する場合は、CSSアニメーションまたはJavaScriptアニメーションの使用を検討してください。自動再生動画を表示する場合:
- ニーズに応じて動画の解像度を許容できる程度まで抑え、動画に効果を適用して低解像度であることが目立たないようにします。
- デバイスと接続に基づいて動画品質を調整します。YouTube、Vidyard、Vimeoなどの動画共有/ホスティングサービスを使用する方法が最適です。
- モバイル上での自動再生を無効にして、代わりの静止画を表示します。
JavaScript
操作可能な要素をウェブサイトに追加するには、JavaScript(JS)が役立ちます。ただし通常は、大量のJSコードを読み込むとJSファイルのサイズが大きくなり、操作可能な要素をブラウザーが読み込むまでの時間が長くなります。<head>
にJSを読み込むことも問題になる可能性があります。既定では、JavaScriptはレンダリング ブロック リソースとして設定されているためです。また、JSは訪問者のデバイス上で実行されます。つまり、デバイスのリソースの制約を受けます。
可能な対策
- HubSpotのCMSが初めてリリースされた当時、既定で
<head>
にjQueryが読み込まれていました。[設定]>[ウェブサイト]>[ページ]の順に進んで完全に削除するか、最新バージョンのjQueryにアップグレードすることができます。このような設定を、構築に自身が関わっていなかった古いウェブサイト上で変更する際には、jQueryに依存して構築されていたり、ヘッダーでのjQueryの読み込みに基づいて構築されていたりすることがあるので注意が必要です。 - レンダリングの妨げにならないように、JavaScriptが
</body>
の直前に読み込まれるようにします。require_js
は、モジュールまたはテンプレート上で必要な場合に限ってJavaScriptを読み込むために、また、モジュールの複数のインスタンスによって誤ってJavaScriptが複数回読み込まれることをなくすために使用できます。 - JSをリファクタリングして効率化することを検討します。JSプラグインの数を減らして、セマンティックHTMLが役立つ場合はこれを使用します。例えばドロップダウンには、
<details>
および<summary>
を使用します。モーダルには<dialog>
を使用します。 - ごく一部の機能のために大規模なJSライブラリーを使用している場合は、簡素なJSで代用するか、可能な場合はライブラリーのサブセットを読み込むことを検討します。
- require_jsを使用して、必要な場合に限定してJSを読み込みます。この場合、ページごとに1度だけ読み込まれます。
require_js
を使用する場合は、async
またはdefer
属性を使用してページパフォーマンスを改善します。 - モジュールのJavaScriptが読み込まれる位置とタイミングを制御するには、モジュールのmeta.jsonファイル内でjs_render_optionsを使用します。
- 外部リソースを読み込む場合は、事前接続とDNSプリフェッチを適切に使用して読み込み時間を短縮します。
- 使用するトラッキングスクリプトの数を制限します。トラッキングスクリプトは、情報を収集するために、ページでのユーザーによるあらゆる行動の把握を試みる性質があります。こうしたユーザー操作の分析には大量のコードが使用されます。トラッキングスクリプトごとにこのコードの量が増大します。
推奨ツール
HubSpotの推奨ツールは、特定のウェブサイトのパフォーマンスとSEOに関するフィードバックを得るための有用なツールです。 推奨ツールの詳細をご確認ください。コードアラート
コードアラートは、HubSpotウェブサイト内で特定された問題を集約した概要としての役割を果たす、CMS Hub Enterpriseの機能です。コードアラートで特定された問題を修正すると、ウェブサイトのパフォーマンス最適化に役立ちます。HubLの制限からCSSの問題まで、さまざまな領域の問題が特定されます。 コードアラートの詳細を参照してください。HubSpotによる自動処理
パフォーマンスや速度に関するベストプラクティスのほとんどは、HubSpotに固有のものではありません。HubSpotのCMSでは、一般的なパフォーマンス問題が自動的に処理されます。次のような最適化があります。- CDNでの画像最適化と自動WebP変換
- HTTP2
- JavaScriptとCSSのミニフィケーション
- ブラウザーとサーバーのキャッシュ
- プリレンダリング
- ドメインの書き換え
- Brotli圧縮(GZIP圧縮による代替付き)
- HubSpotブログ記事でのAMPのサポート
サイトの速度向上に関する追加資料
サイトの速度を最適化するにはさまざまな対処法があり、最適化手法の多くはさらに細分化できます。サイトの最適化に取り組むときは、HubSpotの充実した参考情報(英語)を参照してください。- サイトの速度とパフォーマンス:最適化のためにできることと、HubSpotによるサポートの仕組み
- HubSpot.comでページの表示速度を向上させる方法
- ウェブサイトを高速化する15のヒント
- ウェブサイトページの読み込み時間を短縮するための5つの簡単な方法
- Google Page Speedで100%を達成する8つのステップに関するガイド
- ウェブサイトの最適化 - HubSpotアカデミー
- web.dev
- HubSpot CMSを最適化する方法 - Jeff Bourter
- 控え目なimg要素とCore Web Vitals - Smash Magazine(英語)