サイトの表示速度を速くするために何をすべきか?


teratail(テラテイル)というITエンジニア関連のQ&Aサイトがある。
私自身は過去に利用したことはありませんが、プログラム関連の検索をするとよく出てくるので存在は知っている。

そのサイト内で私のサイトの表示速度の速さについて議論(荒れ気味)になっている。
荒れているためそのページのURLをここで紹介しませんが、荒れ耐性の高い人はそのページを検索して探してみても良いでしょう。
2021年5月10日追記:後日見に行ったら削除されていました。荒れていたので当然でしょう。

なぜ私がそのページの存在に気づいたかというと、このサイトには「ページスピード・タイムログ完全版」というプログラムが組み込まれており、アクセス解析のようにすべての訪問者のログを記録しています。
その管理画面でリンク元URL(リファラ)がわかるようになっているからです。
リンク元URL
以前はドメイン以下のURLの末尾まで取得できていたのですが、最近はプライバシー保護の影響で各ブラウザが完全なURLのリファラを出さなくなったため、http~ドメインまでしか取得できなくなりました。

ですので、該当のページを見つけるためには上記情報をヒントにして検索する必要があります。面倒です。

その書き込みを見た時、「サイト運営者(つまり私)自身が宣伝のために書き込んだんじゃないか?」と思う人がきっといると思われます。
私ならまずそう考える。

しかしその弁解という意味も込めて今このページを書いているわけですが、私は匿名の人と会話をしない主義です。
私自身が実名や住所を公開しているため、フェアじゃないと思うからです。
TwitterやインスタのようなSNSを一切やらないのもそのような理由からです。

さて、ここで本題の「このサイトの表示速度が速い理由」ですが、表示速度高速化をサービスとして販売している以上、詳しくはお教えできないのです。

表示速度高速化の作業に取り組み始めたのはこのサイトをリニューアルした2019年3月からなので、すでに足掛け2年に渡ります。
その間、ヒマさえあればブラウザのデベロッパーツールを開いて何千回~何万回とリロードを繰り返してボトルネック(遅くなっている原因)を探し、
デベロッパーツール

それに並行して、以下のような本を購入して勉強し、(左・3,300円、右・4,400円)
表示速度高速化の技術書

さらに、こちらのページで以下のように書きましたが、

  • メシを食っているとき
  • 車の運転をしているとき
  • ジムでトレーニングをしているとき
  • 布団に入って寝るとき

毎日ひたすら改善策を考えるのです。
ですので、匿名のBBSで争いなんてするヒマはないのです。金にもならないし。同情するなら金をくれ。(→ 家なき子 [1994年のテレビドラマ] – Wikipedia)

タイム計測
良い機会なので言ってしまうと、実際のところ、このサイトよりも表示の速いサイトは実は存在するのです。
しかも同じWordPressサイトで。

WordPressでできているサイトでこのサイトと同等の速さを実現しているところを私は3~4つ知っていますが、その中の一つは確実にこのサイトよりもわずかに速い
ここではあえてそのサイトのURLは掲載しませんが、トップページにスライドショーまであるのに速い。

「どうやってこれ実現してるんだ?」と思ってHTMLやCSS、JSのソースなどを解析したぐらいです。
理由がわかり、それをこの自分のサイトにも適用してテストしたのですが、デメリットも少しあるのでやめました。運営方針の差ということで仕方ないでしょう。

というわけで、実はこのサイトは決して「最速WordPressサイト」ではないのです。残念ですが。

写真
ページの表示速度というものは、そのページ内に掲載されている文章の量、画像の量、スクリプトの量などに影響されます。

【補足】
閲覧者の端末(スマホ・PCなど)の性能や、通信速度にも大きく影響されますが、これらはサイト制作者側がコントロールできない部分なので、ここでは割愛して考えます。

掲載している写真が違えばタイムは異なりますし、スクリプトによる演出方法が違えばタイムはまた異なります。
つまり、単純比較すること自体がナンセンスだとも言えるのです。そもそもみんな前提条件が違うのですから。

例えば、表示速度が速いということで有名なところでは「阿部寛のホームページ」がありますが、あれはHTTPSになっていないしスマホ対応化もされていないので、その分速くなるのは当然です。
もし仮にhttpsにすればTLSハンドシェイクの時間が追加で発生しますし、スマホ対応させればCSSのコード量が増えてわずかに遅くなるでしょう。

ですので、サイトの表示速度を他人と比較するのは意味がありません。
タイムアタックというのは自分自身との戦いなのです。
「昨日の自分を、今日超えられるか?」という心構えで取り組むのが重要なのです。

提供サポートなど