Кеширование на wordpress, WP Super cache и заветное нах*уй

Я очень зол. Зарекался же не прикасаться никогда к вещам с названием «супер» и говнопрессу. Настроил этот чудо супер плагин кеширования, вроде на стороне сервера кеширует всё ок, и движок залетал у меня даже на ЛОКАЛКЕ с i5 + 2гб memory_limit на php. Браво!

Ну да, если мне охота «прогнать» wp на*ер даже с локалки, я понимаю хостеров, отправляющих с этой какашкой клиентов подальше, если у них совсем не кешируется контент и есть более-менее посещалка.

И тут я задался вопросом, какого собственно *уха плагин не кеширует на стороне клиента через Cache-Control? Ведь это первое и самое элементарное, что необходимо настроить при кешировании. Загуглил, и там какой-то п*дор написал, что кеширование должно включаться в wp-config.php константой define( ‘WPSC_CACHE_CONTROL_HEADER’, ‘max-age=3600, must-revalidate’);

Причем сие написал не один урод в гугле и неоднократно. Определил я эту константу в wp-config.php и стал ждать прихода в файле /wp-content/plugins/wp-super-cache/wp-cache-phase2.php(именно он шлет заголовки):

wp cache
wp cache

Прихода не было, как я не старался чистить кеши, и уже собрался было полностью разбирать где и куда какое говно тут включается, инклудится, пока тупо не понял, что константа WPSC_CACHE_CONTROL_HEADER ни х*ра не определена вообще, ибо кеш раньше основного конфига включается. А значит определяется эта константа не в wp-config.php, а в файле /wp-content/wp-cache-config.php Обманули суч*ры. Там же определять и WPSC_VARY_HEADER аналогично.

Кроме того, нагугленные петушары, плели бред про .htaccess который в папке cache, типо папку кеша нужно всё дропнуть вручную, чтобы плагин подхватил наш новый конфиг с константой из wp-config.php и внёс изменения в .htaccess папки кеша Мда… и даже в тексте заголовка, по их рецептам, были лишние пробелы там, где их ставить нельзя: max-age = 3600, так что, если скопируете не внимательно, снова таки, кеширование работать не будет. Хотя чувак по сслыке выше отписал затем в саппорт форуме, что после того как он «поправил» .htaccess(Header set влепил видимо) всё у него заработало))) Походу, он так и не вкурил, что заголовки в плагине шлёт php.

Итак, правильно настраиваем кеш на стороне клиента в WP super cache, в файлике /wp-content/wp-cache-config.php прописываем так:

define('WPSC_CACHE_CONTROL_HEADER', 'max-age=86400, must-revalidate');
define('WPSC_VARY_HEADER', 'Accept-Encoding');

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *