WordPressでサイト作りしてるとどんどん楽しくなっていろいろな機能を追加したくなりますよね?それであれもこれもとやってるうちに、大して文字数のない記事なのに表示するまでに10秒以上かかるようになってしまった・・・という経験ありませんか??
このサイトも数日前までは表示するまでに結構時間がかかっていました。特にたくさんのアクセスがある時間帯(といっても同時に数十件程度)などでは20秒近くかかったりして・・・当然そうなると「このサイトなかなか開かんなぁ、もうやめとこか?」とさっさと離脱してしまうんです。「そんなぁ・・・」と思われるかも知れませんけど自身で他の人のサイトを見るときもそうではありませんか??
ストレスなく開くサイトは1ページ目、2ページ目・・・と何ページも見てくれる可能性があるのでファンになってくれる人を増やす手助けにもなりますし、そこに貼った広告で収入アップ!!なんていうのもあるかも知れません。それ位ページの表示速度って大切なんですね、これが。
でも問題なのは前述したいろいろやったことの何が原因でページの表示速度が落ちているのか?ということ。これが分からないと改善のしようもありません。
今回は表示速度の遅かったこのサイト(今でも遅いと感じるかも・・・)をサーバーを高速なものに変えるなどの根本的なことなしで表示速度の改善をした方法を効果が高かった順に紹介します。
「これはやれそう」「これはちょっと難しいかな?」と切り分けて参考にしてもらえたらありがたいです。
効果【大】 余分な外部サービス(パーツ)を外す
これから紹介するいろいろな策を講じてからやってみたら意外や意外これが一番効果的でした。
私の場合は「にほんブログ村」のPVランキングを有効にするためのパーツ。そのカテゴリーの順位がずらっと表示されるパーツです。
ある程度策を講じた後で表示速度の計測をするとこれに関する改善提案ばかりになってくるので思い切って外してみたら・・・それまでの半分位の時間でページ表示ができるようになりました。今となっては最初からやっとけばよかったと思えるほどの効果です。
こういうブログランキング的なものは、まだ方向性が決まってないとか、いろいろなジャンルのことを書くので新着記事として読んでほしいといった場合にアクセス効果は期待できますが、当サイトでも毎日数千(ちょっと盛りすぎ?)のページビューがある中でブログ村からのアクセスは1桁ですから、そのために表示速度を犠牲にするのはどう?ということで外しました。
自分のサイトジャンルの中で、このページビュー数だとどの位の位置にいるの??という目安を知るには本当にいいサービスではあるのですが、ブログ村+速度などで検索すると結構同じことを思って外している方は多いみたいで、非同期での提供を求める声もあるようですが今のところブログ村側が対応していないので、非同期コードが提供されたら是非復活させたいとは思っています。
ブログ村の話ばかりになってしまいましたが、その他ブログパーツなど外部のデータを読み込んで表示するものはページを表示するたびにそこへ接続して情報収集というプロセスが必ず必要ですので、設置したら様子を見て、外したら様子を見て・・という感じで使うかどうかを判断したらいいかと思います。
効果【中】 表示の遅い広告サービスを外す
Google Adsenseでは非同期コードというのが提供されていて、Adsense広告の要求に対してGoogleのサーバーの影響が少なくなるようになっています。
同じようなコンテンツ連動型広告の配信で有名な忍者Admaxも最近非同期コードを提供するようになり、切り替えたらそれなりに速度は改善されたものの・・・・それでもやはりみんながいろいろなサイトを見ているであろう時間帯には表示が遅くなります。
それにAdmaxは代替広告でアドセンスの広告が表示されたりもしますから、ひょっとすると本来アドセンス直で収益が得られるところをAdmaxの二次店のようになっているケースがあるのでは??とも思います(個人的な印象ではアドセンスよりもクリック単価は相当低いです)。
それなら一本化しても問題なかろうということで外すことにしました。前述したブログランキング程の効果はありませんが、それでもやはり効果的でした。
それからもう1つ外したのは【楽天アフィリエイト】。この広告は単一の商品やショップの広告も挿入できるし、モーションリンクというお任せリンクも作れる、またそこからクリックされたものは30日間相手に記憶され、その記憶が残った状態で別の商品を買ってくれればそれも最後に広告リンクをクリックされた人に報酬が入るという仕組みになっているのでとりあえずクリックしてくれれば!!というところがおすすめなのですが・・・夢のような収益がないと現金化できない(楽天内で使えるポイントとして収益を得ることになる)ので楽天でほとんどお買い物しない私は不要かな?ということで外しました。
やってみたらこれも効果は結構あってびっくりしました。
効果【いろいろ】 不要なプラグインを外す
WordPressの高速化と言えば・・・という感じで結構紹介記事が多いのがこれ。でも実際に40個から20個位に減らしてみてもあまり効果的ではないように感じました。
効果が大きいのは内部で情報を蓄積していくようなアクセス解析系のもの。キャッシュさせたり保存期間を短くしたりすることである程度改善はできますが、Google Analyticsなど外部のツールで事足りるなら外してもいいかもしれません。
あとは「この機能本当に必要かな?」とか「このプラグインの機能を使っている記事ってどの位?」を考えると削減できるプラグインは結構多いハズですから、優先順位を決めて削減するといいかと思います。
効果【いろいろ】 重複したコードをなるべく減らす
これは最後の最後の微調整という感じになると思います。
テーマの編集には子テーマを使おう!!というのを私も何度か記事にしてますし、オリジナルテーマ(親テーマ)の記述を変更しない、親テーマを更新しても影響が少ないという利点はあるにはあるのですが、
- 大きな親テーマの変更があったらやっぱり影響がある(ファイルやコード形態が大きく変わることがある)
- 親テーマと子テーマで同一のコードがある場合(CSSなど)、親テーマの情報が読み込まれた後で子テーマの情報を読み込み、前者を打ち消すという作業が発生する
1の懸念から結構テーマの更新はしないことが多いですし、何度も同じ個所の情報を読み込ませることも無駄なのでは??と思いますので、最終少しのロスもなくしたい!!という場合は親テーマを直接カスタマイズした方がより高速になるとは思います。
また、例えばAMPに対応できるような機能が備わっていたり、ウィジェットがたくさんあったり・・・などいろいろな機能を持つテーマではif文(平たく言えば〇〇たら、〇〇ならというもの)が多いのでたらればたらればしてるうちに少しずつ時間のロスをしてしまうことはやはりあると思います。
それからカスタマイザーですごくたくさんの設定項目があるテーマもやはりその分だけ「この設定があれば(なければ)」という条件分岐が加わるので、不要であればコードを見つけて削除するといったことをすると少しずつ表示速度の改善は図れると思います。
ただ、そこまでの効果は期待できないと思うので、子テーマの使用やせっかく使える機能を完全に停止してしまうのはよく考えてから行った方がいいと思います。
いかがでしたか??参考になるのかならないのか?ちょっと微妙な記事になってしまいましたが、これらの処置によって当サイトのページは
だいたい6秒~10秒(遅いときはそれ以上)かかっていたものが速いページで3秒程度で表示されるようになりました。
余談ですが、Youtubeの動画を埋め込むことが多い方は
の対策が非常に効果的(あくまで私のサイトの結果)でしたので是非試してみてくださいね。
・・・大がかりな改訂をしたためアクセス数ダウン、収益ダウンしてしまったような気が・・・でもその後の効果に期待してしばらく改善を続けることにします。