wordpress кэширование без плагина

Кэширование WordPress без плагинов


Кэширование WordPress без плагинов
5 (100%) 1

Первая задача для быстрой загрузки сайта на 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.

Второй способ кэширования без плагинов

Wordpress кэширование страниц без плагинов - фото

Кэширование wordpress без плагина

Качаем этот файл.

Папку 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 и другие.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *