Страница плагина Quicksilver в маркетплейсе OctoberCMS.
О плагине:
Молниеносно-быстрый статичный кэш для вашего сайта, который сохранят страницы как статичные .html
, .xml
, .json
и другие файлы. Плагин будет полезен тем, кто хочет достичь максимальной скорости TTFB от своего сайта, снизить нагрузку на сервер, и повысить привлекательность своего сайта для поисковых роботов.
Багрепорты и PR принимаются только в официальном репозитории плагина по ссылке: https://gitlab.biz-mark.ru/free-plugins/Quicksilver/-/issues
Обсуждения или предложения новых идей принимаются как в официальном репозитории так и на этой странице.
Установка
php artisan plugin:install Biz-Mark.Quicksilver
Опциональная настройка
Откройте .htaccess
в корне вашего проекта и добавьте следующие директивы:
Перед секцией Standard routes
##
## Serve Cached Page If Available
##
RewriteCond %{QUERY_STRING} ^(.)
RewriteRule !^index.php index.php [L,NC]
RewriteCond %{REQUEST_URI} ^/?$
RewriteCond %{DOCUMENT_ROOT}/storage/quicksilver/cache/qs_index_qs.html -f
RewriteRule .? /storage/quicksilver/cache/qs_index_qs.html [L]
RewriteCond %{DOCUMENT_ROOT}/storage/quicksilver/cache%{REQUEST_URI}.html -f
RewriteRule . /storage/quicksilver/cache%{REQUEST_URI}.html [L]
RewriteCond %{HTTP:X-Requested-With} XMLHttpRequest
RewriteRule !^index.php index.php [L,NC]
Закоментируйте следующую строку в секции White listed folders.
RewriteRule !^index.php index.php [L,NC]
Убедитесь что у CMS есть доступ на чтение/запись/удаление папки /storage/quicksilver/cache
Игнорирование кэша для GIT
Не забудьте добавить в свой .gitignore
следующее условие:
/storage/quicksilver/cache
Очистка кэша
Так как кэш сохраняется в виде статичных файлов в файловую систему, при любом изменении исходных данных, вам необходимо чистить этот кэш чтобы изменения были записаны в кэш заново. Для сброса кэша вы можете воспользоваться Виджетом для Дашборда который добавляется нажатием на кнопку “добавить виджет”, или можете выполнить artisan команду в консоли вашего сервера:
php artisan quicksilver:clear
Как дополнительно, можете написать небольшой скрипт для деплоя, который будет чистить кэш страниц при каждом деплое.
Опционально: вы можете удалить кэш определенной страницы, просто добавив к предыдущей команде в консоли ссылку.
php artisan quicksilver:clear {slug}
—
© 2022, Никита Хаецкий, Biz-Mark под лицензией GNU General Public License v2.0.