PHPackages                             bvdputte/kirby-fingerprint - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bvdputte/kirby-fingerprint

ActiveKirby-plugin[Utility &amp; Helpers](/categories/utility)

bvdputte/kirby-fingerprint
==========================

Cache-busting utility to fingerprint assets (JS/CSS) in Kirby 3

2.2.5(3y ago)1610.5k↓31.1%3MITPHP

Since Mar 12Pushed 2y ago3 watchersCompare

[ Source](https://github.com/bvdputte/kirby-fingerprint)[ Packagist](https://packagist.org/packages/bvdputte/kirby-fingerprint)[ RSS](/packages/bvdputte-kirby-fingerprint/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (1)Versions (14)Used By (0)

Kirby Fingerprint
=================

[](#kirby-fingerprint)

A little utility to add cache-busting fingerprints to assets (JS/CSS) in Kirby CMS. Re-uses the [`css()`](https://getkirby.com/docs/reference/templates/helpers/css) and [`js()`](https://getkirby.com/docs/reference/templates/helpers/js)-helpers in Kirby as much as possible.

When the files are updated, new hashes are added to the filenames automatically; so browser cache gets busted.

Installation
------------

[](#installation)

- unzip [master.zip](https://github.com/bvdputte/kirby-fingerprint/archive/master.zip) as folder `site/plugins/kirby-fingerprint` or
- `git submodule add https://github.com/bvdputte/kirby-fingerprint.git site/plugins/kirby-fingerprint`
- `composer require bvdputte/kirby-fingerprint`

### Apache .htaccess rules

[](#apache-htaccess-rules)

💡 Add the following to your `.htaccess` file:

```
# Bust browsercache on CSS & JS files
# More info: https://github.com/bvdputte/kirby-fingerprint
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.([0-9a-z]{32})\.(js|css|png|jpe?g|gif|svg|ico)$ $1.$3 [L]

```

Place immediately after the `RewriteBase` definition.

### Nginx rules

[](#nginx-rules)

Add the following to your virtual host setup:

```
location ~ (.+)\.(?:[0-9,a-z]+)\.(js|css)$ {
    try_files $uri $1.$2;
}

```

Usage
-----

[](#usage)

```
css("assets/css/styles.css");
// Output:
js("assets/js/scripts.js");
// Output:
```

Options
-------

[](#options)

1. Disable plugin:

```
// config.php
return [
    'bvdputte.fingerprint.disabled' => true
];
```

2. Use a parameter instead of a hashed filename:

```
// config.php
return [
    'bvdputte.fingerprint.parameter' => true
];
```

This can be useful in situations where you don't want/can work with rewrites (e.g. in Laravel Valet). If possible; [don't use parameters in production environment](https://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/), use hashed filenames instead.

Advanced features
-----------------

[](#advanced-features)

For more advanced features, such as subresource integrity, please checkout [bnomei's kirby3-fingerprint plugin](https://github.com/bnomei/kirby3-fingerprint).

Disclaimer
----------

[](#disclaimer)

This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please [create a new issue](https://github.com/bvdputte/kirby-fingerprint/issues/new).

License
-------

[](#license)

[MIT](https://opensource.org/licenses/MIT)

It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 88.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~108 days

Recently: every ~126 days

Total

13

Last Release

1368d ago

Major Versions

v1.0 → v2.02019-03-21

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/490505?v=4)[Bart Vandeputte](/maintainers/bvdputte)[@bvdputte](https://github.com/bvdputte)

---

Top Contributors

[![bvdputte](https://avatars.githubusercontent.com/u/490505?v=4)](https://github.com/bvdputte "bvdputte (8 commits)")[![marcus-at-localhost](https://avatars.githubusercontent.com/u/1337223?v=4)](https://github.com/marcus-at-localhost "marcus-at-localhost (1 commits)")

---

Tags

hashFingerprintkirby3kirby3-plugincache-bust

### Embed Badge

![Health badge](/badges/bvdputte-kirby-fingerprint/health.svg)

```
[![Health](https://phpackages.com/badges/bvdputte-kirby-fingerprint/health.svg)](https://phpackages.com/packages/bvdputte-kirby-fingerprint)
```

###  Alternatives

[fabianmichael/kirby-meta

Your all-in-one powerhouse for any SEO and metadata needs imaginable.

7011.5k1](/packages/fabianmichael-kirby-meta)[medienbaecker/kirby-modules

Easily add modules to your pages

895.5k1](/packages/medienbaecker-kirby-modules)[bvdputte/kirby-autopublish

Kirby plugin to schedule the automatic publishing of pages on a certain date+time. It is built to work with enabled cache.

359.2k](/packages/bvdputte-kirby-autopublish)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
