Skip to content

szepeviktor/resource-versioning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Resource Versioning

Turn Query String Parameters into file revision numbers.

It’s important to make resources (images, scripts, stylesheets, etc.) cacheable.

Steve Souders

It is much easier to use a CDN without Query String Parameters. This plugins alters only local resources' URL-s. The ver Query String Parameter will be inserted into the filename.

jquery.min.js?ver=1.10 becomes jquery.min.110.js

To "revert" that change add this line to your nginx config:

server {
    location ~ ^(.+)\.\d\d+\.(js|css|png|jpg|jpeg|gif|ico)$ {
        #try_files $uri $1.$2 /index.php?$args;
        try_files $uri $1.$2 =404;
    }
}

Or to your Apache config or .htaccess file.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.\d\d+\.(js|css|png|jpg|jpeg|gif|ico)$ $1.$2 [NC,L]

Testing the plugin before live usage

You can test the plugin by replacing the two add_filter() calls with this

require_once dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/wp-load.php';
wp();
echo o1_revving_src( $argv[1] ) . PHP_EOL;

Then start it from CLI: php revving.php <TEST-URL>

How to remove all Query String Parameters from resources?

Poorly written plugins and themes may add unwanted Query String Parameters. For example ?rev=4.10.

To drop all these parameters copy this into your wp-config.php

define( 'O1_REMOVE_ALL_QARGS', true );

About

It’s important to make resources (images, scripts, stylesheets, etc.) cacheable.

Resources

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages