Отборные материалы о дизайне, seo, 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))<200000) {
        $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))<200000) {      цифры – это значение времени обновления кеша в секундах.

Советую прочитать рекламный журнал

Также, я думаю вы все понимаете, что когда у вас один сайт, то это мало для нормального заработка, а вот если 100 – это гуд. Но как их организовать и монетизировать. Читайте новый seo блог

Похожие статьи:

Обязательно прочтите также и такие интерестные статьи:

.


10 комментариев к “Кешируем wordpress без плагинов!!!”

  1. [...] Наткнулся на статью, в которой написано как самому сделать кэширование страниц в WordPress без использования каких-либо плагинов. Вот ссылка на саму статью. [...]

  2. masterplus пишет:

    Как быть, если у меня на одном дистрибутиве WP и одной БД построено несколько блогов?
    Попробовал, выдает то, что закешировалось первым (главная страница). То есть на сайте
    http://site1.ru отображается http://site2.ru

  3. ETNO пишет:

    если честно – не знаю. Вот профиль человека на серче, который мне подсказал эту штуковину http://forum.searchengines.ru/member.php?u=18095

  4. Елена пишет:

    а я не могу настроить, чтобы мой инф был НАД полем для ввода слов. как вы это сделали? а то мой в виджеты не помещается :( (

  5. Vch54ti пишет:

    на таком же принципе есть скрипт
    http://centavrus-opti.ru/skript-keshirovaniya-dlya-wordpress.html

    с многосайтовыми сборками работает – недавно как раз дописал кусочек кода для этого.

  6. Все вставил как написано.
    Не знаю работает или нет.
    Ошибок по крайней мере не выдает.
    Как проверить можно ?

  7. Дмитрий пишет:

    Есть у этого способа кеширования один огромный минус, папка с кешем увеличивается, до огромных размеров, на больших сайтах, типа моего, у меня на сайте более 3500 страниц и вот в папке с кешем уже более 20000 файлов весом 1гиг, если ставить маленькое время жизни кеша менее 3600 секунд, тогда от кеширования толку нет, идёт постоянная перегенерация файлов в кеше, а это увеличивает нагрузку на сервер, получается не снижение нагрузки а увеличение, я поставил время 10800 секунд, папка с кешем распухла до 1гига и когда подходит время обновления кеша нагрузка на сервере начинает расти иногда даже выпадает в 504 bad gateway, потому что начинается удаление всей этой тучи файлов и создание нового кеша.

    • Vch54ti пишет:

      Дмитрий, надо выбирать именно такое решение, которое подходит вам + очень многое зависит от типа сайта, активности действий пользователей и тп – т/е много факторов – а подобные решения такие как данный метод нужны так скажем немного для другого.

      В вашем случае нужно все таки так скажем искать немног. другое решение имхо…

оставить отзыв