WordPressサイトのパフォーマンスは、ユーザー体験、コンバージョン率、検索エンジンのランキングに直接影響します。読み込みに時間のかかるサイトは訪問者をすぐに離れさせてしまい、SEO対策の効果を台無しにしてしまいます。このガイドでは、コアシステムからプラグインの選択に至るまで、すぐに実践できる包括的なパフォーマンス最適化の方法を提供します。
コアシステムおよびサーバーの最適化
最適化作業は基礎から始めるべきです。安定したサーバーとコア設定こそが、あらゆる高度な最適化の基盤となります。
高性能なホストソリューションを選択する
虚拟主机、VPS、云服务器和专用服务器的性能差异巨大。对于流量中等及以上的网站,建议至少选择配置了SSD硬盘、PHP 7.4或更高版本、并支持HTTP/2和Let‘s Encrypt SSL证书的VPS或云服务器方案。许多托管服务商提供专为WordPress优化的托管服务,它们通常预装了对象缓存、CDN集成和更安全的服务器配置。
推薦図書 WordPressサイトのパフォーマンス最適化:読み込み速度を体系的に向上させるための必須ステップと高度なテクニック。
PHPとデータベースの設定を最適化する
サーバー上でより新しいバージョンのPHP(例:PHP 8.0以上)を実行していることを確認してください。新しいバージョンのPHPは旧バージョンと比べて性能が大幅に向上しています。また、PHPのメモリ制限や最大実行時間も適切に設定する必要があります。これらの設定を変更するには、ウェブサイトのルートディレクトリにある`php.ini`ファイルを編集してください。php.iniファイルは、またはホストパネルを通じて設定を調整することができます。
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 128M
データベースについては、定期的に使用することが大切です。phpMyAdminまたは類似のツールを使用してデータベースのテーブルを最適化する。OPTIMIZE TABLEそして、修正版、草稿、不要なコメントなどの不要なデータを削除してください。これには以下の方法が利用できます:wp_postmetaとwp_optionsテーブルの最適化により、クエリの処理コストを削減します。
効率的なキャッシュメカニズムを構築する
サーバー側でキャッシングを有効にするのが最も効率的な方法です。Nginxを使用している場合は、FastCGIキャッシングを設定することができます。Nginxの設定ファイルに、以下のようなルールを追加してください:
fastcgi_cache_path /path/to/cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
その後、サーバーブロック(server block)内でPHPリクエストに対するキャッシングを有効にします。Apacheユーザーの場合は、キャッシングの有効化を検討してください。mod_expiresとmod_headersこのモジュールを使用すると、ブラウザのキャッシュ設定を行うことができます。
テーマとコードレベルでの最適化
肥大化したテーマや非効率的なコードは、パフォーマンスの隠れた敵です。サーバーがいかに強力であっても、品質の低いフロントエンドコードはページのレンダリング速度を遅らせてしまいます。
推薦図書 ワードプレスの最適化のための究極のガイド: 速度向上からセキュリティ強化まで、全方位のソリューションを提供します。。
「選択と最適化のテーマ」
必ず、コード規格が整っており、リソースの読み込みが適切で、速度に最適化された軽量級のテーマを選択してください。内蔵のページビルダーや見た目は派手だが機能が多すぎて処理が重い多機能なテーマの使用は避けてください。Google PageSpeed InsightsやGTmetrixのようなツールを使って、テーマのフロントエンドパフォーマンスのボトルネックを分析してください。
使用中のテーマについては、不要なスタイルやスクリプトを手動で、またはプラグインを使って削除することができます。例えば、あるテーマが複数のスライダープラグインのスタイルを登録している場合、そのうちの1つしか使用していない場合は、他のスタイルはすべて無効にする必要があります。
スクリプトとスタイルシートの読み込みを最適化する
CSSをヘッダー部分に、JavaScriptをページの下部に配置します。(タグの前に記載されている)のは基本原則です。重要でないCSSについては、非同期での読み込みを検討することができます。WordPressを使用する場合は…wp_enqueue_script関数の実行時に設定を行うことができます。in_footerパラメータはtrue。
function my_theme_scripts() {
// 将jQuery和主题主JS文件放在页脚加载
wp_enqueue_script('jquery');
wp_enqueue_script('my-theme-script', get_template_directory_uri() . '/js/script.js', array('jquery'), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');
また、CSS/JSファイルを統合して圧縮することで、HTTPリクエストの数を効果的に削減できます。これはAutoptimizeのようなプラグインや、Webpack、Gulpといったビルドツールを使用して開発段階で実現できます。
遅延ロードと画像の最適化を実施する
すべての画像、iframe、動画に対して遅延読み込みを有効にします。WordPress 5.5以降では、コア画像に対するネイティブな遅延読み込み機能がサポートされています。画像に対して以下の設定を行うだけでよいです:loading="lazy"属性だけで十分です。より包括的な解決策を求める場合は、プラグインの使用を検討してください。
アップロードする前には、TinifyやShortPixelなどのツール、またはローカルのソフトウェアを使用して画像を圧縮してください。また、WebPのような最新の画像フォーマットを使用すると、JPEGやPNGよりも高い圧縮率が得られます。フォーマットの変換は、プラグイン(例:WebP Express)やCDNサービスを利用して自動的に行うこともできます。
推薦図書 WordPressウェブサイトの高速化のための究極ガイド:ゼロからマスターまで。
効率的なプラグインの選択と設定
プラグインはWordPressの強力な機能の源ですが、同時にパフォーマンスが低下する主な原因でもあります。そのため、プラグインの選択と管理には慎重でなければなりません。
厳選された必須のパフォーマンスプラグイン
以下は、長年にわたってその性能が検証されてきたコアなパフォーマンスプラグインです。それぞれが特定の重要な分野に特化しています:
* 缓存插件:如WP Rocket(付费)、W3 Total Cache或WP Super Cache。它们能生成静态HTML文件,避免每次访问都执行复杂的PHP和数据库查询。
* 数据库优化插件:如WP-Optimize,它可以定期清理和优化数据库表。
* 图片优化插件:如Imagify、ShortPixel,它们可以自动压缩上传的图片并生成WebP版本。
* 代码优化插件:如Autoptimize,用于合并、压缩CSS/JS文件,并优化加载方式。
注意:機能が重複するプラグインのインストールは避けてください。例えば、同時に2つのページ全体をキャッシュするプラグインを有効にしないでください。
監視および診断プラグインの影響
定期的にクエリ監視用のプラグインを使用し、各プラグインのパフォーマンスやコストを評価してください。Query Monitorこれは非常に強力な開発ツールで、ページの生成時間、データベースのクエリ回数、各プラグインやテーマがトリガーするフック(hook)、そしてキューに待っているスクリプトやスタイル情報を表示できます。このツールを使えば、特定のページでパフォーマンスのボトルネックを引き起こしているプラグインを正確に特定することができます。
フロントエンドリソースについては、ブラウザの開発者ツール(NetworkパネルおよびPerformanceパネル)を使用して、各プラグインがどのファイルを読み込んでいるか、それらのサイズ、および読み込み時間を確認してください。
プラグイン設定のベストプラクティス
たとえ最も優れたプラグインであっても、誤った設定によっては逆効果になることがあります。キャッシングプラグインを例にとると、一般的な最適化設定には以下のようなものがあります:
ページキャッシュとブラウザキャッシュを有効にします。
ログインユーザーとカートページのキャッシュを無効にする(Eコマースサイトの場合)。
* 谨慎使用“缩小”功能,并始终在启用后测试网站功能是否正常。
* 设置合理的缓存生命周期,对于内容不常变的页面可以设置较长时间。
* 集成对象缓存(如Redis或Memcached),如果服务器环境支持的话。
高度なキャッシング機能とCDN(Content Delivery Network)の統合
基本的な最適化が完了した後、オブジェクトキャッシュやコンテンツ配信ネットワーク(CDN)を活用することで、ウェブサイトのパフォーマンスをさらに向上させることができます。特に、グローバルな視聴者にとってはその効果が顕著です。
実施対象のキャッシングを行う
オブジェクトキャッシュは、データベースのクエリ結果をメモリに保存することで、後で同じクエリを実行した際にメモリから直接データを読み取ることができ、処理速度が非常に速くなります。RedisとMemcachedは、この目的でよく使用される2つの有名なソリューションです。
まず、サーバーにRedisまたはMemcachedの拡張機能がインストールされていること、そしてPHP用の対応するクライアント(例:PhpRedis)もインストールされていることを確認してください。その後、以下のように設定を変更することで機能を利用できます:wp-config.phpこのファイルを使用すると有効になります。
// 对于 Redis
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
// 可选:指定数据库索引,避免冲突
define('WP_REDIS_DATABASE', 0);
その後、「Redis Object Cache」のようなプラグインを使用して、キャッシュの状態を接続および管理します。
統合コンテンツ配信ネットワーク(Integrated Content Distribution Network)
CDN(Content Delivery Network)は、あなたの静的リソース(画像、CSS、JS、フォント)を世界中のエッジサーバーにキャッシュします。ユーザーがこれらのリソースにアクセスすると、地理的に最も近いサーバーからリソースが取得されるため、遅延が大幅に削減されます。
CDN(Content Delivery Network)の統合は通常、2つのステップで行われます:
1. CDN(Content Delivery Network)サービスプロバイダー(Cloudflare、KeyCDN、BunnyCDNなど)に登録してください。
2. WordPressでの設定方法:多くのキャッシングプラグイン(例:WP Rocket)にはCDN統合用の設定項目があり、CDNのURLを入力するだけでOKです。または、専用のCDNプラグインを使用することもできます。functions.phpリソースのURLはフィルターを通じて書き換えられます。
function my_cdn_url($url) {
if (is_admin()) return $url; // 后台不处理
$cdn_domain = 'cdn.yourdomain.com';
$home_domain = parse_url(home_url(), PHP_URL_HOST);
return str_replace($home_domain, $cdn_domain, $url);
}
add_filter('wp_get_attachment_url', 'my_cdn_url');
add_filter('stylesheet_directory_uri', 'my_cdn_url');
add_filter('template_directory_uri', 'my_cdn_url');
フォントとアイコンの読み込みを最適化する
ウェブページのフォントは、レンダリングを妨げる要因としてよく見られます。必ず適切なフォントを使用してください。font-display: swap; CSSの属性を使用することで、テキストはまずシステムのフォントで表示され、ウェブページのフォントが読み込まれた後にそのフォントに置き換えられます。また、フォントファイルをCDN(Content Delivery Network)上に配置し、必要なフォントの太さや文字セットのみを読み込むようにします。
アイコンについては、内联SVGアイコンをアイコンフォントの代わりに使用することを検討してください。SVGはベクターグラフィックスなので、ファイルサイズが小さく、フォントの読み込みに関連する問題も発生しません。
概要
WordPressのパフォーマンス最適化は、システム的な取り組みであり、サーバーの基盤、コードの品質、プラグインエコシステム、高度なキャッシングシステムなど、複数の側面から協調して進める必要があります。その核心的な考え方は、HTTPリクエストを減らし、転送するリソースを圧縮し、非必須なコンテンツの読み込みを遅らせ、キャッシング可能なすべてのコンテンツをキャッシュすることです。このガイドに記載された手順に従い、定期的に分析ツールを使用して効果を監視することで、高速でスムーズな動作を実現し、ユーザー体験に優れたWordPressサイトを構築することができます。これにより、SEO競争やユーザーのリテンション(サイトの継続的な利用)において顕著な優位性を得ることができます。
FAQ よくある質問
どれくらいのキャッシュプラグインを使用すべきでしょうか?
通常、WP Rocketのような完全機能を備えたキャッシングプラグインで十分です。このプラグインには、ページキャッシング、ブラウザキャッシング、データベースの最適化(または統合)、CDN(Content Delivery Network)の設定、および遅延読み込みの設定などが含まれています。複数のキャッシングプラグインをインストールするとルールの競合が発生し、パフォーマンスが低下したり、ウェブサイトにエラーが発生する可能性があります。評価が高く、頻繁にアップデートされているプラグインを選び、それを丁寧に設定することをお勧めします。
キャッシュを有効にした後でも、なぜ古いページが表示されるのでしょうか?
これはキャッシュが正常に機能している証拠です。記事やページを更新した後は、関連するページのキャッシュを削除(または更新)する必要があります。そうすることで、新しい内容が訪問者に表示されるようになります。ほとんどのキャッシュプラグインには、バックグラウンド管理画面で「キャッシュを削除」するための簡単なボタンが用意されています。頻繁に更新されるウェブサイトの場合は、キャッシュの自動有効期限を設定するか、プラグインの「特定のページのキャッシュを自動的に削除する」機能を利用するとよいでしょう。
如何判断一个插件是否拖慢了网站?
最も効果的な方法は、それを使用することです。Query Monitorプラグインです。すべてのプラグインを無効にした後、1つずつ有効にしながら、ツールを使ってページの読み込み時間やデータベースのクエリ回数の変化を確認してください。また、すべてのプラグインを無効にした状態でベンチマークのパフォーマンススコアを測定し、プラグインを1つずつ有効にするたびにテストを行うことで、問題のあるプラグインを特定することもできます。ブラウザの開発者ツールの「Network」パネルでは、各プラグインが読み込んだリソースも確認できます。
优化后网站速度仍然不理想,可能是什么原因?
上記のすべての最適化を行っても速度が遅い場合、問題は以下のいずれかにある可能性があります: 1)サーバー自体の性能が低いか、サーバーが置かれているデータセンターがユーザーから遠すぎるため、設定のアップグレードやホスティング業者の変更を検討してください。 2)テーマには通常の最適化では解決できない深層的なコードの問題があるため、デフォルトのテーマ(例:Twenty Twenty-Four)に切り替えてテストして比較してみてください。 3)何らかのコア機能(例:複雑なクエリやサードパーティのAPI呼び出し)自体が非常に遅いため、コードレベルでの分析と再構築が必要です。この場合、専門の開発者を雇ってパフォーマンス診断を行う方が効率的かもしれません。
次はどうする?
拡大読書と実践的知識
以下は、この記事のトピックに関連しており、さらに深く読むのに適している。あなたの現在の問題に最も近い記事から優先順位をつけ、徐々に周辺のトピックに広げていく方が良い場合が多い。
- CDNの徹底解説:仕組みから選定方法まで、ウェブサイトのパフォーマンスを向上させるための究極のガイド
- CDN(Content Delivery Network):その仕組み、導入方法、およびパフォーマンス最適化の徹底解説
- WordPress最適化の究極ガイド:あなたのウェブサイトを飛躍させる20の核心的なテクニック
- 独立サーバーとは、企業や個人が独自に所有し、管理するコンピューターシステムのことです。これには、データを保存したり、アプリケーションを実行したり、インターネットに接続したりするためのハードウェアやソフトウェアが含まれます。独立サーバーは、企業のネットワークやインターネット環境から分離されているため、
- WordPressサイトのパフォーマンスを最適化するための10の重要なコツとベストプラクティス