If you’re reading this, you’re likely tired of the standard WordPress performance advice. The usual routine—installing WP Rocket, adding an image optimizer plugin, and throwing in an asset manager—often leads to a paradox: サイトを高速化するためにプラグインをインストールしますが、プラグイン自体はデータベースの肥大化、バックグラウンドの cron ジョブ、および独自の CSS/JS ペイロードを追加します。
実のところ、WordPress では 1 秒以内に 15 個のパフォーマンス プラグインを読み込む必要はありません。真の速度の最適化は、サーバー、データベース、コア コードといったメタル層で行われます。
このガイドでは、プラグイン エコシステムを完全にバイパスします。サーバー側の設定を使用して WordPress を最適化します。 wp-config.php 調整や手術など functions.php スニペット。
1. サーバーサイドの基盤 (PHP は不要)
WordPress コードの 1 行に触れる前に、サーバー環境を大幅に最適化する必要があります。弱いサーバーはフロントエンド キャッシュでは修正できません。
PHP 8.1 以降にアップグレードする
WordPress は PHP 上で動作します。 PHP 7.4 から PHP 8.1 または 8.2 に移行すると、実行時間が 20 ~ 30% 短縮され、メモリ消費量が大幅に削減されます。 アクション: これを cPanel、Plesk で変更するか、独自の VPS を管理している場合は CLI 経由で変更します。
サーバーレベルの圧縮を有効にする (Gzip 上の Brotli)
Gzip が標準ですが、 ブロトリ (Google が開発) は、同じ CPU コストでテキスト ファイル (HTML、CSS、JS) の圧縮率が約 15 ~ 20% 向上します。 アクション (Nginx): あなたの nginx.conf Brotli が有効になっています:
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
FastCGI キャッシュ (Nginx) または LiteSpeed キャッシュの実装
PHP ベースのキャッシュ プラグイン (キャッシュを提供するには WordPress を部分的にロードする必要があります) を使用する代わりに、Web サーバー レベルでキャッシュします。 Nginx FastCGI キャッシュは、生成された HTML を RAM またはディスクに保存し、匿名の訪問者に対して PHP と MySQL を完全にバイパスして直接提供します。
2. 硬化と薄化による wp-config.php
の wp-config.php ファイルはあなたのコントロールルームです。デフォルトでは、WordPress は時間の経過とともにデータベースを肥大化させる特定の動作を許可します。
これらのスニペットを /* That's all, stop editing! Happy publishing. */ ライン。
投稿のリビジョンを制限する
デフォルトでは、WordPress は投稿のリビジョンを無限に保存します。投稿が 50 回更新されると、コピーが 50 個になります。 wp_posts データベース テーブルの影響で、データベース クエリの速度が大幅に低下します。
// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );
自動保存間隔の最適化
WordPress は 60 秒ごとに自動保存します。複数のエディタを使用している場合、データベースに大きな負担がかかります。ゆっくりしてください。
// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );
ゴミ箱をより早く空にする
削除された投稿とコメントは 30 日間データベースに残ります。データベースを無駄のない状態に保つには、これを減らしてください。
// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
3. 「むくみ対策」 functions.php マスター スニペット
WordPress コアは、大量の従来のサポート スクリプト、検出リンク、インライン スタイルを そして デフォルトでは。
競合他社よりも最大限の情報獲得を達成するために、単に「デブロート プラグインを使用してください」とは言いません。これは、最も一般的な WordPress の肥大化を外科的に除去するための正確なコードです。
注: これを子テーマに追加してください functions.php またはドロップインの mu プラグイン。
/**
* The Ultimate WordPress Debloat Snippet
*/
add_action('init', function() {
// 1. Remove RSD, XMLRPC, and WLW links
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
add_filter('xmlrpc_enabled', '__return_false');
// 2. Remove WordPress version footprint (Security & Speed)
remove_action('wp_head', 'wp_generator');
// 3. Remove Shortlinks and REST API links from header
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'rest_output_link_wp_head');
// 4. Disable native Emojis (Saves 1 JS and 1 CSS HTTP Request)
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
// 5. Disable oEmbeds (If you don't embed external URLs automatically)
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_action('wp_footer', function() { wp_deregister_script('wp-embed'); });
});
/**
* 6. Remove Global Styles (WP 5.9+ Inline CSS Bloat)
*/
add_action('wp_enqueue_scripts', function() {
wp_dequeue_style('global-styles');
wp_dequeue_style('classic-theme-styles');
}, 100);
/**
* 7. Remove jQuery Migrate (If using modern themes/plugins)
*/
add_action('wp_default_scripts', function($scripts) {
if (!is_admin() && isset($scripts->registered['jquery'])) {
$script = $scripts->registered['jquery'];
if ($script->deps) {
$script->deps = array_diff($script->deps, ['jquery-migrate']);
}
}
});
/**
* 8. Throttle the Heartbeat API
* Prevents high CPU usage when leaving the WP Admin open
*/
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60; // Throttle to 60 seconds
return $settings;
});
私たちは今何を達成したのでしょうか?
上記のコードを追加すると、最大ですぐに削除できます。 5~8 個の不要な HTTP リクエスト また、プラグインを 1 つもインストールせずに、すべての単一ページの読み込みから数十行のインライン CSS/JS を削除しました。
4. メディアの最適化 (困難な方法)
Smush や Imagify などのプラグインは便利ですが、PHP サーバー上で画像処理を実行し、CPU リソースを消費します。
手動 WebP/AVIF 変換
画像を WordPress にアップロードする前に、次のような外部のロスレス コンプレッサーを通して画像を実行します。 スクーッシュアプリ (Google による) または タイニーPNG。さらに良いことに、それらを次のように変換します。 .webp または .avif アップロードする前にローカルでフォーマットします。
ネイティブの遅延読み込みを活用する
WordPress 5.5 以降、ネイティブの遅延読み込みが組み込まれています。 WordPress が自動的に追加します loading="lazy" あなたのイメージに。 JavaScript ベースの遅延読み込みプラグインは必要ありません。ただし、「スクロールせずに見える範囲」の画像 (ロゴやヒーロー画像など) にはこの属性がないことを確認してください。最大コンテンツフル ペイント (LCP) が遅延するためです。
ページ上の最初の画像の遅延読み込みを削除するには、次のようにします。 functions.php:
add_filter( 'wp_get_attachment_image_attributes', function( $attr, $attachment, $size ) {
static $is_first_image = true;
if ( $is_first_image ) {
$attr['loading'] = 'eager'; // Force immediate load for LCP
$is_first_image = false;
}
return $attr;
}, 10, 3 );
5. phpMyAdmin によるデータベースのデフラグ
最適化プラグインには通常、「データベースのクリーンアップ」ボタンが付いています。これはデータベース レベルでネイティブに実行できます。
- ホスティングパネルにログインして開きます phpMyAdmin.
- WordPress データベースを選択します。
- 一番下までスクロールして確認してください すべてチェックしてください.
- 「選択済み:」ドロップダウンで、選択します。 テーブルの最適化.
MySQL はテーブルのインデックスを再構築し、未使用のスペースを再利用します。これを月に 1 回手動で実行します。
評決
プラグインを使用せずに WordPress を最適化するということは、プレミアム サブスクリプションの費用を節約するだけではありません。という哲学です 技術的負債の削減。インストールしないプラグインはすべて、パッチを適用する必要のないセキュリティ脆弱性であり、データベース テーブルをクリーンアップする必要がなく、サーバーで実行する必要のない PHP スクリプトです。
ワークロードをサーバー (PHP 8.1 以降、Nginx FastCGI) に移行し、社内の規律を強化します。 wp-config.phpを使用してコアの膨らみを切り取ります。 functions.php。最初のバイトまでの時間 (TTFB) と Core Web Vitals に違いが反映されます。



