Exclude URLs from being preloaded
If required, URLs and groups of URLs can be excluded from being processed by the Preload feature. You can do this by using the exclusion box or using a filter.
Exclude URLs with the exclusions box
You can exclude URLs from being preloaded by using the Exclude URLs exclusion box, shown below:
Note:this will prevent URLs from being preloaded but not cached. To prevent pages from being cached, please check the disable cache for specific pages article.
You can use wildcards to exclude multiple URLs, such as in the examples below:
- /author/(.*)
- /color-(.*)
Programmatically exclude URLs from the Preload
You can use the rocket_preload_exclude_urls
filter to programmatically exclude URLs from being preloaded.
This can be useful to exclude groups of URLs based on a condition from being preloaded.
Example
With the following snippet you can exclude products with the sold-out category from being added to the preloading queue.
function no_preload_for_sold_out_products( array $regexes ) : array { $excluded_categories = array( 'sold-out', ); $new_regex = $_SERVER['REQUEST_URI']; if(!is_singular('product')) { return $regexes; } if ( ( !has_term( $excluded_categories, 'product_cat' ) ) ) { return $regexes; } $regexes[] = $new_regex; return $regexes; } add_filter( 'rocket_preload_exclude_urls', 'no_preload_for_sold_out_products');
You can insert snippets to your site as shown here.
Programmatically limit the Preload to certain URLs
Alternatively, you can use the rocket_preload_exclude_urls
filter to limit the Preload only to certain URLs.
Example
The following example snippet can be and used to preload only the https://example.org/url1
and https://example.org/url2
URLs, and will exclude any other URL from being preloaded:
add_filter( 'rocket_preload_exclude_urls', function( $regexes, $url ) { $inclusion_list = [ 'https://example.org/url1', 'https://example.org/url2', ]; if ( ! in_array( $url, $inclusion_list, true ) ) { $regexes[] = $url; }
Programmatically limit the Preload to a sitemap
The rocket_preload_exclude_urls
filter can also be used to limit the Preload to a sitemap.
You can use the following helper plugin for this:
๐ฅ Download (.zip): WP Rocket | Only preload URLs in a sitemap
Developers: You can find the code for this plugin on GitHub.
๐ Manual code edit required before use!
- After downloading the plugin ZIP file, unzip it and open the PHP file in a text editor.
- On line 20, replace
https://www.example.com/sitemap_index.xml
with your custom sitemap URL. - After making your edits, save the PHP file and re-zip the plugin.
- In your WordPress site, go to Plugins > Add New > Upload Plugin and upload the ZIP file.
- Activate the helper plugin.
Next time Preload runs, it will be limited to the URLs in this sitemap. All the other URLs will be excluded from the Preload, and will be cached only after a visit.