WP Super Cache

Это плагин страничного кэширования, который сохраняет сгенерированный HTML код страницы в файл и при очередных обращениях к этой странице отдает готовый HTML код. Таким образом нагрузка на сервер снижается в сотни или тысячи раз, потому что PHP вообще ничего не делает.

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

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

Установка WP-CLI пакета

Для этого плагина можно уставновить WP_CLI пакет:

$ wp package install wp-cli/wp-super-cache-cli

Доступные команды:

$ wp super-cache
	usage: wp super-cache disable
	   or: wp super-cache enable
	   or: wp super-cache flush [--post_id=<post-id>] [--permalink=<permalink>]
	   or: wp super-cache preload [--status] [--cancel]
	   or: wp super-cache status

FAQ

Будут ли обновляться комментарии и другие динамические части сайта?

Комментарии будут отображаться, как только они пройдут модерацию, в зависимости от политики комментариев. Другие динамические элементы на странице могут не обновляться, если они не написаны на Javascript. Плагин создает статические html-страницы. PHP не выполняется, когда эти страницы обслуживаются.

Как сделать так, чтобы определенные части страницы оставались динамичными?

Примечание: по умолчанию эта функция отключена. Вам придется включить ее на странице дополнительных настроек.

Есть два способа сделать это. Вы можете использовать Javascript для отрисовки той части страницы, которую вы хотите сделать динамичной. Это то, что делает Google Adsense и многие виджеты с внешних сайтов, и это рекомендуемый способ. Или вы можете использовать фильтр WP Super Cache, но в этом случае вы не сможете использовать режим кэширования mod_rewrite. Нужно будет использовать "простой" (PHP) метод доставки кэша.

В WP Super Cache 1.4 появился фильтр cacheaction под названием wpsc_cachedata. Кэшированная страница, которая будет отображаться, проходит через этот фильтр и позволяет модифицировать её контент. Если страница содержит какой-нибудь placeholder, фильтр может быть использован для замены этого plecaholdr'a на динамически сгенерированный html.

Функция, которая подключается к фильтру wpsc_cachedata, должна быть помещена в файл в папке плагинов WP Super Cache, если вы не используете функцию late_init. Пример такого плагина находится в файле плагина plugins/dynamic-cache-test.php.

Там есть два примера функций. Одна простая функция заменяет строку (или тег), которую вы определяете, когда обслуживается кэшированная страница. Другая функция использует буфер вывода для генерации динамического содержимого. Из-за ограничения в работе PHP код выходного буфера ДОЛЖЕН выполняться до того, как сработает фильтр wpsc_cachedata, по крайней мере, когда страница кэшируется. Это не имеет значения при обслуживании кэшированных страниц. Более техническое и длинное объяснение см. в этом посте.

Для доступа к функциям WordPress нужно включить функцию 'Late init' на странице расширенных настроек.

--

Более подробно о плагине читайте на его официальной странице.

Какой используете плагин страничного кэширования?

  • Добавить ответ