ウェブサイトをスピードアップさせる29の魔法

グーグルでウェブサイトの表示速度をランキングに影響させているというニュースが出てから、ウェブサイトの高速化の方法が少し話題になりましたが、今回はそんな高速化の手法を29まとめて紹介。SEOはともかく、ページの表示速度が速い方がサイト内の滞在時間やコンバージョン率が改善されることは様々なデータで証明されていますし、サイト運営者であれば一度チェックする価値はあるかも? — SEO Japan

ウェブサイトをスピードアップさせよう。コンバージョン率が上がり、回線容量の経費が削減され、そして、オーガニックな検索結果のランキングが上がるなど、理由はたくさんある。

率直に言わせてもらうと、あまりにも頻繁にウェブサイトを担当するチームからスピードアップに反対されてしまうため、私は辟易している。

以下にウェブサイトのスピードアップを実現するために参考にしてもらいたいアドバイスを掲載していく。簡単なものもあれば、難しいものもある:

  1. イメージを別のドメインでホスティングする。アマゾン S3等のサービスは利用方法がとても簡単だ。S3のアカウントを作り、S3のストレージで「blah.yoursite.com」等のサブドメインを指定しよう。そのサブドメインでイメージをホスティングする。ウェブブラウザは、複数のドメインから同時に読み込むことが可能であり、サイトの速さが際立つだろう。また、自分のサーバーの容量およびCPUをあまり使わなくて済む。些細なことかもしれないが、積もれば大きな効果を発する。
  2.  

  3. イメージをフリッカーでホスティングし、別のドメインで利用する。
  4.  

  5. 適切なファイルのタイプを用いてイメージを圧縮する。色彩豊かな写真やイメージには損失を伴う?JPEG?の圧縮を行う。線画や色の少ないイメージには?PNGGIF?で損失のない圧縮を行う。
  6.  

  7. アップロードする前にイメージのサイズを調節する。高さと幅でサイズを調節してはいけない。フォトショップやファイヤーワークス等のツールを利用しよう。150-ピクセルの幅のサムネイルを埋めるために1,000ピクセルの幅のイメージをダウンロードさせるのはあまりにも酷である。
  8.  

  9. 優れたコードを作れるように勉強する。普通レベルの企業用のコンテンツ管理システム(CMS)やショッピングカートであっても、劣悪なHTMLのコードを導き出す。整理しよう。権限を持つのはサーバーではなく自分自身である。どんなサーバーでもちょっとした調整できれいなコードを生成することが出来る能力を持っているので、調節しておこう。
  10.  

  11. CSSをそれぞれのページにエンベッドするのではなく、別の.cssファイルに置く。
  12.  

  13. CSSを分割する。サイトのすべてのページで用いられるスタイルのみを持つスタイルシートを一つ作成する。次にスタイルシートをそれぞれの固有のページのレイアウトに対する別のスタイルシートを作成する: ホームページ、通常の記事のページ、通常の製品ページ等。それぞれのページで必要なものだけ読み込むようにする。
  14.  

  15. CSSの使い方を学ぶ。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=“blue” style=“font-size:10pt;font-weight:bold;”>の代わりに<p>を使っているなら、多くの容量を節約することが出来るだろう。そして、私のようなタイプの人達から笑われずに済むはずだ。
  16.  

  17. javascriptを.jsファイルに収める。それぞれのページに埋め込むのはやめよう。それではあまりにもレベルが低過ぎる。javascriptを埋め込むと、グーグルボットを含むすべてのビジターは、ページにアクセスする度に当該のコードをダウンロードしなければならなくなる。一方、.jsファイルに収めているなら、グーグルボットは無視し、訪問するブラウザはキャッシュに格納する。
  18.  

  19. CSSを分割するように、javascriptを分割する。
  20.  

  21. 出来るだけjavascriptのローディングを遅らせる。グーグルで「javascript 遅らせる」を検索すれば、役に立つリソースを見つけることが出来るだろう。
  22.  

  23. フラッシュを取り払う。善は急げだ。ページのエレメントを動画化する方法は他にもたくさんある。フラッシュをどうしても使わなければいけないなら、出来るだけ小さくしよう。
  24.  

  25. ウェブサーバーでGZIPの圧縮を設定する。
  26.  

  27. 何かも小さくする: HTML、javascript、そして、CSS。編集するために小さくしていないアイテムをすべてコピーしておこう。ただし、サーバー主体のオンザフライのソリューションに頼ってはならない。サーバーのオーバーヘッドを高めてしまうだけであり、トラフィックが多い場合、スピードダウンの原因になってしまうためだ。
  28.  

  29. リダイレクトを最小限に抑える。「301リダイレクト」はSEOには向いているが、1回の301リダイレクトよりも5回連続の301リダイレクトの方が効果が高いわけではない。必要な場合を除いて、301リダイレクトの利用を控えよう。リダイレクトする前に修正しておこう。
  30.  

  31. 正規化の問題を解決しよう。解決と言っても、「rel=canonical」を利用しろと言っているわけではない。「サイトのすべてのページが単一のアドレスを持っている」点を確認してもらいたい。そうすることで、キャッシュのパフォーマンスが向上し、メモリーの利用を抑えつつ、スピードアップさせることが出来る。
  32.  

  33. 優れたホスティングに投資する。月の利用料が5ドルのどこにでもあるホスティングを利用しているなら、スピードの記録を樹立しようなど夢のまた夢である。ハイレベルなギークではない限り、優れたホスティングサービスに投資しておきたいところだ。共同ホスティングパッケージ(一つのサーバーで複数のサイトをホスティング)の中には素晴らしいパフォーマンスを実現するものもあるが、出来るだけスピードアップしたいなら、専用のサーバーを1つまたは複数用意したいところだ。
  34.  

  35. サーバーでキャッシュを設定する。ワードプレスを利用しているなら、W3 トータルキャッシュ等のプラグインを使おう。ワードプレス以外のツールを利用しているなら、当該のツールについて勉強し、キャッシングの能力を把握すること。サーバーはキャッシングを用意しているはずだ。もしくは用意することが出来るはずだ。チョコレート工場で働いていた小人からサーバーを譲り受けたなら話は別だが。
  36.  

  37. 静的が好ましい。サイトをPHPASP、あるいは別のスクリプト言語で構築しているなら、サイトはすべてPHPASP、または関連する言語で表示されている可能性が高い。「About us」や「プライバシー」等の一部のページは、変更することがほとんどないため、完全に“静的”な.htmlページにすることが可能だ。そうすることで、サーバーのCPUへの一連のコールを減らすことが出来る。規模は小さいが、パフォーマンスは一瞬にして改善される。
  38.  

  39. .NETを利用しているなら、VIEWSTATEの変数を圧縮する方法を学ぼう。この面倒な変数はコードで大きなスペースを占める。VIEWSTATEW変数を必要なときがくるまでは削除してしまう方が好ましい。
  40.  

  41. 正確にサーバーのメモリー管理を設定する。この点に関しては説明を省かせてもらう。分からないなら、誰かを雇うか、誰かに尋ねるか、または、少なくとも“サーバーのメモリ管理を設定していません”と書き出しておこう。そうすることで、ビジターが200人を超えてサーバーがクラッシュする度に、トラブルシューターに選ばれた可哀そうな人が問題を解決する際に時間を節約することが出来る。
  42.  

  43. データベースを別のサーバーに移す。人気の高いサイトを運営しているなら、ウェブサイトとデータベースを別々のサーバーでホスティングする必要がある。データベースの処理は、サーバーの大半の活力を奪ってしまう。是非避けておきたい。さもなければ、ウェブとデータベースのソフトウェアがサーバーのリソースを巡って綱引きを始めてしまうだろう。
  44.  

  45. JOINsの使い方を学ぶ。データベース主導のサイトをプログラミングしていると仮定する。全ての製品を3つのカテゴリーで表示することが求められている場合、: a) こんがらがったネスト化したループを作成し、サーバーにヒステリックが発生し、地元の機関によってホスティングのロケーションに海水を放水されてしまうか、あるいは、b) SQL JOINのステートメントを使い方を学び、すべての問題を回避するかのいずれかを選択する。JOINsの方が手っ取り早い。適切に用いてもらいたい。
  46.  

  47. ストアドプロシージャの使い方を学ぶ。データベースを活用するのだ。知らないなら、勉強しよう。ストアドプロシージャは、データベースのサーバーごとにまとめられており、通常のSQLのスクリプトよりも遥かに速い。
  48.  

  49. 必要時以外はSSLの利用を避ける。この件に関しては口を酸っぱくして言ってきた。刺激を求めているなら、パーティー会場でこの件について私の意見を求めてみよう。そして、SSLCPUのサイクルやその他のギークな用語を立て続けにまくし立てる間、額の血管が膨れ上がる様子を見てもらいたい。
  50.  

  51. アパッチを使っているなら、必要なモジュールのみローディングすること。当たり前のことだが、多くのユーザーが不要なモジュールを含んでいる可能性があるデフォルトの状態のままで利用している。
  52.  

  53. アパッチを利用しているなら、どうしてもDNSルックアップ、そして、FastCGI等のその他の手法が必要な場合、AllowOverrideを利用してもらいたい。この文書にはギークな情報が詰まっている。サーバーはきっと喜ぶだろう。
  54.  

  55. インターネット・インフォメーション・サーバー(IIS)を使っているなら、パフォーマンスロギングについて学ぶこと。次に楽しいIISのチューニングを通して学ぼう。割と簡単である。まずはこのテックネットのページに目を通してみよう。どのIISのバージョンを利用しているのか確認すること。
  56.  

  57. Squidのようなサーバーアクセラレータの使い方、または、キャッシングのプロキシとしてアパッチやnginxを使う方法を学ぶ。キャッシングのプロキシやアクセラレータは、ウェブサーバーの動的なページを格納し、パブリックに迅速に届けることのみを目的としている。Squidサーバーを用いて最高で3倍のスピードアップを達成したサイトが存在する。
  58.  

これで終わりではない。早さの上限はない。継続的にスピードアップしていくことが肝要である。見合った見返りが転がり込み、ビジターは喜び、そして、ランキングは上がるだろう。

この記事の中で述べられている意見はゲストライターの意見であり、必ずしもサーチ・エンジン・ランドを代表しているわけではない。


この記事は、Search Engine Landに掲載された「29 Ways To Speed Up Your Website」を翻訳した内容です。

簡単なものから技術者じゃないとできないものまで色々ありますが、できることはグーグル&SEOのためにもより良いユーザー体験のためにもやってみる価値はありそうです。 — SEO Japan
Page Top

投稿ナビゲーション