iAdvizeDocs
Pages

How AISA decides a page's type

The evidence AISA weighs to type a page (address, sitemap file, structured data, shop platform), what guessed, likely and confirmed mean, and where you can see them.

Every page in Pages has a type: Product, Category, Home, Content or Blog, or Unknown when AISA cannot tell. The type decides where a widget or a starter question can show when your tag declares nothing (see Page-type targeting), and you can filter the list, the API and the MCP server on it.

AISA never asks you to type pages by hand. It weighs the evidence it has, and says how sure it is.

The evidence

AISA looks at four kinds of evidence. From weakest to strongest:

EvidenceWhat AISA looks atAvailable
AddressThe first segment of the path, read against word lists in French, English, German, Italian, Spanish and Dutch. See below.As soon as the page is found
SitemapThe sitemap file that listed the page, read the same way. When the file names no kind, a sitemap entry that carries an image leans Product. See below.As soon as the page is found
Structured dataWhat the page declares about itself: schema.org types (JSON-LD and microdata) and og:type. See below.When the page is read
Shop platformWhat the shop platform writes into the page. See below.When the page is read

Structured data and the sitemap file count the same, the address counts for less than both, and the shop platform counts for more. The page's root (/) is the one address that counts like a platform: it is Home.

The type with the most weight wins, as long as it leads the next one. Two types with equal weight leave the page Unknown. So does a page with no evidence at all. AISA prefers Unknown to a wrong type, because a wrong type sends a page to the wrong place.

A type decided from the page's own content changes only for evidence at least as strong as the source it came from. A later read that finds less, or only an address word that disagrees, leaves it as it was.

The address

AISA takes the first segment of the path, after any language prefix (/fr/, /fr-fr/, /gb/en/), and splits it into words on -, _ and .. It checks the words against these lists, in this order:

OrderTypeWords it knows (examples)
1Contentpages, policies, legal, about, contact, faq, help, shipping, returns, terms, privacy, and equivalents such as livraison, retours, aide, kontakt, impressum, agb, datenschutz
2Categorycollections, category, categories, catalog, rayon, kategorie, categoria
3Productproducts, product, produits, produit, produkte, prodotti, productos, producten, with more path after it
4Blogblogs, blog, news, articles, journal, magazine, actualites, nieuws, noticias, notizie, aktuelles

Some details that decide edge cases:

  • / and a language segment alone are Home.
  • A product word on its own (/products) is a listing, so Category. A compound segment such as /product-red-shirt gets no guess.
  • /collections/<collection>/products/<product> is Product.
  • Content words are checked first, then category words, then product words. So product-category reads as Category.
  • A one-letter word (/p/, /c/, /a/) counts only when it is the whole segment, so /a-line-dress is not a content page.
  • A path no list knows (/linen-shirt.html) gets no guess: it is far more often a product or a category than a content page, and a wrong guess is worse than none.

The sitemap file

When a sitemap import finds a page, AISA also reads the address of the sitemap file that listed it, with the same word lists. Shopify's sitemap_products_1.xml, WordPress and Yoast's product_cat-sitemap.xml and post-sitemap.xml, and /categories-produits/sitemap.xml all name a kind. A file that names none, such as a single sitemap.xml, gives nothing. The page keeps this evidence, so a later read weighs it again.

What the page says about itself

When AISA reads a page, it looks at:

  • Product and ProductGroup structured data: Product.
  • CollectionPage: Category. A bare ItemList also points to Category, but only weakly, and not on a page that declares a product: a product page lists related products in one.
  • Article, BlogPosting and NewsArticle: Blog.
  • og:type: a product type points to Product, product.group (Shopify's collections) to Category. An og:type of article counts only on an address that already points at a blog (/blog/..., /news/...), because some SEO plugins set it on every page, static pages included.

What the shop platform says

Shop platforms write the kind of page into the page itself. AISA reads it for Shopify, Adobe Commerce, Salesforce Commerce Cloud, VTEX, PrestaShop, BigCommerce and WooCommerce, and a single post on WordPress. On Shopify, a blog's index page (the list of its articles) is typed Blog, like an article.

How sure it is

Next to the type, AISA keeps where it came from (the source) and how sure it is (the confidence).

ConfidenceWhat it means
GuessedOnly the address or the sitemap file speaks, or the page's own content said nothing. This is what a page not read yet holds.
LikelyOne reading of the page's own content (structured data or the shop platform) decided it.
ConfirmedThe page's own content and at least one other source agree.

The source is the strongest evidence behind the type: Address, Sitemap, Structured data or Shop platform. The API also has a fifth value, judge, for a model check of a page the evidence could not settle. That check is switched off, so a read does not produce it.

A read replaces a guess when the page's content says more. A page whose content says nothing keeps the type guessed from its address or sitemap file, still marked guessed. If the evidence cannot settle it, the page ends Unknown.

When several pages share one address (the store keeps an address with its query string), the one with the surer type is the one a widget's page-type lookup uses.

Where you see it

  • Pages list. The Type column shows the type, marked guessed while it rests on the address or the sitemap alone. It does not show the confidence.
  • Page view. The Details card has a Type decided by line, such as "Structured data, confirmed". It shows nothing for a page with no type.
  • REST API. pageTypeSource and pageTypeConfidence sit next to pageType on every page, in the list and in the detail. Both are null before a type is held.
  • MCP server. list_site_pages writes a guessed type as "guessed from the address" or "guessed from the sitemap", and a read type with its confidence, such as product (likely). A single page also says "Type decided by" with the source and confidence. See Pages and starter questions.

Pages typed before AISA recorded sources were given one. A guess became Address, guessed. A type a read had decided became Structured data, likely. That second one is an approximation: the next read of the page replaces it with the real source. AISA also gave back an address guess to pages an earlier read had left Unknown on common Shopify addresses (/products/, /collections/, /pages/, /policies/, /blogs/).

On this page