[WordPress] PageSpeed Insightsで99点 (20190430加筆修正)

[WordPress] PageSpeed Insightsで99点

以前、職場でこの手の話が出たので自分でも実装してみたのだが、WordPress環境では試していたなかったのでやってみた。テーマから書き直したので随分と殺風景なデザインになったが、99点(analytics入れてると100点無理ゲーっぽい)になったのでまあいいだろう。とはいえ、早速新規で上げた画像の最適化コマンド(シェルで書いたやつ*後述)を実行したらモバイル97点、PC100点だったりするのでなんとも言えない。

テーマ

Bonesというブランクテーマをベースにしていたのだけど、オワコンというか公式が閉じてしまったので_scoreをベースに書き直した。死ぬほどシンプルなサイトになったけどな。昔はマテリアライズとかいうやつで書いてみたのだけど、デザインなのにjs必須だったのでうーんって感じだったのだが。とにかくデザインにjs使わない、cssは最小にってことでwater.cssをベースに作り直した。あと不要なjsを読み込まないように、テーマのheader.phpに書いた。

// disable script
wp_deregister_script('jquery');
wp_deregister_script('wp-embed');
wp_deregister_style('wp-block-library');
if (!(is_admin())) {
    // emoji disable
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
}

テーマのfunction.phpで絵文字を読み込まないように改修。

nginx

    gzip on;
    gzip_types text/css text/javascript application/javascript application/json application/xml application/font-woff image/svg+xml;
    gzip_vary on;
    gzip_proxied any;

httpの部分に上記、serverの部分に下記。

        location ~ .*\.(html|jpg|jpeg|gif|png|css|js) {
            expires 180d;
        }

まあ普通。俺はサードパーティ製のプラグインが信用出来ないので、WpToTwitter(投稿時にtwitterに投げるやつ)以外は一切入れていないのだけど、何かの役に立てば。

その他

*1
wordpressの新しいエディタ考えたやつは頭が悪すぎる。めんどくさいんだよ死ねボケ。テキストをそのまま書かせてくれよ。知らない人にはわからないし、わからないほうがいいけど、ホントに酷いのよこれ。

Visual Studio 2019

新登場したVisual Studio 2019のニュースを見て、いつ触ろうかと思っていたのだが想像より早く手を出すことになった。

AWS lambda (API gateway) & dynamodbをgolangで書いていたのだが、LocalPCでのdebug環境がなかなか整わなくてイライラしていた。aws cliはpython製のようなのだが、ドザ特有の現象(setlocale?)なのかやたらつまづきやがる。あー、これlet's encrypt(certbot)でも出たやつだわー。あー、めんどくせー。みたいな。あ、aws cli自体は入るのだけどaws-sam-cliとかいうのが必要らしいのです。

俺はコードを書くのは好きだし、何ならアホがコアハックしてにっちもさっちもいかない腐ったコード(昔はMFCとか最近だとmagentoとか)を何とかまともに改修するのも好きだ(嫌だ)。けれど、環境構築だとか、わけのわからんミドルウェアのおもりだとかは大嫌い。なので、ruby on rails, Java(特に昔の泥はひどかった), etc が大嫌い。まあ俺がドザってのもあるんだろうけれども。仕事でメインにしているPHPも、XAMPP & xdebug & PhpStormで構築は楽勝。過去メインで使っていたC#はいわずもがな。

で、Visual Studio 2019とAWS SDKをインストールして上記のLocal環境を作ってみたが、2時間もかからずにJSON突っ込んでDynamoDB(Amazonさんが提供しているJarファイル)にアクセスして結果出力までできた。当然、強力なdebuggerも使用できる。

そこで興味が出てきたので、先程までAzureについて見ていた。AWS以外はさっぱりわからないのだけど、Azureは完全無料でできる方法もあるみたい。マジかー。あとさー、Community版のこの記述。
https://visualstudio.microsoft.com/ja/vs/community/

個人開発者の方はどなたでも、独自の無料/有料のアプリを作成するために Visual Studio Community を使用できます。
エンタープライズ以外の組織では最大 5 ユーザーで Visual Studio Community を使用できます。

またまたマジかー。実質無料じゃん。昔、副業のために12万くらい出してPro版買ってたのに。最近のMSさんは何かすごいなー。かーっ、C#ずっと書いていてえなあ!(まあ、脳内はかなり古いC#(3.0とか?)で止まっているので早く習得しろって話だが)

realforce 91UBK-S

表題の商品を購入したのだが、最高としか言えない。

で、だけれども。吸い付くようなキータッチ、ちゃんと沈み込むレスポンス。なにもかもが至高としか言いようがない。ってWordPressの新しいversionの入力に慣れねえなこれ。

そんな感じ。

追記) 20190313 なんてこった!茶軸赤軸など使用歴があるので、キーボード変遷記録したかったのだけど。って酔っ払ってないときに、いつか書こう。

はじめよう!golang

はじめよう!つーかとっととやれや(俺自身に向けて)的な。
かなり前から他の言語を学ぼうかと思っていた(*1)のだが、結局golangにすることにした。静的型付けが良いとか、バッチとかでパフォーマンス出せそうとか、nginxで投げ込むの楽そうとか、そんなところで。c#が好きなので最後まで.net coreと迷った(*2)のだけど、環境構築がかったるそうなので。スターティングGO言語という書籍を購入してさらっと読んだのだが、当たり本だったようで容易く理解できた。あとはガリガリ用もないのに書きまくるのみ。hello worldとかやってもしょうがないので、この糞ブログのGO版ミラーを週末に作りたい。正直言うとwebでCMSだとかなんだとかを作るだけならPHP(7.x) & opcacheで全く問題ない気がしているけどな。糞システムのボトルネックはDBの糞設計で9割決まるよトホホ。

*1
わしの言語歴(正直今書けって言われてもc#以前は無理)
f-basic386, c, c++(思い出したくもないMFC), delphi(object pascal), c#, php, オマケ:javascript

*2
全部やれ?甥と遊んだりビール飲んだりゲームやったりするほうが大事なので……。時間は有限だわ。

チューニングしてみたんだけどさー

アクセスがまるで無いサイトなので(俺が見るか、ありえんわーのAW3418DWのエントリがアフィっぽいblog経由でたっまーにお客さんが来るくらい)、まったく意味がない。abベンチ?うーん、それをしたところで、この状況は変わらないしなあ。でも、せっかくキータだのstackoverflowだの調べながら変えていったのでメモっておく。

nginx.conf(個人の嗜好なんだろうけど1000行未満であれば別ファイルにしたくないのでこれだけ)

# 20180927 現在進行系でコロコロ変えてるので一旦消します

let's encrypt使ってhttp/2にしてる。コンフィグ晒すことによってなんかあったら面白いしな。このサバには個人情報一切ないし。かもーん