Первая задача для быстрой загрузки сайта на wordpress — это лёгкость темы: она не должна быть перегружена лишним кодом, поэтому для хорошего проекта я не советую использовать готовые темы.
Но сейчас речь о другом — кэширование wordpress страниц стайта.
Одним из лучших бесплатных плагинов кэширования на данный момент я считаю «WP super cache», но сейчас хотел бы предложить вам варианты полного кэширования вордпресс.
Одним из самых простых способов является замена кода в корневом файле index.php на:
<?php
$start = microtime();
$filename = 'cache/'.md5($_SERVER['REQUEST_URI']).'.html';
$cached = false;
$time = 4 * 60 * 60;
// Время кеша в секундах (4*60*60 = 4 часа)$stat = 0;
// Установите 1 для вывода времени загрузки страницы (по умолчанию 0)
if (file_exists($filename)) {
if ((time()-filemtime($filename))<$time)
{
$cached = true;
} else
{
unlink($filename);
$cached = false;
}
}
if ($cached) {readfile($filename);
} else {
ob_start();
// WPdefine('WP_USE_THEMES', true);
require('./wp-blog-header.php');
//$text = ob_get_clean();
$fh = fopen($filename, 'w+');
fwrite($fh, $text);
fclose($fh);
echo $text;
}
$finish = microtime();
if ($stat==1) echo $finish-$start;
?>
Потом надо создать в корне сайта папку cache с правами 777.
Второй способ кэширования без плагинов
Качаем этот файл.
Папку mycache закачиваем в корень сайта.
Затем в папке mycache находим папку cache и ставим права 777.
В папке check находим единственный файл и ставим на него права 777.
Затем идём в корневой файл index.php (не темы, а движка) и в начале прописываем:
require('my_cache/my-cache.php');
if (my_cache()) return;
В самый конец вставляем:
my_cache_end();
После этого в корне сайта открываем файл wp-comments-post.php
идём в самый конец кода и перед строкой wp_redirect($location); прописываем:
$dir = realpath(dirname(__FILE__)) . '/my_cache/cache/'; // файлы кеша
$filepath = $dir . md5(get_permalink ($comment->comment_post_ID));
if (file_exists($filepath))
{
unlink($filepath);
}
$filepath = $dir . md5($location);
if (file_exists($filepath))
{
unlink($filepath);
}
Настройки интервала хранения кэша находятся в файле setup.php
Плюсы этих двух способов: простота внедрения и очень хорошие показатели загрузки сайта.
Минусы: При публикации комментария — он не появится сразу на сайте (для этого надо будет обнулить кеш). Также возможны проблемы с работой счётчиков посещаемости.
Проблему с комментариями можно легко решить, если вы используйте виджет комментариев социальных сетей вроде HyperComments, Cackle и другие.