記事の更新には慣れたが、サイトの表示速度が重くなってきた、プラグインが増えすぎて管理が怖い、デザインの微調整が効かない……。こうした「成長痛」は、WordPressの仕組みを理解することで解決できます。本記事では、表面的なカスタマイズではなく、サイトの寿命を延ばし、SEO評価の土台となる「内部構造の最適化」に焦点を当てます。
1. データベース(DB)の健全化とパフォーマンス・チューニング

初心者時代はキャッシュ系プラグインを入れるだけで満足していましたが、中級者は「キャッシュ以前のDB負荷」を減らす必要があります。
① wp_options テーブルと「Autoload」の罠
WordPressが重くなる最大の原因の一つが、wp_optionsテーブルの肥大化です。特に注意すべきは「Autoload(自動読み込み)」データです。
- 問題点:
除したはずのプラグインの残骸データが、全ページ読み込み時に呼び出されているケース。 - 対策:
phpMyAdminなどでDBにアクセスし、Autoloadされているデータ容量を確認する。不要なレコード(特に古いプラグインの残骸)を特定して削除するプロセス。 - ツール:
「Advanced Database Cleaner」等の利用も手ですが、最終的には手動での確認スキルが必須です。
② リビジョン管理の厳格化
デフォルトでは無制限に保存される「リビジョン(記事の保存履歴)」。これが記事数×数倍でDBを圧迫します。
- 対策:
wp-config.php に以下のコードを記述し、リビジョン保存数を制限します。code PHPdefine( 'WP_POST_REVISIONS', 5 ); // 保存数を最新の5件に制限 - ※ プラグインで管理するよりも、configファイルで制御する方がサーバー負荷が低く確実です。
③ Query Monitor によるボトルネック特定
「なんか重い」を感覚で語るのはやめましょう。プラグイン「Query Monitor」を導入し、以下の項目をチェックします。
- Slow Queries:
0.05秒以上かかっているクエリを発行しているプラグインを特定。 - PHP Errors:
ログに出ない警告レベルのエラーを潰す。 - HTTP API Calls:
外部API連携による遅延を確認。
2. 脱・プラグイン依存のための functions.php 活用術

「機能を追加したい=プラグイン検索」の思考から脱却します。簡単な機能ならコード数行で実装でき、サイトの軽量化につながります。
① 不要なヘッド情報の削除
WordPressはデフォルトで多くのタグを<head>内に出力します。セキュリティリスクやノイズになるものを削除します。(code PHP)
// WordPressのバージョン情報を削除(セキュリティ対策)
remove_action('wp_head', 'wp_generator');
// wlwmanifest(Windows Live Writer用)の削除
remove_action('wp_head', 'wlwmanifest_link');
// RSDリンクの削除
remove_action('wp_head', 'rsd_link');
② スクリプト読み込みの制御(条件分岐)
お問い合わせフォームのプラグイン(Contact Form 7など)のJS/CSSが、全ページで読み込まれていませんか?
特定のページでのみ読み込ませることで、サイト全体のレンダリングを高速化します。(code PHP)
function my_dequeue_scripts() {
if ( !is_page('contact') ) { // スラッグがcontact以外のページ
wp_dequeue_script('contact-form-7');
wp_dequeue_style('contact-form-7');
}
}
add_action( 'wp_enqueue_scripts', 'my_dequeue_scripts', 99 );
3. ブロックエディタ(Gutenberg)の高度な運用

クラシックエディタへの未練を捨て、ブロックエディタをCMS(コンテンツ管理システム)として使い倒します。
① 再利用ブロックと同期・非同期の使い分け
- 同期パターン:
記事下のCTA(Call To Action)や自己紹介など、一括変更したい箇所に使用。 - 非同期パターン:
デザインの雛形(レイアウト)として呼び出し、中身は記事ごとに書き換えたい場合。「通常ブロックへ変換」の手間を省くため、ブロックパターンとして登録するのが正解です。
② theme.json の理解(FSEへの布石)
最近のテーマでは theme.json ファイルでサイト全体のスタイル(フォント、色パレット、余白)を制御しています。CSSで !important を乱発してデザインを上書きするのではなく、子テーマに theme.json を作成し、グローバルスタイルを定義する手法を学びましょう。これにより、CSSファイルサイズを劇的に削減できます。
4. サーバーサイドでのセキュリティと画像最適化
プラグインだけに頼らない、サーバーレベルでの最適化です。
① 画像の次世代フォーマット(WebP/AVIF)配信
プラグイン(EWWW Image Optimizer等)での変換も良いですが、現在はサーバー側(CloudflareやXserver等の機能)で自動変換・配信設定ができる場合があります。
- 推奨:
プラグインのプロセスを減らすため、CDNやサーバー機能でのWebP配信を優先的に検討してください。
② wp-config.php によるファイル編集の無効化
管理画面から「テーマエディター」や「プラグインエディター」を触れる状態は、乗っ取り時のリスクが最大級です。(code PHP)
define( 'DISALLOW_FILE_EDIT', true );
これを記述するだけで、管理画面からのファイル改ざんを物理的に防げます。中級者以上はFTP/SFTP経由でファイルを編集すべきです。
5. SEOの「構造化データ」を意識する

Yoast SEOやRank Mathなどのプラグイン任せにせず、出力されている「構造化データ(JSON-LD)」が正しいか検証します。
- 検証:
Googleの「リッチリザルトテスト」を使用。 - 応用:
記事(Article)スキーマだけでなく、FAQページにはFAQPageスキーマ、商品レビューにはReviewスキーマが正しく当たっているか。必要であれば、プラグインの設定を上書きするか、カスタムHTMLブロックで直接JSON-LDを記述して、Googleに正確なコンテキストを伝えます。
まとめ:Webマスターとしての視点を持つ

ブログ中級者から上級者へステップアップするためには、「記事を書く人」から「サイトを管理・設計する人(Webマスター)」へと視座を高める必要があります。
今回紹介したデータベースのクリーンアップやコードによる制御は、地味な作業ですが、サイトの表示速度(Core Web Vitals)やセキュリティ強度に直結し、長期的にはSEO順位を守る要塞となります。まずは、バックアップを取った上で、Query Monitorによる現状把握から始めてみてください。










コメント