A rule has one or more conditions on the address or the bot, and an action. It can apply to all your sites or one (with its subdomains). How many rules you can have depends on the plan (Plans and limits).
Conditions
They compare, case-insensitively, against the full address unless stated otherwise:
| Condition | Example |
|---|---|
| Equals, Not equal | https://mysite.com/pricing |
| Contains, Doesn't contain | /admin |
| Starts with, Doesn't start with | https://mysite.com/blog |
| Ends with, Doesn't end with | .pdf |
| Matches pattern (*) | /blog/* or /*.pdf (* = any text, ? = one character). If it starts with http it's compared with the full URL; otherwise with the path and query. It must cover the whole text. |
| Regular expression | /(admin|account)/ |
| Has query parameter | preview, page=2 or filter_* |
| Bot is | GPTBot, Googlebot, facebookexternalhit (searched within the user agent) |
With Add condition you add up to 9 more and choose whether all (AND) or any (OR) must match.
Actions
| Action | What it does |
|---|---|
| Exclude | The address isn't rendered (the integration serves your normal website). |
| Only include | If a site has rules of this kind, only addresses matching one of them are rendered; the rest are excluded. |
| Cache days | How many days until recache (0 to 365; 0 = never), above the site and account. |
| Render settings | Maximum time, device and page-ready selector just for those addresses. |
| Ignore parameters | Removes parameters from the address before looking it up and rendering it, so variants share one page: sessionid, sort, filter_*. |
| Remove elements | CSS selectors, one per line (up to 20), removed from the HTML before saving: cookie banners, chats, pop-ups. |
| Inject into <head> | meta, link, title or JSON-LD tags to add. They replace those the page already has with the same name or property, and its title or canonical. |
| Force status | The bot gets 200, 301, 302, 404 or 410 instead of the page's code (with 301 or 302, «Redirect to»). Applied when rendering: recache the pages you already had. |
| Block | The bot gets a 403. Combine it with «Bot is» to block, for example, CCBot. |
Order of evaluation
- First the site's Only include rules: if there are any, the address must match at least one or it's excluded.
- Then the rest, from lowest to highest priority (0 to 9999, 100 by default); with equal priority, in creation order.
- Exclude and Block end the evaluation. Ignore parameters changes the address for the following rules. Cache days, Render settings and Force status keep the value of the first rule that sets them. Remove elements and Inject add up.
- A rule with Stop here cuts off: the following ones don't apply.
Templates and examples
When creating a rule you can start from a template:
- Exclude /admin and /account: pattern
/admin*or/account*. - Ignore sort and view parameters:
sort, order, orderby, view. - Remove cookie banner:
#onetrust-banner-sdk,#CybotCookiebotDialog,#cookie-notice,.cc-window,.cookie-banner. - Block AI bots: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, anthropic-ai, CCBot, PerplexityBot, Bytespider, Amazonbot and meta-externalagent.
An Inject into <head> example for a product page (condition «Matches pattern» /products/trail-shoe):
<title>Zapatillas de trail | Mi tienda</title>
<meta name="description" content="Zapatillas de trail ligeras y con buen agarre, con envío en 24 horas.">
<meta property="og:image" content="https://misitio.com/img/trail-1200x630.jpg">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Zapatilla de trail",
"image": "https://misitio.com/img/trail.jpg",
"offers": { "@type": "Offer", "price": "89.90", "priceCurrency": "EUR", "availability": "https://schema.org/InStock" }
}
</script>Testing an address
With Test URL (also inside the form) you apply your rules to an address, with an optional bot agent, without saving anything: you'll see whether it's rendered, excluded or blocked, the address it's cached under, the status, days, wait, device, selector, what's removed and injected, and each rule marked «Applies», «Doesn't match» or «Not evaluated». The rule you're editing is tested even if unsaved.