【WordPress】（個人的に）クライアントワークでほぼ必須級のWordPressプラグイン【おすすめプラグイン】

もはや何番煎じか分かりませんが。
筆者は物忘れが激しいので作業中に「あ、あれ入れ忘れてた…」とか「あれ、あのいつものプラグイン名前なんだっけ…？」が頻発するため、備忘録を兼ねてまとめています。
ちなみに筆者のWordPress制作はクライアントワークがほぼ全てなので、個人ブログ等では必要ないのも多いかもしれません。

※~~思いついた物から書いてるので~~紹介順は順不同です。




## 1.　あらゆるカスタマイズで必須『Advanced Custom Fields Pro』

https://wordpress.org/plugins/advanced-custom-fields/

もはや説明不要かと思われます。カスタムフィールドを劇的に使いやすくするプラグイン。
クライアント側で更新する何かがある場合は必ず入れていますし、それ以外のカスタマイズ（大抵ACF BlockかOptionPage）でも頻繁に使っています。

Gutenbergが登場して久しいですが、企業ホームページなどでは自由なブロックエディタよりも型の決まった更新方法が好まれやすい（そして大抵それで事足りる）ため、カスタムフィールドの需要はまだまだ尽きません。
買い切りだった頃に購入して今でもずっとお世話になっており、今後買い切りライセンスが無効になったとしても迷うことなくサブスク版Proライセンスを購入すると思います。

無料版で良いのでは？と思う方もいらっしゃるかもしれませんが、慣れた今となっては有料版限定の機能無しでのカスタマイズは考えられません。
繰り返しフィールドだけじゃなくて、Cloneフィールドも柔軟コンテンツもOptionPageも、最近ではカスタムブロックも慣れるとほんとに使い勝手が良くて頻繁に使います。
比喩でも大げさでもなく、**Pro版含めた全機能を使いこなせれば大抵のことは出来る**んじゃないかと思います。Pro限定機能であんまり使わないのってギャラリーフィールドくらいじゃないかな…ギャラリーブロックがGutenbergに標準で入ってるからなあ。

自由自在にカスタマイズができるので超おすすめ。




## 2.　ちゃんとインストールしてますか？『WP Multibyte Patch』

https://wordpress.org/plugins/wp-multibyte-patch/

日本語版 WordPress のマルチバイト文字の取り扱いに関する不具合の累積的修正と強化を行うプラグイン。
WordPress 5.0で突如デフォルトプラグインから削除されてしまいましたが、日本語環境でWordPressを使う場合は相変わらず必須のプラグインです。

このプラグインを入れていないと、

- 日本語のファイル名のメディアファイルが文字化けし、ダウンロード等ができなくなる場合がある
- サイト内検索で全角スペースが区切り文字として扱われない
- 文字数カウントが正しくされない

などの不具合を引き起こします。これらの不具合は**現在（2022年3月）最新のバージョン5.9でもWP Multibyte Patchがインストールされていないと発生します。**

どんな環境でも、WordPressインストール直後に毎回必ずインストールしています。少なくとも日本語を使用するサイトでは必須なので、必ず入れておきましょう。
っていうか**なんでデフォルトプラグインから外されたの…？**




## 3.　超お手軽セキュリティ『SiteGuard WP Plugin』

https://ja.wordpress.org/plugins/siteguard/

王道のセキュリティプラグイン。主にログインページのセキュリティ強化に使います。

よりセキュリティを強化する場合は二段階認証などを導入しますが、そこまで必要ない場合でもこれを入れて管理ページアクセス制限・ログインページURL変更・日本語による画像認証の3つを有効にしておくだけで、不正ログインをかなり抑制できます。
さらにログインロックとフェールワンスも有効にしておけば、総当りによる機械的なログインはほぼ不可能になります。

ログインする人が複数人いるサイトではセキュリティ対策に有用です。（1人なら二段階認証の方がより確実）
クライアントワークだけでなく、少人数でブログ運営をされているような方もセキュリティ強化のためぜひ入れておくべきかと。




## 4.　超お手軽バックアップ『UpdraftPlus』

https://ja.wordpress.org/plugins/updraftplus/

めちゃくちゃシンプルなバックアッププラグイン。
MySQLのデータベースと、テーマや画像などのファイルの両方を定期的にバックアップできます。

バックアッププラグインでは『BackWPup』がおそらく最も有名かと思いますが、UpdraftPlusではDropbox、Google Drive、OneDriveなど、最初から選べるバックアップ先がとても豊富なのがメリットです。
BackWPupだとGoogle Driveなどの外部ストレージに保存するにはAPIの設定が必要で、ややこしい上に有料ライセンスが必要。
シンプルに **「週一で外部ストレージに全部バックアップしたい」** という要件の場合はこちらが便利です。

しかもこのプラグイン、管理画面から復元まで出来てしまいます。
BackWPupでは復元はFTPやphpmyadminなどを使って自分でやらなければいけません。
また、復元時に現状のバックアップを自動で取ってくれるので、万が一正常に復元できなかった場合でも手動で元に戻せます。
このあたりの作業、慣れればさして手間はかかりませんが単純作業ですし、ケアレスミス等も怖いので、ボタン一発で復元できるのはめちゃくちゃ便利です。

ただし、バックアップスケジュールは単一でしか設定できないため、より柔軟にバックアップ先やスケジュールを選びたい、というときは『BackWPup』の方が便利な場面もあります。用途次第という感じですね。

仕事で制作したWordPressサイトの保守管理も自分でする場合、バックアップ系プラグインは必ず入れるようにしています。万が一マルウェアが入ってしまったり、WordPressやプラグインのバージョンアップで不具合が起きたとき、バックアップ取ってないと手詰まりになってしまうこともあるので。
定期的なバックアップに何度救われたことか…




## 5.　開発時には必須『Query Monitor』

https://wordpress.org/plugins/query-monitor/

サーバー側のいろんな情報を参照できるデバッグ用プラグイン。
呼び出し元も含めたリクエスト内容や実行されたクエリ、クエリ変数、フックされたアクションの実行箇所、`is_page()` などの条件判定の可否、サーバー環境やリクエストの処理にかかった時間、ページ容量など、それはもうありとあらゆる情報を参照できます。

エラーがあった際は赤くなって知らせてくれて、エラー内容も分かりやすく整形された状態でその場で確認可能。
また最新バージョンでは処理が止まる致命的なエラーが起きた場合、エラーの**呼び出し元になっている箇所に**警告表示してくれます。
アクションフック等使っていてフック先への引数渡し忘れとかあっても、呼び出し元にエラー表示してくれるおかげで一瞬で原因がつかめます。
テスト環境での開発実装からローンチ後の保守管理まで、とにかくあらゆる場面で役に立ちます。**ほんとマジで超便利。**
WordPressカスタマイズを頻繁にする人は絶対いれておいたほうがいいです。



## 6.　画像の最適化が超ラクチン『EWWW Image Optimizer』

https://wordpress.org/plugins/ewww-image-optimizer/

画像の圧縮とか、WebPの生成とかを自動でやってくれるプラグイン。

スマホで撮った写真をサイトにアップロードしたり、積極的に画像を活用しようとするクライアントさんも最近は増えました。
それは良いことなのですが、昨今のスマホで撮影した写真って3840 x 2880ピクセルで容量2MB、みたいな感じでサイズ・容量とも凄まじいことが多く、自前で画像を圧縮・リサイズするのも多少なりの知識と手間が必要なので、そのあたりを自動でやってくれるプラグインはとてもありがたい存在です。
メディアサイズの設計をあらかじめしっかりやっておけば、レスポンシブ・Retina対応に後顧の憂いが無くなります。
WebPへの対応も、設定変更してから指定されたコードを.htaccessにコピペするだけで済むので、ほんとラクチンです。



## 7. クライアントワーク向けの問い合わせフォーム『MW WP Form』

https://ja.wordpress.org/plugins/mw-wp-form/

日本ではおそらく『Contact Form 7』と人気を二分するであろう、お問い合わせフォームのプラグイン。

- 入力画面、確認画面、送信完了、送信失敗でそれぞれページを分けられる
- フォームのHTMLコードを自前で作れるためデザインの自由度が高い
- 追加プラグイン不要でデータベースへの保存と過去データの閲覧が可能

等の理由から、基本的にMW WP Formを愛用しています。
クライアントワークにおいてお問い合わせページ周りのアクセス解析は高確率で要求されるため、確認画面などを別ページで作るのはほぼ必須ですし、
遷移元ページのIDを渡して問い合わせページで遷移元ページの情報を表示する、フォームの内容によって送信メールの内容を動的に変更する…等、クライアントワークでよくあるカスタマイズも、必要なフックが細かく揃っているため容易に実装できます。

問い合わせデータの保存やグラフ機能も、丁寧に見方を説明してあげるとネットに疎いクライアントさんでも割と積極的に活用してくれます。




## 8. MW WP Formのおとも『WP Mail SMTP』

https://ja.wordpress.org/plugins/wp-mail-smtp/

`wp_mail()` を使う際、指定したSMTPサーバーを経由して送信してくれるプラグイン。
個人ブログ等だと出番はないかと思いますが、自動返信機能付きの問い合わせフォームを実装する場合はほぼ必須になるかと思います。
ヘッダー情報などをちゃんと設定したメールを送信できるため送信先の迷惑メールフィルターなどに弾かれる可能性がかなり低くなります。
問い合わせフォームが要件としてある案件ではMW WP Formとセットで毎回導入しています。




## 9.　とりあえず入れておけば楽チン『Yoast SEO』

https://ja.wordpress.org/plugins/wordpress-seo/

総合的なSEO対策プラグインといえばこれと『All in One SEO Pack』のどちらかだと思います。
どちらでも良いかと思いますが、
- 基本設定を投稿タイプ・アーカイブ・カスタムタクソノミーなどで細かく分けて設定できる
- Schema.orgと連携したパンくずリストが使える
- 個別ポストでの設定変更を投稿者権限によって制限できる

などの観点から、筆者はYoast SEOを使用しています。
他にもXML Sitemapの生成など使える機能はたくさんありますが、とりあえず入れて設定しておけば**面倒だけど必須な諸々を勝手にやってくれるので（説明放棄）**、納品前に毎回入れるようにしています。



## 10. Google関連はもうコレ一本でOK『Site Kit by Google』

https://ja.wordpress.org/plugins/google-site-kit/

Googleの公式WordPressプラグインで、Analytics・Search Console・Optimize・タグマネージャーなどのサマリーをWordPress上で閲覧できます。
何が良いかって、Google謹製のプラグインなので**Googleアカウントでログインして『許可』をポチポチ押してるだけ**でAnalytics等の連携がすぐに完了するところ。
普通の手順でもさして手間はありませんが、とにかく**ログインしてポチポチ押してりゃ終わる**ので…

昨今のクライアントワークではAnalytics・Search Consoleの導入はほぼ当たり前と言っていいですし、専門の広報部が存在するような企業ではOptimize・タグマネージャーもたくさん活用します。
それらの初期設定がものの数十秒で終わり、管理画面からいつでも簡単なサマリーの閲覧ができ、詳細もリンクから開けます。
『サイトに関する情報や解析データはサイトにログインすれば全部見られる』というのはスマートで、**字面以上に色々ラク**です。使ったことが無い方はぜひ使ってみてください。
ただし、新しいサイト設定やサマリーなどが自動で作られるので、リニューアルなどで設定を引き継ぎたい場合は別途データの統合が必要となります。



## 11. 地味だけど無いと超不便『Yoast Duplicate Post』

https://ja.wordpress.org/plugins/duplicate-post/

投稿を複製できるようになるプラグイン。固定ページのほかにもタクソノミーなど、色んなものを複製できます。
例えばカスタムフィールドをたくさん使ったカスタム投稿タイプ（製品情報ページなど）を実装する際、データの流し込みがめちゃくちゃラクになります。というかこれ入れてないと**高確率で『複製機能付けられませんか？』とクライアントさんに言われます。**

ほかにも、公開後にあるページを少し改変する際にパパッと複製して非公開にしてテスト用ページを作るなど、主に実装が終わった後や納品後に活躍するプラグインです。
地味ですが、WordPressに標準で実装してほしいと思うくらい、無いとほんとに不便です。



## 12. タクソノミーの並べ替え『Intuitive Custom Post Order』

https://wordpress.org/plugins/intuitive-custom-post-order/

管理画面上で、投稿やタクソノミーなどをドラッグアンドドロップで並べ替えられるようにするプラグイン。`orderby = menu_order` と組み合わせて使います。

前述したような製品情報ページなどで「あいうえお順に並べたい」とリクエストされることはよくありますが、このプラグインを入れた上で `orderby = menu_order` `order = ASC` としておけば、管理画面上の並びと取得できるデータの並びが一致するため簡単に対応可能です。
他にもカスタムタクソノミーで分類一覧ページなどを作っている場合にその表示順を制御したり、管理画面の固定ページを見やすく並び替えたり、結構いろいろな場面で重宝します。操作がとても直感的なのでクライアントさん自身で並び順の管理ができるのも良いポイント。
こちらも納品後に活躍するプラグインです。


## 13. 権限カスタマイズでは鉄板の組み合わせ『User Role Editor』&『Admin Menu Editor』

https://ja.wordpress.org/plugins/user-role-editor/

https://ja.wordpress.org/plugins/admin-menu-editor/

『User Role Editor』はユーザー権限の追加と、細かい権限の変更ができるプラグイン、『Admin Menu Editor』は管理画面の左メニューを権限ごとに細かくカスタマイズできるプラグイン。
クライアントワークでは、**「納品後に設定変更してサイトが変になった！」** といった<del>余計な</del>トラブルを回避するため、設定画面などにクライアントさんがアクセスできないようにするカスタマイズを施すことがよくあります。
function.phpだけでも設定は可能ですが、細かく権限設定したい場合はプラグインを入れるほうが早くて楽です。

基本的には、User Role Editorで必要な権限を作成→Admin Menu Editorで権限ごとに必要な項目のみ表示、という分担です。
メニューのカスタマイズには『Adminimize』という有名なプラグインもあり昔はそちらを使用していましたが、Admin Menu Editorは

- メニューの名称や位置の変更、CSSクラス付与、アイコン変更など、かなり細かいカスタマイズが可能
- 自作のメニューを追加することもできる。同じ名前・リンク先のメニューを複数作れるため、権限によってメニューの並び順を変えるといったカスタマイズも（手間はかかるが）可能
- ログイン後のリダイレクト先を権限ごとやユーザー個別に設定可能
- ワンクリックでいつでもデフォルト状態に戻せる

など、Adminimizeでは手が届かなかったところまで豊富にカスタマイズできるので、最近はもっぱらAdmin Menu Editorを使っています。


## 14. 未だに代替プラグインがない…『Search Everything』

https://wordpress.org/plugins/search-everything/

**※使用する場合はバグ回避が必須です。**[こちらのサイト](https://on-ze.com/archives/7668)で解説されています。

通常はタイトルと本文だけのWordPress標準サイト内検索だが、このプラグインを入れるとカスタムタクソノミーやカスタムフィールドを検索対象に追加できるようになります。
上に書いてあるとおり随分前から更新が止まっており、WordPressのバージョンアップに伴って発生したバグも放置されている状態で、本来はあまり使うべきではないのですが…

一応、現役で使えるプラグインに『WP Extended Search』というものがあります。

https://ja.wordpress.org/plugins/wp-extended-search/

検索設定を複数作れるのが特徴で、カスタムフィールド・タクソノミーはもちろん検索する投稿タイプを絞ったり、AND/ORを切り替えたり、特定の日付より古い投稿を検索結果から除外したり等、かなり柔軟に対応できるのですが、**ACFの繰り返しフィールドや柔軟コンテンツに対応していない** という致命的な欠点が存在します。
『WP Extended Search』でカスタムフィールドを検索に含める場合は既存のカスタムフィールドを1つずつ選択するのですが、その選択肢は**データベースに存在するカスタムフィールドを読み込んで表示させている**模様で、
ACFの繰り返しフィールドや柔軟コンテンツは行を追加するごとに `parentslug_0_itemslug` `parentslug_1_itemslug` という風にフィールドキーに連番を追加していく仕様のため、
つまりどういう事かというと、**設定した後に繰り返しフィールドで行を増やすと、それ以降の行は検索結果に含まれない** という事態が発生するわけです。
「カスタムフィールドは一括で全部検索結果に含む設定にすればよいのでは？」と問われるところですが、残念なことに **『カスタムフィールドを全て含める』という選択肢がありません。**

対して『Search Everything』は、現時点ではバグ回避さえすれば正常に動き、カスタムフィールドは「全て含める」か「全て含めない」のオール・オア・ナッシングなので上記のような問題は発生しません。
また、もう一つ重要な要素として、『Search Everything』は **管理画面の投稿一覧での検索時にも設定が反映される** という特徴があります。管理画面での検索にも対応しているプラグインは、筆者が知る限りコレしかありません。

ACFでバリバリカスタマイズしているサイトだと管理画面での検索時もACFの項目が含まれてほしい場合が多いため、ほとんど手放せないプラグインとなっています。
アップデートでいつ使えなくなるか、戦々恐々としながら使っているため、似たような代替プラグインの登場が待たれるところです…（他力本願）






## 終わりに（余談）

並べてみると、かなり**メジャーどころのプラグインばかり**になりましたね…人気なものにはそれ相応の理由があるということでしょうか。
『Search Everything』については、代替プラグインを本当に探しています。情報ご存じの方いらっしゃったらぜひ教えてほしいです…