WordPressWPCodeプラグインを使用すると、テーマファイルを直接変更することなく、ヘッダーやフッターにスクリプトを簡単に追加できます。 HTMLやJavaScriptだけでなくPHPコードまで管理画面から直接挿入でき、FTPやファイルエディタにアクセスしにくい環境では特に便利です。ただし、このように便利にコードを管理できるだけに、サイトの速度とサーバーの負荷、そしてセキュリティなどの面でどのような影響を与えることができるかを一緒に考慮する必要があります。

WPCodeプラグイン
WPCodeプラグインは WordPress ヘッダーとフッターにスクリプトを追加するときに欠かせないツールです。 FTP接続なしでHTML、JavaScriptだけでなくPHPコードまで直接挿入することができ、実務で非常に便利に使用されます。
このプラグインは現在200万を超える WordPress サイトにインストールされて使用されています。

このプラグインが多く使われる理由の一つは、ヘッダやフッタに追加するコードをFTPに接続して入れるのを案内するのが面倒なので、単にWPCodeのようなプラグインを使って挿入するように案内する場合が多いのも一役買わないかと思われます。
このプラグインを使用して、次のコードを簡単にヘッダーまたはフッターセクションに追加したり、カスタムコードスニペットとして追加したりできます。
- Google 検索コンソール サイト所有確認コード
- Naver サーチアドバイザー(Naver ウェブマスターツール)サイト所有権確認コード
- Google Analyticsコード
- 구글 AdSense 広告スクリプト
- Google タグマネージャ関連コード
- JavaScriptコード
- HTMLコード
- PHPコード
CSSコードを簡単に WordPress 追加できますが、WPCodeプラグインを介して追加することも可能です。
このように、ほぼすべての種類のカスタムコードをFTP / SFTPに接続せずに WordPress ダッシュボード内で追加できるため、このプラグインは大きな人気を集めています。

WPCodeでPHPコードを入れる、速度に与える影響
PHPコードのような場合、通常はチャイルドテーマの関数ファイルに追加することが望ましいです。しかし、FTPにアクセスできない、またはさまざまな理由で WordPress 通知パネルから追加する必要がある場合は、WPCodeを利用できます。
| アイテム | WPCode(コードスニペット) | テーマfunctions.php |
|---|---|---|
| 追加方法 | 1. WPCode » Add Snippet 2. PHP Snippetの選択、コード入力 3. Location/Hook 設定 4. Active ON | 1.チャイルドテーマフォルダ/functions.phpの編集 2. add_action() などでコードをラップする 3. アップロード/保存 |
| 実行位置制御 | Hook、Location、Conditionで細かい(フロント/管理者/特定ページ) | add_action()/add_filter() フック指定(柔軟ですが手動設定が必要) |
| アクティブ/非アクティブ | UIでトグルクリックに即座に切り替える | コードコメント処理or削除(ファイル再アップロードが必要) |
| パフォーマンスへの影響 | DBルックアップ+ランタイム実行(autoloadオプションを増加可能、高トラフィック時のオーバーヘッド) | ファイルinclude + OPcache最適化(リクエストごとのDBクエリなし、より効率的) |
| 管理の利便性 | 初心者にやさしい、バックアップ/インポート/ライブラリのサポート | 開発者にやさしい、Gitなどのバージョン管理が簡単 |
| PHPサポート | 直接eval-like実行可能 | ネイティブPHPの実行 |
| テーマの更新 | テーマ変更無関係(独立) | チャイルドテーマ使用時の安全 |
PHP スニペットが数少なく、訪問者数も多くないと WPCode のために体感するほどの速度低下はほとんどないかもしれませんが、追加されるコードが多かったり訪問者数が多い場合にはサイト速度に影響を及ぼす可能性があります。
訪問者・スニペット数が少ないとき
- WPCodeは「DBでスニペットを読み込んで実行する」構造なので、リクエストごとに若干のオーバーヘッドがありますが、コードスニペットの数が少なく、トラフィックが少ない環境では速度に与える影響が制限されます。
- 自動ロードオプションのサイズやDBクエリの数が少ない場合、autoloaded optionsがパフォーマンスに与える影響も少なく、実際には他のボトルネックの原因(テーマ、イメージ、外部スクリプト)がはるかに大きい変数になります。
訪問者・スニペット数が多い場合
- トラフィックが多く、アクティブなスニペットが多いほど、「スニペットのロード+条件チェック+実行」コストがすべての要求に蓄積され、CPU・メモリ使用量とTTFBに影響を与える可能性があります。
- 特に、スニペットデータをautoloadオプションとして大幅に保存するパターンは、高トラフィックであるほど問題を引き起こし、関連する警告 WordPress サイトの健康とコミュニティで繰り返し言及されています。
- このため、WPCodeも最近、Proバージョンに「スニペットをファイルにロードしてDBクエリを減らし、最大約17%までのロード速度が改善された」という機能を別に出した。
まとめると、スニペット数が少なく低トラフィック環境であれば影響ほとんどないが、高トラフィック・スニペット多数環境ではファイルベース(MU-plugin など)に移動すると、パフォーマンス上より安全になる可能性があります。
実際に管理に参加したサイトの1つにWPCodeプラグインとして30以上のPHPコードスニペットが追加され、訪問者が増加すると過度のトラフィックと速度低下現象が発生する問題のため、コードを分離してプラグインにして追加したことがあります。

GeneratePress テーマのElements vs.テーマ関数ファイル
GeneratePress テーマの有料版であるGP Premiumを使用すると、 WordPress 通知パネル内で、PHPコードを含むHTML / JSコードなど、さまざまなコードを簡単に追加できます。この過程で、要求時にDBからElementデータを照会するクエリが追加されます(例:postmetaクエリ)、Elementsの数が増えると、DOMサイズの増加やわずかなTTFB遅延が発生する可能性があります。
GeneratePress 公式フォーラムでは、Elementsとfunctions.phpを比較テストした結果、「有意な違いはない」と明らかにしていますが、Elementsは1回の追加DBクエリが発生する可能性があり、高トラフィック環境で微妙に不利になる可能性があります。
GPプレミアムを使用してElementでHTML / JS / PHPコードを追加する場合は、数が少ないとサイトの速度に与える影響は少なくなりますが、あまりにも多くの場合はチャイルドテーマに移動するか、別のプラグインに分割することも考慮できます。
| アイテム | GeneratePress 要素 | テーマfunctions.php |
|---|---|---|
| 追加方法 | 1. GP Premium » Elements » Add Element 2. Hook/Blockなどタイプ選択 3. HTML/JS 入力 4. Hookの位置/条件の設定 | 1. チャイルドテーマ /functions.php 編集 2. add_action() でコードを追加する 3. 저장 |
| 実行位置制御 | Hookの位置、Display Rulesでページ/デバイス別の条件付き表示 | add_action() フックで指定 (より柔軟な PHP ロジック可能) |
| アクティブ/非アクティブ | UIトグルまたはDisplay Rulesによる即時制御 | コードコメント or 削除 |
| パフォーマンスへの影響 | DB postmetaルックアップ(リクエストごとに追加クエリ、Elementsが多い場合はDOMを増やす) | ファイルベース+ OPcache(最小オーバーヘッド) |
| 管理の利便性 | ビジュアルエディタ、ドラッグアンドドロップ(非開発者に最適) | コード編集が必要(開発者に最適) |
| テーマの更新 | GP Premium機能(テーマ内蔵、アップデート時維持) | チャイルドテーマを使用する場合の安全 |
このブログでは、Elementsを介して最小限のコードのみを追加し、長さの長いコードは独立したプラグインにして追加する方法に置き換えました。😄
WPCodeプラグインのセキュリティ問題
WPCodeやGP PremiumのElement、Ad Inserterなどを介してPHPコードやJSコードを追加するときは、セキュリティ上の問題にも気をつけることをお勧めします。
まれですが、WPCodeにマルウェアがコードスニペットでケースに数回触れたことがあります。
ちなみに、wp-config.phpファイルに次のコードを追加すると、 WordPress 通知パネルからPHPコードを追加することはできません。
define( 'DISALLOW_FILE_MODS', true );
上記のコードがwp-config.phpファイルに追加されると、GP PremiumはPHPコードを挿入して実行できなくなります。しかし、WPCodeでテストしてみると、WPCodeでは上記のコードが適用されていても管理者ページ内からコードスニペットでPHPコードを挿入して実行できますね。 WPCodeプラグイン文書を検索しているので、次のコードを追加してサイトレベルでPHPを無効にできるとします(アクセス制御 を参照)。
define( 'WPCODE_DISABLE_PHP', true );
しかし、私は上記のコードを入れてテストしてみると、期待どおりに動作しないようです。上記のコードを追加しても、WPCodeでPHPコードをコードスニペットとして追加すると実行されます。
最後に、
WordPressでWPCode、Insert Headers And Footersなどのプラグインを使用すると、FTPに接続する必要なく WordPress 通知パネル内ですぐにHTML/JavaScript/PHPコードを簡単に追加でき、多くの人気を得ています。
ただし、WPCodeプラグインを使用して訪問者の数が多いか、あまりにも多くのコードスニペットを追加すると、サイトの速度に悪影響を及ぼす可能性があるため、注意が必要です。
参考までに WordPressドットコムに加入して利用する加入型 WordPressのプライベートプランとプレミアムプランの場合、SFTP接続は許可されていないため、HTML / JS / PHPコードを追加するにはWPCodeプラグインを使用するしかありません。そのような場合はやむを得ず使用する必要がありますが、FTPに接続できる場合は、なるべくチャイルドテーマの関数ファイルにコードを追加する方が望ましいかもしれません。
テーマfunctions.phpに追加するのとは別のプラグインで作成して追加する方法は、パフォーマンスの影響に違いはありませんか?
実質的な性能差はないようです。