Caching query strings
WP Rocket does not cache pages with query strings by default, although there are some very specific exceptions (see below).
A query string is where you have a URL that contains a question mark followed by a parameter and a value, like this:
example.com/page/?country=italy
In this case, country
is the parameter and italy
is the value.
If you want these types of pages to be cached, go to the Advanced Rules settings tab, and add each parameter in the Cache Query String(s) text field (one per line):
When you do this, a dedicated cache file will be generated for each value the parameter country
receives in a URL.
If there are multiple parameters in a URL, as long as one of your specified parameters is present, the page will be cached.
For example, if country
is a cached parameter, the following URL will be cached:
example.com/page/?country=italy&wine=red
Additionally, all special characters included in parameters will be stripped from the box but will still work. For example, if you have a country[]
parameter, the Cache Query String(s) box will only show country
. Despite this setting behavior, the caching will work for URLs such as
example.com/page/?country[]=italy
Special cases
Ignored query string parameters with standard caching
For all of the parameters listed below, WP Rocket will ignore the query string and serve the standard cache file, regardless of any parameter values in the URL. Here’s what that means:
example.com/about-us/?gclid=something example.com/about-us/?gclid=somethingelse // will BOTH receive the cache file from: example.com/about-us/
If you would like to customize the list of ignored parameters, please see this guide.
- Age Verify plugin:
age-verified
- Autoptimize:
ao_noptimize
- AMP:
usqp
- Cookie Notice:
cn-reloaded
- ShareASale:
sscid
ActiveCampaign
vgo_ee
Adobe Advertising Cloud
ef_id
Adobe Analytics
s_kwcid
Bronto
_bta_tid
_bta_c
Dotdigital
dm_i
Facebook:
fb_action_ids
fb_action_types
fb_source
fbclid
Google Analytics and Ads:
utm_source
utm_campaign
utm_medium
utm_expid
utm_term
utm_content
utm_id
utm_source_platform
utm_creative_format
utm_marketing_tactic
_ga
gclid
campaignid
adgroupid
adid
gbraid
wbraid
gad_source
Google Web Stories:
_gl
Google DoubleClick
gclsrc
Google Shopping
-
srsltid
GoDataFeed
gdfms
gdftrk
gdffi
Klaviyo
_ke
_kx
Listrak:
trk_contact
trk_msg
trk_module
trk_sid
Mailchimp:
mc_cid
mc_eid
Marin
mkwid
pcrid
Matomo:
mtm_source
mtm_medium
-
mtm_campaign
mtm_keyword
mtm_cid
-
mtm_content
Microsoft Advertising
msclkid
Pinterest
epik
pp
Piwik Pro:
pk_source
pk_medium
-
pk_campaign
pk_keyword
pk_cid
-
pk_content
Springbot
redirect_log_mongo_id
redirect_mongo_id
sb_referer_host
Please note: A dedicated cache file will be created when the parameters found in the dedicated caching section below or those placed on the Advanced Rules tab referenced above are included in the URL.
URLs with multiple ignored parameters
A query string can also contain multiple parameter/value pairs, chained by &
characters. Example:
example.com/page/?utm_source=this&utm_campaign=that&utm_medium=theother
In cases where you have a mixture of ignored parameters (from the list above) and others not on the list, the page will not be cached. Parameters in the URL must all be present in the ignored list for the page to be cached.
Parameters with dedicated caching
lang
permalink_name
lp-variation-id
For all of the parameters listed above, WP Rocket will serve the dedicated cache file, depending on the parameter values in the URL. Here’s what that means:
example.com/about-us/?lang=english example.com/about-us/?lang=french // will create a dedicated cache file for their parameter/value pairs: ?lang=english ?lang=french
WooCommerce Geolocation Support
In WooCommerce there is the option to enable Geolocation (with page caching support):
When that option is active, WooCommerce appends a query string to each URL, like this:
v=42983b05e2f2
WP Rocket automatically caches those parameters.
Search results (dedicated caching)
The standard parameter for WordPress search results is: s
However, the Cache query strings option will not enable caching for this parameter. To cache search results, please install the helper plugin found here.
Caching query strings and Cloudflare APO
Cloudflare APO is not compatible with the Cache Query String(s) feature unless it's used along with Cache Everything. Please find more information here.