> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# Resource: Seo Pattern V1

# Type: Seo Pattern Object

# Link: https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/seo-pattern-object.md

## Description: An SEO pattern is a template of SEO tags defined for one page type, such as every blog
post or every store product. A pattern's tags may contain variables, written as
`{{variable}}`, that are filled in with each item's own values when its page renders,
so a Wix user sets the tags for a whole page type once instead of item by item.

Every page type always has a pattern in effect. When a site has no pattern of its own
for a page type, the built-in Wix default applies, and `source` reports which of the
two is in effect.

A change to a pattern reaches the live site without a site publish, and applies to
every page of that type that has no SEO tags set for the item itself.

## Schema:

```json
 Type: Seo Pattern Object | type: SeoPattern
 Description: An SEO pattern is a template of SEO tags defined for one page type, such as every blog
post or every store product. A pattern's tags may contain variables, written as
`{{variable}}`, that are filled in with each item's own values when its page renders,
so a Wix user sets the tags for a whole page type once instead of item by item.

Every page type always has a pattern in effect. When a site has no pattern of its own
for a page type, the built-in Wix default applies, and `source` reports which of the
two is in effect.

A change to a pattern reaches the live site without a site publish, and applies to
every page of that type that has no SEO tags set for the item itself.
       - name: id  | type: string | description: SEO pattern ID, in the format `{pageType}`.  For a pattern that applies to a single page built from a Wix Data collection, the format is `{pageType}:{pageId}`.
           - name: value  | type: string | description: 
       - name: pageType  | type: string | description: Page type the pattern applies to. For example, `STATIC_PAGE`, `BLOG_POST`, or `STORES_PRODUCT`.
       - name: pageId  | type: string | description: ID of a single page built from a Wix Data collection, when the pattern applies to that page alone rather than to the whole page type.  Supported only for the `WIX_DATA_PAGE_ITEM` page type.
       - name: pattern  | type: SeoPatternBlob | description: The site's own pattern for the page type, which takes precedence over the Wix default.  Empty when the site has no pattern of its own, in which case `defaultPattern` applies.
           - name: tags  | type: Array<Tag> | description: The pattern's SEO tag templates.  A tag may reference only the variables the page type offers. Call [List SEO Pattern Variables](https://dev.wix.com/docs/api-reference/business-management/seo/seo-pattern-v1/list-seo-pattern-variables.md) for the page type to retrieve them.  A tag whose `disabled` or `custom` value is itself a variable is returned with that value unset, because those fields are booleans. The behavior still applies when the page renders.
               - name: type  | type: string | description: SEO tag type.   Supported values: `title`, `meta`, `script`, `link`.
               - name: props  | type: Struct | description: A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value. For example: `{"name": "description", "content": "the description itself"}`.
               - name: meta  | type: Struct | description: SEO tag metadata. For example, `{"height": 300, "width": 240}`.
               - name: children  | type: string | description: SEO tag inner content. For example, `<title> inner content </title>`.
               - name: custom  | type: boolean | description: Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) — i.e. an entry from the site's Advanced/Custom Tags list.  This flag is scoped to that feature only. It is NOT an indicator of whether a standard tag (`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed default/pattern — standard tags always resolve with `custom: false`, even when their content comes from a page's manually saved SEO title/description override. Don't use this field to verify whether a live page reflects a manual per-page SEO edit.  Limitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read only from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor or Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the response entirely — there, `false` means this API could not tell, not that no custom tag exists. Pass `seoData` explicitly to resolve against a known set of tags.
               - name: disabled  | type: boolean | description: Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines.
       - name: defaultPattern  | type: SeoPatternBlob | description: The pattern Wix provides for the page type, which applies whenever the site has no pattern of its own.  Always returned, so you can see what a reset would restore.
       - name: source  | type: string | description: Which pattern is in effect for the page type: the site's own, or the Wix default.
           enum: PATTERN_SOURCE_UNSPECIFIED, PATTERN_SOURCE_USER, PATTERN_SOURCE_DEFAULT
       - name: language  | type: string | description: Language the pattern applies to, as an IETF BCP 47 language tag. For example, `en-US` for U.S. English.  A page type has a single pattern, so this reports the site's primary language.
       - name: origin  | type: string | description: What made the most recent change to the pattern, for example a Wix user or the site migration flow. Derived from the caller, not from the request.  Reported only on the response to a write, and on the event the write emits. It isn't stored with the pattern, so Get SEO Pattern and List SEO Patterns always report `ORIGIN_UNSPECIFIED`, as does a write by a caller Wix doesn't identify as a specific origin.
           enum: ORIGIN_UNSPECIFIED, ORIGIN_USER, ORIGIN_MIGRATION, ORIGIN_AI

```