Rules

Decide what gets rendered and how, without touching your code: exclude, block, inject tags, force status codes and more.

Markdown

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:

ConditionExample
Equals, Not equalhttps://mysite.com/pricing
Contains, Doesn't contain/admin
Starts with, Doesn't start withhttps://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 parameterpreview, page=2 or filter_*
Bot isGPTBot, 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

ActionWhat it does
ExcludeThe address isn't rendered (the integration serves your normal website).
Only includeIf a site has rules of this kind, only addresses matching one of them are rendered; the rest are excluded.
Cache daysHow many days until recache (0 to 365; 0 = never), above the site and account.
Render settingsMaximum time, device and page-ready selector just for those addresses.
Ignore parametersRemoves parameters from the address before looking it up and rendering it, so variants share one page: sessionid, sort, filter_*.
Remove elementsCSS 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 statusThe 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.
BlockThe bot gets a 403. Combine it with «Bot is» to block, for example, CCBot.

Order of evaluation

  1. First the site's Only include rules: if there are any, the address must match at least one or it's excluded.
  2. Then the rest, from lowest to highest priority (0 to 9999, 100 by default); with equal priority, in creation order.
  3. 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.
  4. 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):

Inject into <head>
<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.