Simple but useful Page Cache Plugin.
With this plugin you can create static HTML files of your entries.
This plugin requires Craft CMS 4.x.
To install the plugin, follow these instructions.
- Open your terminal and go to your Craft project:
cd /path/to/project
- Then tell Composer to load the plugin:
composer require suhype/craft-pagecache
- In the Control Panel, go to Settings → Plugins and click the “Install” button for Page Cache.
Page Cache is a Craft CMS plugin which can create static HTML files of your entries.
Go to Settings → Page Cache to setup the basic configuration options:
- Enabled caching: Enable or disable the caching. Note: you need to delete the cache manually.
- Optimize HTML: Minify and optimize HTML. Use with caution!
- Enable gzip compression: Serve gzip compressed cached files.
- Enable brotli compression: Serve brotli compressed cached files. Only works if the PHP brotli extension is installed.
- When globals are saved: Choose what happens when globals got saved. Choose between "Renew cache", "Recreate cache (delete query)", "Delete cache"
- Excluded URL's: Define URL's which should not be cached (regex possible).
- Cache folder path: Define a custom path, where cached files should be stored. Aliases (like
@webroot
) allowed.
To speed up your page even more you can add rewrite rules for .htaccess, nginx and apache. You can use the examples for .htaccess (with and without gzip/brotli compression):
- resources/rewrite-rules/.htaccess.example
- resources/rewrite-rules/.htaccess.example.br
- resources/rewrite-rules/.htaccess.example.gzip
The brotli and gzip compressions can be used together, separately or not at all. Just make sure to add them before the normal rewrite rules
- Go to Settings → Page Cache
- Enable caching and optionally customize the settings
- As soon as a user visits a page, it got's cached.
- Optional: go to Entries, mark all cachable entries (→ entries with URL's), and Choose Create/Renew cache
- Go to Utilities → Caches
- Select Page Cache
- Click on Clear caches
Clear the whole page cache (this is the same as under Utilities):
php craft clear-caches/pagecache
Recreate existing page caches:
# Run `php craft pagecache/recreate --help` to see the possible arguments
php craft pagecache/recreate
Some things to do, and ideas for potential features:
- Add entry action to exclude entries
- Add config option to include URL's
Brought to you by Benjamin Ammann