---
title: プラグイン
description: 標準で入れるプラグインの種類と、プラグインを採用するときの基準
---

プラグインは、テーマのコードで実装するより保守の負担が小さい場合に限って使います。
プラグインを 1 つ入れるたびに、更新の確認、脆弱性への対応、他のプラグインとの競合の調査が増えるためです。

## 標準で入れるプラグイン

次の表のプラグインを、すべての案件で標準として使います。
案件に合わせて、別のプラグインやサーバー・Cloudflare の機能を使ってもかまいません。

| 種類 | 目的 | 標準のプラグイン |
| --- | --- | --- |
| 日本語の表示補正 | 日本語の文字数の数え方や、メール送信時の文字化けを補正する | [WP Multibyte Patch](https://ja.wordpress.org/plugins/wp-multibyte-patch/) |
| バックアップ | ファイルとデータベースを定期的にバックアップする | [UpdraftPlus](https://ja.wordpress.org/plugins/updraftplus/) |
| 画像の変換 | メディアライブラリにアップロードした JPEG・PNG を WebP に変換して配信する | [Converter for Media](https://ja.wordpress.org/plugins/webp-converter-for-media/) |
| SEO | title・meta description・OGP・noindex を、ページの種類ごと・投稿ごとに設定する | [SEO SIMPLE PACK](https://ja.wordpress.org/plugins/seo-simple-pack/) |
| セキュリティ | ログインの試行回数の制限、2 段階認証 | [CloudSecure WP Security](https://ja.wordpress.org/plugins/cloudsecure-wp-security/) |

次の表は、条件に当てはまる案件だけで使います。

| 条件 | 目的 | 標準のプラグイン |
| --- | --- | --- |
| フォームがある | お問い合わせフォームの作成と送信 | [Contact Form 7](https://ja.wordpress.org/plugins/contact-form-7/) |
| Cloudflare を使う | 投稿の更新時に Cloudflare のキャッシュを自動で削除する | [Cloudflare](https://ja.wordpress.org/plugins/cloudflare/) |
| ログイン画面に Turnstile を入れる | ログイン画面にボット対策の Cloudflare Turnstile を追加する | [Simple CAPTCHA with Cloudflare Turnstile](https://ja.wordpress.org/plugins/simple-cloudflare-turnstile/) |

ログイン画面に Turnstile を入れる場合は、CloudSecure WP Security の「画像認証追加」はログインフォームで無効にし、2 重に確認させないようにします。

表にないプラグインを使う場合や、標準のプラグインを別のものに置き換える場合は、[採用の基準](#採用の基準)で確認してから使ってください。

wp-env-starter では、`.wp-env.json` に書いたプラグインだけが開発環境に入ります（標準では WP Multibyte Patch のみ）。
開発環境でも本番と同じプラグインで確認できるよう、採用したプラグインは `.wp-env.json` の `plugins` にも追加します。

:::note[ログイン URL は変更しない]
CloudSecure WP Security の「ログイン URL 変更」は使いません。
有効にすると `wp-login.php` へのアクセスが 404 になり、ボットからのログインの試行は減りますが、不正ログインの対策としての効果は小さいためです。

- `xmlrpc.php` からのログインの試行は防げない
- 総当たりやパスワードリスト攻撃は、ログインの試行回数の制限と 2 段階認証で防げる
- 退職者や制作会社などから変更後の URL が漏れると、効果がなくなる

ボットからの試行を減らしたい場合は、URL を変えずに済む Turnstile を使います。
:::

:::warning[CloudSecure WP Security の REST API 無効化]
「REST API 無効化」を有効にすると、ログインしていない訪問者からの REST API へのリクエストが拒否されます（投稿を編集できるユーザーは対象外のため、ブロックエディターは動きます）。
フロントの JavaScript から投稿を取得する処理や、独自に追加したエンドポイントを使う場合は、その名前空間を除外設定に追加してください。
:::

## 採用の基準

標準以外のプラグインを追加するときは、次の基準で判断します。

- **テーマで実装する場合と比べる**：数十行のコードで済む機能（投稿一覧の並び順の変更など）は、プラグインを使わずテーマで実装する
- **公式ディレクトリで配布されている**：[WordPress.org のプラグインディレクトリ](https://ja.wordpress.org/plugins/)に掲載されているものを選ぶ。公式ディレクトリにない配布元のプラグインは、配布元の信頼性を確認してから使う
- **メンテナンスが続いている**：最終更新が 1 年以内で、使用中の WordPress のバージョンで動作確認されている
- **利用者が多い**：有効インストール数が多いものを選ぶ。利用者が多いほど、不具合や脆弱性が見つかって修正されるまでが早い
- **機能が重複しない**：同じ役割のプラグインを 2 つ入れない（SEO プラグインを 2 つ、キャッシュプラグインを 2 つ、など）

:::note[有料プラグインのライセンス]
有料のプラグインを使う場合は、ライセンスを誰の名義で購入し、更新費用を誰が負担するかを契約時にクライアントと決めておきます。
ライセンスが切れると、プラグインのアップデートを受け取れなくなります。
:::
