AD5 WordPress Lab

WordPressが遅いので、プラグインを停止しまくってみる

WordPressが遅いので、プラグインを停止しまくってみる

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でモニタリングすると、わりと上位に出てくる。

悩んだ末、そのまま残しました。

Plugin Outbound Posts – 記事リスト内に外部リンクを挿入

Outbound Posts – 記事リスト内に外部リンクを挿入

投稿のリストの中に、見た目は他の投稿のリンクと同じように、外部リンクを差し込みたい、なんてことはありませんか? こんな風に・・・ Outbound Posts は、このような記事風の外部リンクを簡単に投稿できるプラグインです。 このプラグインを有効化すると、各記事の投稿画面に、「外部リンク」という欄が現
Column WordPressが重い・遅いときは、まず「プラグインのスリム化」をしよう 〜調査篇〜

WordPressが重い・遅いときは、まず「プラグインのスリム化」をしよう 〜調査篇〜

WordPressが重い、遅い!? WordPressのサイトが重い、読み込みが遅いので高速化したい、という相談をよく受けます。 本シリーズでは、実際の高速化の実例を元に、事前調査から対応までの手順をご紹介します。 WordPressが遅い原因 経験上、WordPressが遅い原因の80%以上はプラグインの過剰使用です。 プラグイン
Column WordPressにXMLサイトマップを独自実装するカスタマイズ

WordPressにXMLサイトマップを独自実装するカスタマイズ

WordPressに限らず、SEO対策に不可欠なXMLサイトマップ。 カスタマイズせずとも「Google XML Sitemaps」などのプラグインで瞬殺なわけですが、 多くのXMLサイトマッププラグインは、柔軟に設定できるように作られている分、 「このサイトでは要らない機能」がたくさん含まれることになるので、多少なりともリソー
Plugin AD5 LOYALTY – WordPressで会員制サイト作成

AD5 LOYALTY – WordPressで会員制サイト作成

当サイトで使用しているプラグインです。 WordPressのサイトを簡単に会員制サイトにすることができます。 ショートコードで簡単に会員登録フォーム、ログインフォームが設置可能で、全ての投稿に対して、会員用コンテンツと非会員用コンテンツを設定することができます。 ショートコートで簡単に会員登録フォーム
Column WordPressテーマ・プラグイン開発時のセキュリティ対策

WordPressテーマ・プラグイン開発時のセキュリティ対策

WordPressのテーマやプラグインを開発、カスタマイズする際には、脆弱性を生まないよう、セキュリティ対策を十分に考慮する必要があります。 CSRF対策 管理画面内外を問わず、WordPressにリクエストを送信するフォームや、データを更新するAJAXを実装する場合には、CSRF対策を施しましょう。 リクエストを送信する
Plugin Mobile Sticky Footer – スマホ用固定フッター

Mobile Sticky Footer – スマホ用固定フッター

Mobile Sticky Footerは、スマートフォンサイトに簡単に固定フッターを設置できるWordPressプラグインです。 選べる3タイプのレイアウト 複数ボタンタイプは2ボタンから5ボタンまで設定可能。 お問合せフォームやSNSへのリンクのほか、電話ボタンの設置も可能です。 リアルタイムプレビューつきの直感的な設定画
Column WordPressにメールフォームを自力で実装する

WordPressにメールフォームを自力で実装する

WordPressにメールフォームを実装する優秀なプラグインは沢山ありますが、 ほとんどのプラグインは非開発者向けに導入しやすさを重視して作られているため、 例えば入力項目を動的にするなど、少し複雑なことをしようと思うと、 詰んでしまいます。 WordPressにはメール送信処理やデータの保存などを簡単に実装できる
Plugin WP LOYALTY Checkout add-on – クレジットカード決済

WP LOYALTY Checkout add-on – クレジットカード決済

当サイトで使用しているプラグインです。 AD5 LOYATYのアドオンとして、決済機能を提供します。 決済サービスとして、カード決済手数料が3.0%〜と安く、個人事業主でも利用可能なPAY.JPと連携できます。 (別途PAY.JPのアカウントが必要です。)
Column WordPressのテーマファイル構成を本気出して考えてみた

WordPressのテーマファイル構成を本気出して考えてみた

エンジニアの端くれとして、たかがWordPressテーマであっても、綺麗なモジュール設計がしたいわけです。 そこで、以前作ったサイトのテーマをモチーフに、テーマファイルを再設計してみました。 対象にしたサイトは、ユーザーが会員登録し、PDFコンテンツを投稿でき、ダウンロード結果を集計できるなど、そこそこ高機
Column WordPressサイトにパンくずリストをプラグインなしで実装する

WordPressサイトにパンくずリストをプラグインなしで実装する

意外と大変なパンくずリスト WordPressサイトに限らず、SEOの面でも重要視されるパンくずリスト(breadcramb nav)。 WordPressでガチで実装すると意外と面倒ですよね。 個別投稿ページだけでも、 A. 標準投稿 HOME > 親カテゴリ > 子カテゴリ > 投稿名 B. 固定ページ HOME > 親ページ >
 
ログイン
メールアドレス
パスワード
会員登録
お名前
メールアドレス
パスワード
購入手続き
カード番号
有効期限 (MM/YY)
/
セキュリティコード (CVC)