# Exclude Pages From LiteSpeed Cache by Rule

> Marks chosen pages as not cacheable in LiteSpeed Cache from code, for example pages with a personalised widget, a query parameter or for visitors with a specific cookie.

- Type: PHP
- Runs: Frontend cl
- Category: [Plugin Integrations](https://wpide.com/library/category/integrations/)
- Tags: litespeed, cache, exclusions
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/litespeed-nocache-pages/

## Code

```php
$wpide_pages   = array( 'quote', 'booking' );  // Page slugs or IDs.
$wpide_params  = array( 'preview_token' );     // Query parameters.
$wpide_cookies = array( 'wpide_personalised' ); // Cookie names.

add_action( 'template_redirect', function () use ( $wpide_pages, $wpide_params, $wpide_cookies ) {
    if ( ! defined( 'LSCWP_V' ) ) {
        return;
    }

    $reason = '';

    if ( $wpide_pages && is_page( $wpide_pages ) ) {
        $reason = 'wpide page rule';
    }
    foreach ( $wpide_params as $param ) {
        if ( isset( $_GET[ $param ] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
            $reason = 'wpide query rule';
        }
    }
    foreach ( $wpide_cookies as $cookie ) {
        if ( isset( $_COOKIE[ $cookie ] ) ) {
            $reason = 'wpide cookie rule';
        }
    }

    if ( $reason ) {
        do_action( 'litespeed_control_set_nocache', $reason );
    }
} );
```

## Notes

Edit the three lists; any match marks the page as non-cacheable for that request.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Exclude Pages From LiteSpeed Cache by Rule" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
