Shifter Static に標準で同梱されているプラグインについて ( Shifter Advent Calendar 2020 23日目 )

Shifter Advent Calendar 2020 の23日目です。
なんか Advent Calendar しか書いてませんね。
いかんなぁ、来年は他にも何か書こうと思ったり、思わなかったりしてます。

さて Shifter Static で WordPress を起動すると、プラグインの Must-Use って所にいくつかすでにプラグインが入っていることに気づいている方もいるかと思われます。
この Must-Use というのは、/wp-content/mu-plugins/ ディレクトリ以下に入ってるプラグインは必ず有効化されるという WordPress の機能を利用しています。
詳細については Must Use Plugins を参照してください。
Shifter Static で Must Use Plugins としてインストールされているプラグインは以下の9つです。

  • EVA
  • Redis Object Cache
  • S3 Uploads
  • Shifter
  • Shifter – Incompatible Plugins
  • Shifter GitHub Plugin/Theme Installer
  • Shifter tips
  • Shifter WP Webhook
  • Shifter – Artifact Helper

これらについて解説した公式文書がなかった気がするので、解説しますね。

Redis Object Cache

Redis Object Cache

WordPress が発行するクエリの結果や、Transient API の保存先として Redis を使用することができるようになるプラグインです。
Shifter Static の docker コンテナ内では Redis が動作していますので、そこに Object Cache を溜め込みます。

Shifter Static で起動した WordPress では、デフォルトでこちらが有効になっており、特に意識しなくても Redis Object Cache の恩恵を受けることができます。

S3 Uploads

S3-Uploads

Shifter Static の Tier 1 以上のプランでは、Media CDN という機能が利用できます。
これは WordPress からアップロードされるファイルを S3 バケットに直接アップロードし、Generate 時にメディアファイルを Artifact に含めないことで Generate の処理時間の短縮を行うための機能です。
また、S3 にアップロードされた画像ファイルは S3 に設定された Lambda によって自動的に WebP 形式の画像が用意され、WebP に対応しているブラウザに対しては WebP 形式で転送されるようになります。

この Media CDN 機能を実現するために、WordPress の管理画面から S3 バケットにメディアファイルをアップロードするために、この S3 Uploads プラグインが利用されています。
なお、Tier 1 以上で Media CDN オプションを ON にしている Shifter Static 以外では、このプラグインは動作しないため、メディアファイルは S3 バケットにはアップロードされません。

EVA

Shifter のための環境設定( テーマ、プラグイン、MUプラグインディレクトリの移動 )や、Media CDN オプションの有無による S3 Uploads の有効化・設定などを行います。
このプラグインは公開されていませんが、Shifter Local で配布しているコンテナ内にはありますので、ソースが気になる方はそちらを参照してみましょう。

Shifter

shifter-wp-mu

Shifter Static が動作するために必要なヘルパー関数を詰め込んだプラグインです。
動作し始めてから一定時間経った時に WordPress の管理画面に「Notice: Shifter will power down WordPress in a few minutes」とかってメッセージ出したり、WordPress が送信するメールの From メールアドレスを変えたり、Algoria とのインテグレーションや、Redis Object Cache 用の Fix、拡張された WP JSON Rest API のエンドポイントの提供なども行なっています。

Shifter – Incompatible Plugins

shifter-incompatible-plugins

スクリーンショット 2020-12-22 22.41.45

導入されたプラグインが Shifter Static での動作が保証されないプラグインリストに掲載されている場合に WordPress 管理画面に警告を出すためのプラグインです。
実際の Incompatible Plugin list は https://download.getshifter.io/incompatible-plugins.json から取得しています。

Shifter GitHub Plugin/Theme Installer

shifter-github

Shifter Static に GitHub のリポジトリから直接プラグイン・テーマをインストールするためのプラグインです。
Shifter Github Plugin/Theme Installer プラグインを公開しました

ちょっと前まで、プライベートリポジトリにあるテーマやプラグインをインストールすると、インストールはできたが、更新するとディレクトリ名がランダムな英数に変わってしまうという不具合がありましたが、ようやく直しました。
現在は、プライベートリポジトリ・パブリックリポジトリどちらでも正常に動作するはずです。

Shifter tips

shifter-wp-tips

WordPress の管理画面に Shifter のサポートドキュメントへのリンクなどを表示するためのプラグインです。

Shifter WP Webhook

shifter-wp-webhook

Shifter Static のコンテナが起動された時に指定された URL に対して POST するためのプラグインです。
以下の FAQ で説明している機能を実装しています。
[Shifter Outgoing Webhook at WordPress start] Send POST request on booting WordPress

設定によっては Shifter Static のコンテナが起動したら、パスワードレスログイン用の URL を Slack に流したりもできるので、なんかうまい使い道を考えてみてください。

Shifter – Artifact Helper

shifter-artifact-helper

Generate 対象の URL のリストを Generator に渡すための REST API を提供するためのプラグインです。
/wp-json/shifter/v1/urls にリクエストすることで、対象の URL を100件ずつ、JSON で返します。
初期からあるプラグインで Artifact 生成のヘルパーだけでなく、Shifter Static のダッシュボードから WordPress の管理画面へのパスワードレスログインやマジックリンク、メディアファイルへのリンクの相対 URL 化なども、このプラグインで実装しています。

"Redis Object Cache", "S3 Uploads" 以外の Digitalcube として GitHub で公開しているものについては、プルリクや Issue へのご意見をいつでも募集してますので、何か問題見つけたら気軽にご連絡くださいまし。

それでは、良い Shifter ライフを!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください