Product support

Read the plugin support instructions.


This page in Russian with all instructions.

Static files cache system

Lightning-fast cache system that converts your website page to static HTML files. Super useful for anyone who wants their static website to be faster.


This plugin caches every route that opens by GET parameter with 200 response code. Except for every URL that is matching your 'backendUri' defined in config/cms.php.

Please be aware that if you didn't isolate sensitive information that is unique to user (phone number, email and etc) it can be cached and everyone else will see this information.

Suggestions and ideas

We are open to your suggestions and ideas in public repository of this plugin GitHub

© 2021, Biz-Mark under the MIT license.

Adaptation for OctoberCMS by Nick Khaetsky at Biz-Mark.

Russian OctoberCMS developer community OctoClub.ru


Open Settings in the control panel of your OctoberCMS website. Go to Updates & Plugins and in search bar type "Quicksilver". Install it by clicking on the icon.


  1. Open .htaccess and add the following before Standard routes section
    ## Serve Cached Page If Available
    RewriteCond %{REQUEST_URI} ^/?$
    RewriteCond %{DOCUMENT_ROOT}/storage/page-cache/pc__index__pc.html -f
    RewriteRule .? /storage/page-cache/pc__index__pc.html [L]
    RewriteCond %{DOCUMENT_ROOT}/storage/page-cache%{REQUEST_URI}.html -f
    RewriteRule . /storage/page-cache%{REQUEST_URI}.html [L]
    RewriteCond %{HTTP:X-Requested-With} XMLHttpRequest
    RewriteRule !^index.php index.php [L,NC]

or for nginx

location = / {
    try_files /storage/page-cache/pc__index__pc.html /index.php?$query_string;
location / {
    try_files $uri $uri/ /storage/page-cache/$uri.html /storage/page-cache/$uri.json /index.php?$query_string;
  1. Comment out following line in White listed folders section.

    RewriteRule !^index.php index.php [L,NC]
  2. Be sure that plugin can create/write/read "page-cache" folder in your storage path.

Ignoring the cached files

To make sure you don't commit your locally cached files to your git repository, add this line to your .gitignore file:


Clearing the cache

Since the responses are cached to disk as static files, any updates to those pages in your app will not be reflected on your site. To update pages on your site, you should clear the cache with the following command:

php artisan page-cache:clear

As a rule of thumb, it's good practice to add this to your deployment script. That way, whenever you push an update to your site the page cache will automatically be cleared.

If you're using Forge's Quick Deploy feature, you should add this line to the end of your Deploy Script. This'll ensure that the cache is cleared whenever you push an update to your site.

You may optionally pass a URL slug to the command, to only delete the cache for a specific page:

php artisan page-cache:clear {slug}

Customizing what to cache

By default, all GET requests with a 200 HTTP response code are cached. If you want to change that, create your own middleware that extends the package's base middleware, and override the shouldCache method with your own logic.


<?php namespace Acme\Plugin\Middleware;

use Request;
use Response;

use BizMark\Quicksilver\Classes\Middleware\CacheResponse as BaseCacheResponse;

class CacheResponse extends BaseCacheResponse
    protected function shouldCache(Request $request, Response $response)
        // In this example, we don't ever want to cache pages if the
        // URL contains a query string. So we first check for it,
        // then defer back up to the parent's default checks.
        if ($request->getQueryString()) {
            return false;

        return parent::shouldCache($request, $response);

Update the Plugin.php of BizMark\Quicksilver and pass your new CacheResponse class to pushMiddleware() method.

Don't forget to freeze all updates of Quicksilver plugin at settings of your OctoberCMS website. Otherwise all your changes in Plugin.php file will be overwritten by next update from marketplace.

© 2019, Biz-Mark under the MIT license.

Developed by Joseph Silber, adapted for OctoberCMS by Nick Khaetsky at Biz-Mark.

  • Found the plugin useful on 5 Dec, 2021

    The plugin is very good! Now I score 98 points in the Google test =)

  • author

    Replied on 5 Dec, 2021

    Thanks for the review! We are happy that your pagespeed rank is so high!

  • Found the plugin useful on 22 Nov, 2021

    This is an excellent plugin.

    For static type sites such as blogs, news etc this will greatly reduce running costs and will ensure there is no collapse under a surge of users (Reddit share etc).

    I have previously implemented the same functionality using the Nginx fast cgi cache but this achieves a similar benefit but with minimal configuration.

    Great job, and thanks!

  • author

    Replied on 23 Nov, 2021

    Thanks for your review! We glad that our plugin helped you in your project!

  • Found the plugin useful on 3 Apr, 2021

    This is really awesome plugin. Simple but do the job in the best way. Once it saved my server from unexpected traffic, before using this plugin load average was over 20 of 6 maximum, and all another apps and sites on this machine works in impropper way. Even caching all data in Radis don't really helped. But when I setup this plugin, all goes fine. Thanks for this plugin!

  • author

    Replied on 3 Apr, 2021

    Thanks for review! We are happy that our plugin helped you with unexpected traffic!

  • Found the plugin useful on 6 Jan, 2020

    OMG! This is very cool! This plugin saved me from torment! Thanks!

    sorry a lot of emotions

  • author

    Replied on 9 Jan, 2020

    We are pleased to know that our plugin helped you! Thank you for using it!


Auto clearing default caches, refactoring

Sep 16, 2021


Added support for exceptions and the ability to disable some pages from the cache

Dec 09, 2020


!!! Query strings filtering for dynamic pages.

Nov 21, 2019


Minor fixes

Nov 21, 2019


Fixing typo in russian localization

Nov 20, 2019


!!! New ReportWidget for dashboard that allows quiclky purge pages cache and october cache.

Nov 20, 2019


Fixing backend opening error

Oct 09, 2019


!!! Ajax requests now work properly on cached pages. Place new code in your htaccess like in documentation

Aug 19, 2019


Note about AJAX on cached pages in README

Aug 19, 2019


!!! Updated configuration section in README. To actually use power of this plugin please configure it.

Jul 12, 2019


Removed routes.php file

Jul 12, 2019


First version of Quicksilver

Jul 02, 2019

Upgrade guide

Upgrading To 1.3

Open your .htaccess file, and replace old section of "serving cache rules" with new from documentation

If you edited this section, or don't want to replace whole section, you need to add this two lines right after section headline.

RewriteCond %{QUERY_STRING} ^(.)
RewriteRule !^index.php index.php [L,NC]

Upgrading To 1.4

if you have 1.3 version, just delete this two rows in .htaccess of your project

RewriteCond %{QUERY_STRING} ^(.)
RewriteRule !^index.php index.php [L,NC]

Upgrading to 2.0

If you used the \Quicksilver\Classes\Cache object directly, you must replace its use with an interface call via di. ::make(BizMark\Quicksilver\Classes\Contracts\Cache::class);

If you used the plugin as standard without changes, no changes are required!