CMS meta tags
This reference defines the implemented HTML authoring controls consumed by the Python index builder.
| Control | Meaning | Default |
|---|---|---|
<title> |
Stored title and title field | Empty title |
<html lang="…"> |
Document language | Build default or detection |
<link rel="canonical"> |
Result URL after protocol/origin validation | Crawled source URL |
data-searchable-body |
Exact body region to index | <main>, then <body> |
data-searchable-ignore |
Exclude a descendant from the body | Structural boilerplate only |
<meta name="searchable-noindex"> |
Exclude the page | Indexed |
<meta name="searchable-boost" content="2.0"> |
Document score multiplier | 1.0 |
<meta name="searchable-facet-<field>" content="…"> |
Repeatable terms/hierarchy facet value | No value |
<meta name="searchable-facet-range-<field>" content="…"> |
Numeric range-facet value | No value |
<meta name="searchable-facet-geo-<field>" content="lat,lon"> |
Geo-facet coordinate (lat in [-90, 90], lon in [-180, 180]) |
No value |
<meta name="searchable-stored-<field>" content="…"> |
Custom stored (not indexed, no facet) field value | No value |
<meta name="searchable-pin" content="…"> |
Repeatable pin phrase | No pin |
<meta name="searchable-pin-priority" content="10"> |
Pin tie-break priority | 0 |
<meta name="searchable-pin-mode" content="contains"> |
exact or contains matching |
exact |
<meta name="searchable-pin-exclusive"> |
Suppress organic results for a matching pin | Non-exclusive |
Repeat a meta element for multiple values. Invalid numeric boosts fall back to 1.0; malformed range values are ignored; a malformed or out-of-range searchable-facet-geo-<field> value is also ignored, with a build-time warning. searchable-stored-<field> adds field to Manifest.fields as stored: true, indexed: false and populates it in the doc-store, without declaring a facet shard -- it's the authoring-side way to make a field reachable by SearchOptions.filters' exact-match-on-stored-fields fallback or simply for display, without also making it a facet or full-text-searchable; the first tag per field wins, and title/excerpt/pageTitle are reserved (the builder already populates those) and are silently ignored. Canonical URLs permit only HTTP(S), and allowed_url_origins can restrict them further. canonical_base_url is required to resolve non-root-relative references safely.
Canonical URL
An absolute canonical URL must use HTTP(S) and, when configured, match
allowed_url_origins. Root-relative URLs are accepted; other relative values
need canonical_base_url or fall back to the crawled source URL.
Body extraction removes nav, header, footer, aside, script, and style from the selected region in addition to data-searchable-ignore descendants. See Pinning and Facets for query-time behavior.