Предварительный просмотр темы : Mainstream.      Перейти на основной сайт.

28 августа 2012 ~ Комментарии к записи Кеширование wordpress без плагинов отключены

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

Есть простой способ заставить wordpress работать в разы быстрее без всяких плагинов. Что имеем с этого способа — когда кто-то загружает вашу страничку, то после этого в указанный вами период времени, следущий посетитель будет получать страничку в html. Конечно, многие динамические функции будут плохо работать, но тем не менее, для редко обновляемых сайтов — это самое оно.

Что нужно сделать:

1. Создаем папку в корне сайта, называем её cache и ставим права на неё 777

2. в файле index.php в корне сайта заменяем то, что там есть на этот код

<?php
$filename = 'cache/'.md5($_SERVER['REQUEST_URI']).'.html'; 
 
$cached = false; 
 
if (file_exists($filename)) {
    if ((time()-filemtime($filename))<150000) {
        $cached = true;
    } else {
        unlink($filename);
        $cached = false;
    }
} 
 
if ($cached) {
    readfile($filename);
} else {
    ob_start(); 
 
    // WP
    define('WP_USE_THEMES', true);
    require('./wp-blog-header.php');
    // 
 
    $text = ob_get_clean(); 
 
    $fh = fopen($filename, 'w+');
    fwrite($fh, $text);
    fclose($fh); 
 
    echo $text;
}
?>

Вот собственно и все. В строчке if ((time()-filemtime($filename))<150000) { цифры — это значение времени обновления кеша в секундах.

Комментарии закрыты.