Главная » Wordpress » Скрипты » Скрипт кэширования для wordpress от 12 августа 2010

Скрипт кэширования для wordpress от 12 августа 2010

Posted on : 23-03-2010 | By : Vch54ti | In : Wordpress, Скрипты

275

Как снизить нагрузку wordpress в сотни раз с помощью скрипта кэшрования

Рано или поздно многие сайты сталкиваются с проблемой высокой нагрузки и долгого времени открытия страниц, к примеру как блоги построенные на движке wordpress (заточка скрипта будет идти именно под wordpress)..

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

Суть скрипта кэширования для 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 = панелька такого вида:

my_cache_wordpress

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

Примечание: в таком виде как сейчас скрипт можно подцепить практически к любой cms-ке.

Скачать скрипт кэширования wordpress

Инструкция по установке + небольшое FAQ

Отдельное спасибо за помощь 2PiN за написание части функций изначально примененных начиная с ранних версий скрипта.

Скрипт кэширования бесплатный и не станет платным.

Поблагодарить можно отправив любую символическую сумму на любой из кошельков:

Yandex.Деньги 41001273157068
WMZ Z278627756138
WMR R724672553004

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

  1. PHP Скрипт сжатия и кэширования css и js
  2. php скрипт постинга в wordpress
  3. Статистика SAPE – скрипт на php
  4. Скрипт для добавления надписей на рисунки
  5. Скрипт авторегистрации сайтов в liveinternet

Спасибо Вам за добавление статьи "Скрипт кэширования для wordpress от 12 августа 2010" в:

Добавить в Twitter
Если данная публикация вам понравилась, предлагаю вам подписаться на получение материалов centavrus-opti.ru через RSS ленту, и при желании присоединиться ко мне в Twitter
Рассылка новых публикаций на E-mail

Оставлено комментариев (275)

Если добавить в файл 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:
работает с ним нормально но супер кеш перехватывает иногда – т/е вместо этого кеша иногда срабатывает

Предлагаю оставить комментарий к записи Скрипт кэширования для wordpress от 12 августа 2010

Более ранние статьи из раздела

Скрипт кэширования wordpress:0.2MB/0.01328 sec