読者です 読者をやめる 読者になる 読者になる

機械学習, Rails, Androidが好きです - プログラマdogwood008のライフハック

最近のマイブームは機械学習, Ruby on Rails, Android、中でも機械学習を使った金融商品の自動取引に興味があります。

はてなブログの表示が遅いので、改善するためにやったこと、やりたかったことまとめ

高速化 はてなブログ

経緯

はてなブログ、Markdownで書けるから好きなんだけど、表示が遅い。 自分が使っているテンプレートのせいかもしれないけど、もっと早く表示できても良いと思う。

というわけで、調査して、改善できそうなところは改善してみました。

結果

Before

表示完了までに、読み込んでいるファイル数が多くしかもサイズが大きい 以下が、無対策時のトップページを表示する際に読み込むファイル数とサイズです。1.95MB 重い! 、116ファイル 多い! f:id:dogwood008:20151024132248p:plain

After

ちょっとだけ早くなりました。本当はもっと早くしたかったけど、後述の原因でできず。 f:id:dogwood008:20151024134507p:plain

やったこと

  • SNS投稿ボタンの削除
  • はてなスターボタンの削除

SNS投稿ボタンの削除

はてなブックマーク、Facebook、Twitterへの投稿ボタンを削除しました。 結果は、1.3秒高速化、約500KB軽量化、読み込みファイルは27個減少とまずまずの結果。 f:id:dogwood008:20151024134507p:plain

はてなスターボタンの削除

これ、はてなブログを使っているのにこのボタンを消すの最高にcoolだと思うんですが、断腸の思いで削除。

結果はSNS投稿ボタンの削除からの差分です。読み込み時間、ファイルサイズほぼ変わらず、読み込みファイル数が20減る、という結果になりました。

よくわからん。測定ツール側でキャッシュされた?なさそうだけどなぁ。または、はてなスターのJSは非同期読み込みされている? f:id:dogwood008:20151024135717p:plain

本当はやりたいこと

  • はてなブログから提供されるJS, CSSの圧縮
    • 非同期読み込みも
  • Webフォントの不使用

はてなブログから提供されるJS, CSSの圧縮

テンプレートにも依ると思うんですが、はてなブログで提供されるJSとCSSって圧縮されていないものがあるんですよね。以下のものとか。

他にも、Reactのライブラリはコンパイル版ではないものがインポートされるようになっている。 自分で書き換えられれば良いんですが、それを敢えてさせない仕組みになっているのも不満です。

また、それらの外部ファイルが同期的に読み込まれるので、Googleに「テメーのWebサイトおせーぞ」と言われています。

PageSpeed Insights

f:id:dogwood008:20151024165943p:plain

本当は直したいんですが、できないものは仕方ない。中の人 🙏

Webフォントの不使用

テンプレ作成者の意図通りWebページを見せるなら必要だけど、速度を犠牲にしてまで再現する必要はないかな…というのが正直な感想です。

1回読み込めばキャッシュされるし、それはgoogleのCDNとか使ってれば他のサイトで見たときもキャッシュがヒットして良いんですが、その最初の1回重たいのすらも正直要らないかな…という感想。

まとめ

  • はてなブログで表示高速化をするのは面倒
    • できないことも多い
  • 自分でブログ構築するか、他サービス使った方が早く表示できるかも