WPML多言語サイトでMemcacheを有効にすることで、速度とパフォーマンスを向上させることができます。
多言語サイトはデータベースクエリに大きく依存することがよくあります(少なくとも現時点では)。Memcachedを使用すると、WordPressの標準的な非永続キャッシュを永続キャッシュに置き換えることで、サイトのパフォーマンスを大幅に向上させることができます。
サーバーでのMemcachedプラグインの使用方法
SiteGroundホスティングサービスは、クライアント向けにSG Optimizerプラグインを提供しています。このプラグインは他のホスティングプロバイダーでは機能しませんが、そのコンポーネントの1つを使用してサイト用に設定することは可能です。
唯一の要件は、サーバーがMemcachedをサポートしており、PHP拡張機能がインストールされていることです。
インストール
SG Optimizerプラグインから次のファイルをダウンロードします: https://plugins.svn.wordpress.org/sg-cachepress/trunk/templates/memcached.tpl
名前をobject-cache.phpに変更し、wp-contentフォルダーにアップロードします。
設定
SiteGroundは、SG Optimizerプラグインを使用して正しいホストとポートを自動的に設定します。ただし、object-cache.phpファイルを編集して、これを手動で行う必要があります。
object-cache.php内のコンストラクターを探し、$memcached_serversを正しく設定します。
object-cache.php内のコンストラクター
$memcached_servers = array( 'default' => array( '@changedefaults@' ) );
@changedefaults@をサーバーのポートに変更します。この詳細はホスティングプロバイダーから提供されます。
たとえば、最終的な設定は次のようになります。
最終的な設定例
$memcached_servers = array( 'default' => array( 'memcached:11211' ) );
以上です。この実装後、オブジェクトキャッシュは永続的になります。これにより、後続のページリクエストでキャッシュされたデータが再利用されるようになり、WPMLおよびWordPressサイトのパフォーマンスが大幅に向上します。
デバッグ
デバッグ目的で、テーマのfunctions.phpファイルに次のスニペットを追加すると、Memcachedのアクティビティに関する情報が表示されます。
デバッグ
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
add_action( 'wp_footer', function() {
$GLOBALS['wp_object_cache' )->stats();
} );
}