Скрипт кэширования для wordpress от 12 августа 2010
Posted on : 23-03-2010 | By : Vch54ti | In : Wordpress, Скрипты
275
Сразу скажу, что данный скрипт кэширования будет работать не на уровне плагина – т.е. по сути встраиваться в обход движка.
Суть скрипта кэширования для wordpress – скрипт создает статические страницы для снижения нагрузки вызываемой wordpress-ом. За счет того, что страницы посетителям сайта отдаются кэшированные – потребление ресурсов сервера сводится к минимуму – т.е. практически до уровня статического сайта (0 MySQL запросов, 0.1(0.2) Мб php памяти, время открытия страниц – доли секунды..)
Минусы скрипта кэширования – динамические вещи перестанут работать (т.к. страница обрабатывается 1 раз при первом посещении, после чего страница при открытии отдается уже из кэша). (p.s. не путать в данном случае динамический код с javascript-ом, к примеру как счетчик liveinternet – код написанный на javascript есс-но не закэшируется и будет работать как надо).
На текущий момент сделано:
1) В папке cache файл ignore_url.php (в него записывается список стоп строк для урлов – если в урле есть строка из этого файла – то страница не будет кэшироваться)
2) При отправке комментария сбрасывается кэш страницы с которой отправлен комментарий
3) Весь кэш по умолчанию в скрипте сбрасывается через урл ваш_сайт/reset (можно изменить)
4) Кэширование для залогиненных пользователей не производится
5) Удаление просроченного кэша (не всего, а только просроченной страницы – время можно менять)
6) Удаление куков (для формы комментирования) перед кешированием
7) Не кэшируются страницы с параметрами (страницы вида ?id=1&test=wet&id) – работает только с ЧПУ (если у вас не включено ЧПУ – то этот функционал можно отключить)
8) Страницы с 404 ошибкой не кэшируются (что бы не плодить кучу ненужных файлов в кэше)
9) Можно задать время через которое весь кэш будет очищаться.
10)В папке my_cache есть файл setup.php он предназначен для пользовательского редактирования – т.е. в нем задается время через которое будет признан кэш страницы просроченным, урл для сброса всего кэша и т.п.
В комлекте идут плагины для всех желающих:
Js_commentator_field_cache = автоматическом «вспоминание комментатора» – что бы не было пустых полей потом у комментаторов – а автоматические вводились их данные…
My_cache_panel = панелька такого вида:

Панелька вынесена в отдельный плагин – т.к. ей практически никто не пользуется.
Примечание: в таком виде как сейчас скрипт можно подцепить практически к любой cms-ке.
Скачать скрипт кэширования wordpress
Инструкция по установке + небольшое FAQ
Скрипт кэширования бесплатный и не станет платным.
Поблагодарить можно отправив любую символическую сумму на любой из кошельков:
Yandex.Деньги 41001273157068
WMZ Z278627756138
WMR R724672553004
Похожие статьи:
- PHP Скрипт сжатия и кэширования css и js
- php скрипт постинга в wordpress
- Статистика SAPE – скрипт на php
- Скрипт для добавления надписей на рисунки
- Скрипт авторегистрации сайтов в liveinternet

Если добавить в файл functions.php текущей темы следующий код, то при редактировании, публикации новых постов кеш главной будет сбрасываться автоматом.
Вот код:
function reset_home_page() {
$dir = (realpath(dirname(__FILE__).’/../../..’) . ‘/my_cache/cache/’);
$url = $_SERVER['HTTP_HOST'].’/';
$filepath = $dir . md5($url); //путь к файлу закэшированной страницы
if (file_exists($filepath)) {
unlink($filepath);
}
}
add_action (‘save_post’, ‘reset_home_page’);
@ Victor Petryk:
Спасибо за доработку. Сегодня постараюсь успеть добавить это в мануал по установке и сделаю плагин для тех, «кому лень» ручками править файл.
единственное, в новой версии:
if (!$my_cache_no && !is_404()) add_cache_page(«http://».$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], ob_get_flush());
т/е http нужно дописать будет.
Кстати для тех, кому интересно:
Действие Описание Параметры функции плагина
Edit_post Вызывается при изменении записи или страницы (включая добавление или удаление комментариев) ID записи или страницы
publish_post Вызывается при публикации записи или при редактировании уже опубликованной заметки ID записи
save_post Вызывается при сохранении или обновлении записи или страницы ID записи или страницы
delete_post Вызывается при удалении записи или страницы ID записи или страницы
comment_post Вызывается после добавления нового комментария в базу данных ID комментария и его статус («spam», 0 – отклонен, 1 – одобрен)
edit_comment Вызывается после изменения комментария в базе данных ID комментария
delete_comment Вызывается перед удалением комментария из базы данных ID комментария
switch_theme Вызывается при изменении текущей темы Название новой темы
wp_login Вызывается при входе пользователя в систему Нет
wp_logout Вызывается при выходе пользователя из системы Нет
Если это реально работает, то не мешает ли плагин WP Super Cache?
@ Chief:
работает с ним нормально но супер кеш перехватывает иногда – т/е вместо этого кеша иногда срабатывает