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

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

Опубликовано: 23-03-2010 | Автор : Vch54ti

452

Рано или поздно многие сайты сталкиваются с проблемой высокой нагрузки и долгого времени открытия страниц, к примеру как блоги построенные на движке 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

Обсуждение и модификации скрипта на форуме

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

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

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

Алекс написал:

если кому интересны результаты моего исследования то вот они)) : WP-PostRatings не поддерживает, но повторно проголосовать не получится ( будет писать вы проголосовали) kk Star Ratings до сброса кеша перегружая стр. можно голосовать сколько хочешь. GD Star Rating поддерживает. но громоздок и есть какие то свои баги. например рейтинг вставленный вручную с помощью шорт кода постоянно через время аннулируется. может конечно чего то не понимаю. буду рад если кому помог

с Шорткодом все ок. но не нашел как сделать рейтинг главной страницы( то есть той которая без ID

например рейтинг вставленный вручную с помощью шорт кода постоянно через время аннулируется.

с шорткодом все ок. но не нашел как сделать рейтинг главной страницы

@ Андрей:
отпиши плиз на почту мне баг

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

Это теория, а на практике ищу второй день ))

А как сделать так чтобы кэш отдавался всем зареганным пользователям кроме списка исключения (вписанные по id или логинам) ?

Такое расширение функционала кому нужно? Мне это было бы полезным — отдаешь залогиненым пользователям кэш, кроме например личной страницы, личного кабинета и т.п.

Встает вопрос в безопасности — чтобы кэшировало, но без куков авторизованного пользователя.

@ Otshelnik-fm:
Мне тоже интересен такой функционал потому что 100 залогиненых юзеров могут положить сайт. И их бы отделить от админа и редактора.

Еще очень не хватает в добавок к списку ignore_url.php
списка линков с таймером автоматического сброса кеша именно этой страницы, например главную страницу при частом обновлении сайта можно обновлять раз в 5-15 минут автоматом, также можно поступать еще с несколькими разделами. Выставить таймаут и ок.

PS: Когда как все остальные страницы особенно внутренние можно раз в сутки обновлять.

PS: Проблема комментариев сейчас вообще просто решается, установкой дискуса или HyperComments.

@ Jony:
Жаль что в развитии этого скрипта тишина. Очень перспективный скрипт.

Подскажите, как можно исключить кеширование заходов с мобильных?

После установки скрипта исчезает мобильная версия сайта, можно это как-то обойти? Перепробовала несколько видов плагинов создания мобильных версий, но ни одна не работает со скриптом.

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

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