WordPress のサイトが重い・遅い原因の多くは、プラグインの過剰使用なのですが、
特に長い年月運用しているサイトだと、どのプラグインが止めても問題ないのか判断するのが、かなり難しくなります。
前の記事でご紹介した事例では、47個の有効なプラグインを11個まで減らしました。
プラグインを停止していく際のポイントについてご紹介します。
まずはバックアップ!
プラグインを停止する前に必要なのは、ファイルのバックアップではなく、データベースのバックアップです。
年のためフルダンプを取っておきましょう。phpMyAdmin がインストールされているなら、データベースごとSQLファイルでエクスポート、でOKです。
どれを止めたかわからなくならないように、プラグイン画面のキャプチャもとっておくと安心です。
知らないプラグインは・・・
プラグインページの「詳細を見る」を開いて、どんなプラグインなのか把握しましょう。
公式サイトやドキュメントがあれば読みましょう。
特に使用方法(ショートコードの記法、テーマへの記述方法)と、管理画面のスクリーンショットは必ず見ましょう。
ユーティリティ系
Duplicate Post
Regenerate Thumbnails
WordPress Importer
WP Maintenance Mode
など
だいたい停止して問題ないです。
一括処理や複製、インポートなど、非常に便利なプラグインですが、
日常的に運用で使うものでなければ、使う時以外は止めておきましょう。
ショートコード系
Contact Form 7
MetaSlider
TablePress
WP Google Maps
など
投稿ページにショートコードを埋め込んで使う、本当に使っているのかいないのかがわからなくなりがちなプラグインですね。
おすすめは、データベースの *_posts テーブルの post_content をショートコードの共通部分で検索することです。
たとえば MetaSlider であれば、[meta-slider と検索すれば良いです。
1件もヒットしないか、ヒットしたものの post_status が全て下書き (draft) や非公開 (private)、ゴミ箱 (trushed) であれば、削除して問題ないと判断できます。
今回の事例では、フォーム系のプラグインが複数入っていました。
Contact Form 7 のショートコードが入っているページが1つだけありましたが、1年以上アクセスがなかったので(Google Analyticsで確認)、削除しました。
ページデザイン系
TinyMCE Advanced
Page Builder by SiteOrigin
Elementor Page Builder
など
実際にそのプラグインを使ったテストページを作り、テキストモードに切り替えて、本文欄にどのような html タグやショートコードが生成されるかを確認してみましょう。
たとえば Page Builder by SiteOrigin で作ったページには [SiteOrigin_Widget … ] というようなショートコードが入ってきます。
ショートコードやプラグイン固有のCSS用クラスがある場合は、上記ショートコード系プラグインと同じ方法で、実際に使用している投稿があるかどうかを調べます。
逆にショートコードやプラグイン固有のCSS用クラスがなければ、停止しても、少なくとも既存のページに影響は出ないはずです。
テーマ系
WP-PageNavi
Breadcrumb NavXT
など
ドキュメントを見ればわかると思いますが、これらは
<?php wp_pagenavi(); ?>
のようなテンプレートタグをテーマファイルに記述することで動作するプラグインです。
テーマファイルをgrepして、使用しているか確認しましょう。
また、この手のプラグインは、使用せずとも、テーマカスタマイズで比較的対応しやすいプラグインです。
セキュリティ系
Akismet Anti-Spam
Limit Login Attempts Reloaded
など
セキュリティを解除するなんて恐ろしい・・・とスルーせず、それぞれ何をしてくれているのかをきちんと確認しましょう。
例えば、Akismet (無料版) などは基本的にはコメント(ピンバック・トラックバック)スパム対策なので、
コメントフォームを設置していないサイトの場合、ピンバックを受け付けない設定にしておけば、止めても影響はほぼ無いはずです。
コア設定系
WP-Optimize
WP Mail SMTP by WPForms
Advanced Custom Fields
Custom Post Type UI
Redirection
など
専用の設定画面があるプラグインの場合、設定画面を見れば、使っているかどうかは一目瞭然ですね。
使っている形跡がなければ迷わず停止しましょう。
使っていても、たとえば Custom Post Type UI などは、テーマファイルに register_post_type() や register_taxonomy() を記述することで、容易に設定が実現できます。
Redirection なども、数がよほど多くなければ、.htaccess で転送してしまった方が良いです。
パーマリンク系
No Category Base
Custom Post Type Permalink
など
基本的には add_rewrite_rule() や、register_post_type() の設定等、テーマファイル内で実装できるものばかりです。
ただ、設定をミスると、リンク切れを起こしたり、インデックスされているURLが消滅してSEOに悪影響が出たりします。
自信が無い方はそっとしておきましょう。
停止したり、テーマで独自実装した場合には、「パーマリンク設定」画面で更新ボタンを押すのも忘れずに。
SEO系
Yoast SEO
All in One SEO Pack
Google XML Sitemaps
など
具体的に何をしてくれているプラグインなのか、よく確認しましょう。
それがわかれば、テーマカスタマイズで対応することがさほど難しくないものも多いはずです。
今回は、All in One SEO Pack を停止して、独自実装に切り替えました。
詳しくは「All In One SEO Pack が重いので、停止して独自実装してみる」を参照。
キャッシュ系
WP Super Cache
W3 Total Cache
など
これらのキャッシュ系プラグインが活躍していたら、あなたは今頃こんな記事を読んでいないはずでしょう。
とりあえず止めてみる。
よくわからんもの
WP Multibyte Patch
何してるのかよくわからない。ソース斜め読みしてもよくわからない。
そのくせP3でモニタリングすると、わりと上位に出てくる。
悩んだ末、そのまま残しました。