Вы можете включить Memcache для Вашего многоязычного сайта на WPML и повысить его скорость и производительность.
Многоязычные сайты часто сильно зависят от запросов к базе данных, по крайней мере на данный момент. Использование Memcached может значительно повысить производительность сайта за счет замены стандартного непостоянного кеша WordPress на постоянный.
Как использовать плагин Memcached на Вашем сервере
Хостинг SiteGround предоставляет своим клиентам плагин SG Optimizer. Хотя этот плагин не работает на других хостингах, Вы все равно можете использовать один из его компонентов и настроить его для своего сайта.
Единственные требования — Ваш сервер должен поддерживать 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();
} );
}