Skip to main content

meta_robots: String

Pre-v2.2 backward-compatibility field. Preserved indefinitely so v1 storefront integrations don't break, but new code should use seo.robots instead.

Schema

interface CategoryInterface {
meta_robots: String @doc(description: "The meta robots for category page.")
}

type CmsPage implements RoutableInterface {
meta_robots: String @doc(description: "The meta robots for CMS page.")
}

type CmsPageItem implements RoutableInterface {
meta_robots: String @doc(description: "The meta robots for CMS page.")
}

Note: this field is not on ProductInterface — that was added later in seo: SeoMetadata. Products always use the new field.

Resolution

Same precedence as seo.robots:

  1. Entity-level meta_robots if non-empty AND not the literal system
  2. Store config design/search_engine_robots/default_robots
  3. null

Why keep it

  • Storefronts built against v1.x of the suite still query it
  • Public Marketplace listings of partner storefronts may reference it
  • Removing it would be a breaking GraphQL schema change requiring a major version bump

Migration

If you're writing new storefront code, replace:

{
categoryList {
meta_robots
}
}

…with:

{
categoryList {
seo { robots title description canonical }
}
}

Same data, plus everything else you'll inevitably need.

Resolver classes

FieldResolver
CategoryInterface.meta_robotsByte8\SeoSuite\Model\Resolver\Category\MetaRobots
CmsPage.meta_robotsByte8\SeoSuite\Model\Resolver\Cms\CmsPageMetaRobots
CmsPageItem.meta_robotsByte8\SeoSuite\Model\Resolver\Cms\CmsPageMetaRobots (same class, both CMS types share it)

These remain at their v1 namespaces and signatures.