Azure App Serviceで動作するWordPressプラグインの導入

WordPressの素晴らしい点はプラグイン導入による機能拡張とテーマによるデザインの変更でしょう。
連載の8回目では、Azure App ServiceでWordPressを運用する場合に有用と思えるプラグインをリストアップしてみます。

なお、導入したテーマによっては既に機能が実装済みの場合があるため、テーマに含まれない機能を追加することになります。

推奨するプラグイン

WordPressはLinuxでの動作を基本としていることもあり、Windows環境(IIS)のAzure App ServiceにWordPressを導入すると動かないプラグインが結構あります。
Linuxでは.htaccessでWordPressを制御しており、Windowsではweb.configで制御していることも一因でしょう。
WordPressの挙動そのものを変更する(処理に割り込む)ようなプラグインは動作しないことが多いようです(キャッシュ、minify等)。

そこで、Azure App Service環境でのWordPressに導入した方が良いであろうプラグインをリストアップしてみました(App Serviceで動作確認済み*)。
*:一部のプラグインは動作しない機能があります。また、ProjectNamiは除きます。
(例:Media Library Folders for WordPressはProjectNamiでは動作しません)

Media Library Folders for WordPress
メディアファイルをフォルダ分けするプラグインです。
WordPress標準だと、画像等のメディアは「YYYY/MM/ファイル名」、または「ファイル名」の1階層でしか登録できずに困ります。
ただ、メディアを検索する際にフォルダ階層から選択することができないので、メディア登録時の整理とSEO対策が主な用途となります。
なお、本プラグインはMedia Library Folders for WordPress Resetプラグインもセットでインストールされ、Media Library Folders for WordPressのアンインストール時にフォルダ情報をDBから削除するために使います。

Enhanced Media Library
メディアファイルをカテゴリで整理して探しやすくするためのプラグインです。
投稿や固定ページにメディアを表示する場合、メディアの登録日順・種類(画像や動画等)等でしか表示を絞り込めず、過去に登録したファイルを探すのが大変です。
もっとも、カテゴリが多すぎると登録が煩雑になるためメディアの検索が少し楽になる程度と考えた方が良いでしょう。

Enable Media Replace
メディア情報はそのままにファイルを差し替えるプラグインです。
ブログを書いているとわかりますが、メディアファイルは何度も登録しなおすことになるのでファイルだけ差し替えることができると楽です。

Last Modified Timestamp
管理画面で投稿一覧の表示で更新日を表示し、更新日準に並び替えて表示することができるプラグインです。
記事が少ないと不要ですが、古い記事の更新漏れの確認に便利です。

Google XML Sitemaps
XMLのサイトマップファイルを自動作成するプラグインです。
Google等へのクローラへのインデックスの通知に使用されます。

Minify HTML
WordPressが生成するHTMLをMinify(ミニファイ:スペース等を除去して縮小)することで画面表示を高速化してくれるプラグインです。
CSSやJSもMinifyするプラグインもあるのですが、Windows版のApp Serviceで正常に動作するものが見つからず、HTMLのみMinifyします。
ただ、プログラム表示等で<pre>タグを使う場合、改行が消えてしまうことがあるのでminify系のプラグインは注意が必要です。
本サイトでは<pre>タグを使うのでこのプラグインは導入していません。

WP Super Cache
WordPressの投稿や固定ページをキャッシュして表示を高速化するプラグインです。
LinuxであればWP Fastest Cacheを導入すれば良いですが、残念ながらWindows環境(IIS)では動作しません。
そのため、Azure App Serviceでは設定が簡単で必要十分な機能を備えているWP Super Cacheを推奨します。
ただし、アドレスが相対パスで構成されているテーマでは、JS・CSS・画像等がCDNに切り替わりません。
WP Fastest Cacheはアドレスが相対パスで構成されているテーマでもCDNが動作するのですが、残念です…
また、ブラウザキャッシュ機能はWindows環境(IIS)では動作しないようです。
W3 Total Cacheは設定が難しくWP Super Cache同様にテーマ依存でCDNに切り替わらないので非推奨

Cache-Control
WordPressの投稿や固定ページをブラウザにキャッシュして表示を高速化するプラグインです。
本来ならWP Fastest CacheやWP Super Cacheで対応できるのですが、Windows環境(IIS)ではブラウザキャッシュは動作しないようです。
そこで、Azure App Serviceではブラウザキャッシュ用のプラグインを別途導入します。

WP Mail SMTP by WPForms
WordPressからメールを送信するためのプラグインです。
App Serviceにはメールサーバ機能が存在しないので、外部のSMTPサーバに中継するプラグインが必要です。
App ServiceではSendGridを推奨していますが、SMTPサーバも利用できます。

Contact Form by WPForms
お問い合わせ等の画面を作成するプラグインです。
実際には任意の画面が作成可能で、柔軟性が高く簡単な画面であれば十分に対応できます。
日本ではお問い合わせ画面にContact Form 7の利用が多いですが、CDNバックグランド構成のメール送信に対応できないので使っていません。

WP-Optimize
DBのデータを最適化するプラグインです。
WordPressを運用していると投稿の途中状態等もDBに保持され、DBが肥大化していきます。
そのため、一定期間が過ぎたデータ等は自動削除する等して肥大化を抑止し、パフォーマンスの低下を抑止します。

Prism Syntax Highlighter
技術系ブログサイトで表示するプログラムのソースコードをハイライト(色付け)してくれるプラグインです。
シンタックスハイライトではCrayon Syntax Highlighterが有名ですが、動作が重いので軽量なPrismを使用しています。

プラグインのインストールと有効化

プラグインはインストールした後に有効化して使える状態になります。
一時的に使用を中止したい場合は無効化することでアンインストールしなくても機能を停止できます。

ここでは試しにプラグインを一つ導入してみます。
設定が必要なプラグインについては扱いません。

まず、プラグインを導入する場合は事前にWordPressのバックアップを取得しておきましょう。
プラグインを正常に削除できずに元に戻せなくなることがあります。

バックアップを取得したら管理画面にアクセスします。
https://作成したドメイン/wp-admin/

管理画面から「プラグイン」を選択し、表示されたプラグイン一覧画面上部の「新規追加」ボタンを押します。

プラグインの新規追加

インストールしたいプラグイン名を右側の検索ボックスに入力して検索します。
一覧に目的のプラグインが表示されたら「今すぐインストール」ボタンを押してプラグインをインストールします。

古いプラグインはどんどん消えていくので、見つからない場合は代替のプラグインを探してみてください。
また、導入済みのWordPressバージョンと互換性があるのか等も表示されるので参考にしてください。未検証だからといって動かないとは限りません。

プラグインの検索とインストール

インストールが完了したら「有効化」ボタンを押してプラグインを動作させます。
なお、有効化/無効化はプラグインの一覧画面からも可能です。
ここでは扱いませんが、設定が必要なプラグインは管理画面に設定画面が追加されているので、必要な設定を行います。

プラグインの有効化

削除するプラグイン

初期状態のWordPressには以下のプラグインが無効化された状態でインストールされています。
Anti-Spamはコメント機能を使用する場合は使いますが、Hello Dollyは使うことはないので削除してしまいます。

  • Akismet Anti-Spam
  • Hello Dolly

さて、みなさんのWordPress運営に必要なプラグインは含まれていたでしょうか?
必要なプラグインはユーザ毎に異なるため、他にも色々なプラグインを試してみてください。

以上でWrodPressは機能的には利用できますが、パフォーマンスではまだ心もとない状態です。
次回は本連載の本命であるWordPressを高速化する方法を扱います。