Cache rules
A cache rule controls how the edge caches the responses for URLs that match its URL operator. It sets a TTL and, optionally, a set of per-URL location features that override your property-level defaults for the matching requests.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | Yes | Display name. Max length 200. |
pattern | string | Yes | The match value. Max length 500. See match operators. |
matchType | integer | Yes | Equals=0, Contains=1, StartsWith=2, EndsWith=3, Regex=4. |
ttlSeconds | integer | Yes | Cache lifetime in seconds. Default 300 (5 minutes), minimum 0. |
order | integer | Yes | Lower runs first. See how rules work. |
isEnabled | boolean | Yes | Toggle without deleting. |
description | string | No | Optional free-text note. |
featuresJson | string (JSON) | No | Per-rule location features. Max length 5000. See Location features. |
ttlSeconds: 0 effectively bypasses the cache for matching requests — nothing is stored. Use it to force matching URLs (for example, a cart or checkout path) to always go to the origin.
Example
Cache everything under /static/ for one hour. In the property's Rules tab, click Add cache rule and set:
- Pattern:
/static/— Starts with - TTL:
3600(1 hour)
Then expand Location Features (Optional) to fine-tune just these URLs (see below).
Location features
Location features override your property-level defaults for the URLs this rule matches. In the panel they live under a collapsible Location Features (Optional) panel — set only what you want to override.
| Option | Shape | Purpose |
|---|---|---|
bypass_cookies | array of cookie names | If any listed cookie is present on the request, the cache is bypassed (for example, a logged-in session cookie). |
cache_key | object | Customizes what goes into the cache key. |
cache_key.include_query_string | boolean | Include the query string in the cache key. |
cache_key.include_headers | array of header names | Add these request headers to the cache key (for example, Accept-Language). |
cache_key.include_cookies | array of cookie names | Add these cookies to the cache key. |
minification | object | Minify matching responses. |
minification.html | css | js | boolean | Enable minification per content type. |
webp | object | Auto-convert images to WebP. |
webp.enabled | boolean | Turn WebP conversion on. |
webp.quality | integer | WebP quality, 1–100, default 80. |
webp.only_if_smaller | boolean | Only serve WebP when it is smaller than the original. |
Listing your CMS session cookie (such as wordpress_logged_in) under bypass_cookies keeps anonymous visitors on the fast cached path while logged-in users always see fresh, personalized pages. See the WordPress examples for a full setup.
Next steps
- WordPress rule examples — real cache-rule setups including bypass cookies.
- Match operators — pick the right operator for your URLs.
- API reference — full request and response schemas.