Overview

8 tokens under the blog.* scope. Resolves on blog pages only.

Usage

Drop a token anywhere the SSR layer will see it — HTML body, attribute value, inline JS, or inline CSS.

Inline in markup

<mmm-pdp-title>{{blog.title}}</mmm-pdp-title>
<!-- rendered -> -->
<mmm-pdp-title>Caring for your Peace Lily</mmm-pdp-title>

Inside attribute values

<a href="/p/{{pdp.slug}}" title="Buy {{pdp.title}} for {{pdp.price}}">Shop</a>

Identity & flags 8

TokenPage bindingComponentDescription & sample
{{blog.title}}blog*Blog post title
Sample: Caring for your Peace Lily
{{blog.slug}}blog*Blog post slug
Sample: caring-for-your-peace-lily
{{blog.excerpt}}blog*Blog post excerpt
Sample: A complete care guide…
{{blog.content}}blog*Blog post body (HTML) html
Sample: <p>The Peace Lily is…</p>
{{blog.author}}blog*Author name
Sample: Riya Sharma
{{blog.published_on}}blog*Publication date
Sample: 2026-04-12
{{blog.cover_image}}blog*Cover image URL url
Sample: https://cdn.commmerce.com/.../cover.webp
{{blog.read_minutes}}blog*Estimated read time (minutes) number
Sample: 4

Tips

  • Tokens are case-sensitive — {{blog.title}} resolves; {{BLOG.TITLE}} does not.
  • Whitespace inside the braces is tolerated: {{ blog.title }} works identically.
  • Unresolvable tokens fall through as empty strings rather than rendering the raw placeholder, so missing-data states stay clean.