SQLite Cache WordPress Plugin

Provides SQLite cache storage engine that is applied before WordPress core load. Does not create multiple html files but stores all pages in one file. Dozens of sites on the same webserver may use common SQLite storage. Compatible with WordPress Multisite. Requires PHP SQLIte PDO.

Download from WordPress.org

 

Плагин WordPress SQLite Сache позволяет существенно ускорить загрузку страниц сайта путём создания статических копий страниц. В отличие от известных плагинов кэширования W3 Total Cache и Super Cache (они тоже создают готовые html-копии страниц, которые затем хранятся в в виде статических файлов), плагин SQLite Сache хранит данные в базе данных SQLite — то есть в одном-единственном файле.

Когда посетитель или поисковый робот запрашивает страницу, сначала проверяется, есть ли эта страница в базе данных, и если да, то она выдаётся браузеру, и скрипт тут же заканчивает работу — ни ядро вордпресс, ни файлы плагинов и тем не исполняются, за исключением самого первого файла — модифицированного index.php, в начале которого добавлена строчка, подключающая скрипт кеширования.

Хотя Total Cache и Super Cache отдают готовые страницы на уровне сервера — то есть при их использовании php код вообще не вызывается, скрипт, извлекающий страницу из базы SQLite, срабатывает очень быстро — за сотые или тысячные доли секунды. Чтобы сравнить скорость формирования страниц с плагином и без, на странице настроек плагина можно отметить пункт «Показывать время выполнения», и тогда в самом низу страницы будет показано время, за которое была создана страница: при первом вызове, когда страницы ещё нет в базе данных, время исполнения, в зависимости от мощности сервера и сложности страниц (наличия виждетов, комментариев, использования плагинов), будет секунды или десятые доли секунды, а при втором и следующих запросах время исполнения будет в десятки или сотни раз меньше, благодаря тому, что вордпресс не вызывается.

После того как вы потестировали эффективность работы плагина, не забудьте отключить пункт «Показывать время выполнения», а затем почистить кэш.

Обратите внимание: кэширование не используется для авторизованных (т. е. залогиненных) пользователей, для посетителей, оставивших комментарий, для сайтов, использующих механизм сессий (например, интернет-магазинов, хранящих содержимое корзины в глобальном массиве $_SESSION).

В частности, когда вы тестируете работу плагина, имеет смысл работать в одновременно в двух браузерах: в одном вы, как администратор сайта управляете настройками плагина, а в другом, как незалогиненный посетитель, смотрите результат.

Кэширование не работает для страниц, содержащих .php в URL (например, вида /index.php?p=123 или /index.php?page_id=123).

Более того, плагин позволяет использовать одну и ту же базу данных для множества сайтов, расположенных в одном аккаунте хостинга — для этого просто нужно указать один и тот же путь к базе данных. В частности, это очень удобно при использовании WordPress Multisite. Таким образом, вместо создания тысяч статических файлов в качестве хранилища кэш используется только один файл.

После обновления информации на сайте — добавления или редактирования записей, страниц, комментариев, изменения виджетов, переключения тем или изменениях настроек темы — то есть после любых событий, в результате которых происходят какие-либо изменения на страницах, желательно вычистить из кэш их устаревшие копии — для этого на странице настроек плагина есть форма «Очистить кэш для домена».

Страницы, кэширование которых нежелательно (например, страница с контактной формой и капчей), можно исключить при помощи поля настроек исключения.

Обязательно необходимо задать срок годности кэш — время, через которое созданные копии страниц устаревают. После истечения этого срока при заходе на страницу будет создана новая версия. Если срок годности не задан — кэширование не будет действовать.

Для тех, кто использует WordPress самостоятельно, а также для администратора WordPress Multisite, кроме указания пути к базе данных SQLite, имеется также возможность включить-отключить сжатие данных, хранящихся в базе. Файл SQLite не нужно создавать вручную — он создаётся при самом первом сохранении настройки пути.

3 комментария на «SQLite Cache WordPress Plugin»

  1. Привет! У меня ВП на SQlite полностью, для хостинга на шаредах. работает, хочу еще и кеш. Твой вроде бы лучше остальных работает, но вот что отмораживает, так это необходимость вручную пропиывать всякие там странные вещи и инклуды в конфиг. Почему было бы не сделать это проще, чтобы само? А лучше некие дефолтные настройки сделать чтобы сразу без бубна работало. А то у меня много сайтов, я эталонный сайт со сконфигурированными плагинами переношу на другие домены, и каждый раз гимор с прописыванием новых путей. Это немного отмораживает. :) Не подумаешь над тем как это поправить?

  2. Вот я попробовал малость поправить код, в index.php написал

    define(‘LITECACHE_PATH’, (dirname( __FILE__ ) . ‘/wp-content/plugins/sqlite-cache/cache’));
    include_once (dirname( __FILE__ ) . ‘/wp-content/plugins/sqlite-cache/lite-cache.php’);

    При этом кеширование работает (судя по циферкам в коде в самом низу) но плагин ругается что надо в index.php добавить всяко разно в явном виде. Ну хоть так…

    ЗЫ я не программер, я лошара, так что сорри если сделал глупость. :)

  3. Не подумаешь над тем как это поправить.
    Карл, суть плагина как раз в том, что если в базе SQLite уже хранится готовая страница, то вордпресс вообще не подключается. :) Именно для этого и нужен include в index.php.

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