地味に勉強→何をやったらいいかわかった→どうやったらいいかわからない
寝起きに「そうだ、あそこのSQL文のWHERE条件を直せば早くなる!」とか思ってウキウキしながら見たらとっくにやってた。
その後、サイトの表示をもっと早くするのに何をやったらいいのかダラダラとネットサーフィン。できることはもうだいぶやっちゃった(けどできないことはやってない)しなあ、などと思っていたら、突然、何をやったらいいか(全部じゃないけど)わかった。
1.「リクエストを減らす」っていうのがまったくピンと来なかったんだけど急にわかった。あれね、とりあえず画像を減らせばいいのね。なるほどね。それで画像まとめてCSSスプライトがどうこうって話なんだ。ようやくつながったよ。いやあ、そういうことか。ていうか、なんでそんなことが分かってなかったんだよ、オレ。
なんだけど、とりあえずこれについてはどうしたもんかさっぱりわからん。いや、CSSスプライト作ればいいのかもしれないけど、あれか、サイドバーに表示してるランキングの表紙画像とか月イチ更新だからCSSスプライト作ればいいのか。でも面倒くさくないか、それって。などと思っていたら、「そうか、そういうのを自動化すればいいのか!」と思いついた。けど、現時点ではどうやったらいいのかわからない。いや、「こうすればいいのかなあ」というのは分かる。PHPでGDを使ってどうこうとかいうのは調べてやれば多分なんとかなると思う。でも全自動ってどうすればいいんだろうか。ああ、そうか、ランキングの履歴を用意して、そこにない新しいのを作らないとならない時に一緒にCSSスプライトも作ってしまえばいいのか。そうだな、オレがどうしたらいいのか悩んでいたのはトリガーの問題か。なるほど。それならなんとかなりそうだ。いや、なんとかなるのだろうか。なんとかしたい。
そうかあ、トリガー、確かにそうだな。自動化について諸々悩む時、意外とトリガーの問題はあるな。そういえばこういうのはプログラミング的にはなんて言えばいいのだろうか。トリガーでいいのか、よくわからない。
2.HTMLのsectionとかdivの縦のサイズが決まらない問題。PageSpeed Insightsで「スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する」って叱られる奴。縦のサイズを決めりゃあいいんだよな。そうりゃそうか。いや、これはだいぶ前からわかってるんだけど、GD使ってjpegのサイズ変更したりしてるからさ。つうか、それだと画像データがキャッシュされないっていう問題もある。1.の課題とも絡む。いっそのこと、GD使ってリサイズとか止めたほうがいいのだろうか。
多分、この二つの課題が解決出来たらサイトの表示は間違いなく早くなる。
思うのは、「そもそも今の状態を維持したまま解決を目指すべきなのか、それとも現状にこだわらず別の解決を目指すべきなのか」ということだ。サムネイルとして表示している画像は必要なのだろうか。あのちっこい画像の表示にこだわらなければ課題そのものが存在しなくなる。そのパターンは自分的には一番好ましい解決策だ。
「どうしようかと悩み続けていたけど、思い切って止めてみたら課題そのものが無くなった」
やっぱりそれかなあ。たしかにそれだとリクエストそのものがガッと減るし、CSSスプライトをどうやって準備するかで悩む必要も無くなる。やっぱりそれか。
どうでもいいが、自分でサイト制作をしていなくても「PageSpeed Insights」は見たほうがいいと思うんだよね。業者に注文出すのにもかなり有効だろうなあ。いや、もちろん、「素人が知ったかで口出すんじゃねえ!!」みたいに怒られる可能性もあるけど。
Googleって本当にすごいと思う。なんというか、色んな事の視点だけでなく基準も変えてしまうパワーを感じる。たまに怖い。