-
WEBページの表示改善
- 2016年12月7日
- Node.js
- PageSpeed Insights
PageSpeed Insightsを使用してWEBサイト表示の問題点に対応する
PageSpeed Insightsとは
PageSpeed Insightsは、Googleが公開しているサービスで、作成したWEBページの表示速度について様々な視点から改善提案をしてくれるツールです。 PCでのユースケースだけでなく、モバイル向けにも同時にチェックしてくれます。どんなことをチェック・提案してくれるか?
PC
- スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する
- ブラウザのキャッシュを活用する
- 表示可能コンテンツの優先順位を決定する
- 画像を最適化する
- JavaScript を縮小する
- CSS を縮小する
- HTML を縮小する
- サーバーの応答時間を短縮する
- リンク先ページのリダイレクトを使用しない
モバイル
モバイルについてはユーザー・エクスペリエンスの視点からも提案をしてくれます。- スクロールせずに見えるコンテンツのレンダリングをブロックしているJavaScript/CSSを排除する
- ブラウザのキャッシュを活用する
- 画像を最適化する
- 圧縮を有効にする
- JavaScriptを縮小する
- CSSを縮小する
- HTMLを縮小する
- サーバーの応答時間を短縮する
- リンク先ページのリダイレクトを使用しない
- 表示可能コンテンツの優先順位を決定する
- タップターゲットのサイズを適切に調整する
- viewportの設定
- コンテンツのサイズを表示域に合わせる
- プラグインを使用しない
- 判読可能なフォントサイズの使用
改善例(Node.js編)
圧縮を有効にする
静的ファイル(html、JavaScript、CSS、画像など)をクライアントに送信する際に、サイズが大きいと読み込みに時間がかかるようになります。 JavaScriptをムダなスペースを消したり、変数名を短縮したりして圧縮する、といった方法も有効です。 ですが、根本的に、ファイルそのものをgzipなどて圧縮してサーバからクライアントに送信できれば、それだけ速度改善も進めることができます。compressionモジュールの利用
Node.jsにはcompression
という圧縮を有効化するためのモジュールがあります。
https://github.com/expressjs/compression
使い方は簡単です。
$ npm install compression --save
const compression = require('compression'); : const app = express(); app.use(compression({level: 6}));levelという引数がありますが、これは圧縮レベルで、9までの値を指定します。 デフォルトは6で、値が大きいほど、圧縮処理に時間がかかるようになります。
この記事を書いた人 : 國田健史
スタッフブログタグ:
AWS bluebird css CSV docker docker compose electron ES6 es2015 Git Heroku ITコンサルティング JavaScript justinmind less mongoDB Node.js php PostgreSQL Private Space Promise React react-router reactjs Salesforce scss Selenium Builder selenium IDE Selenium WebDriver stylus TypeScript VirtualBox VisualStudioCode vue vuejs webpack システム開発プロジェクト セキュリティ ワイヤーフレーム 上流工程 卒FIT 帳票 要件定義 設計 電力小売業界
一覧へ戻る
AWS bluebird css CSV docker docker compose electron ES6 es2015 Git Heroku ITコンサルティング JavaScript justinmind less mongoDB Node.js php PostgreSQL Private Space Promise React react-router reactjs Salesforce scss Selenium Builder selenium IDE Selenium WebDriver stylus TypeScript VirtualBox VisualStudioCode vue vuejs webpack システム開発プロジェクト セキュリティ ワイヤーフレーム 上流工程 卒FIT 帳票 要件定義 設計 電力小売業界