Store Builder

SEO

Titles and descriptions for search engines, social sharing tags, structured data — and the one sentence that decides when any of it takes effect.

Every page has its own Page SEO panel: open Pages on the rail and choose SEO from the page's menu. Products and articles have their own SEO tab in their forms.

SEO changes take effect the next time you publish the site. The panel says exactly that. Editing the meta and then opening the live page right away shows you nothing — because you have not published.

The basics

Meta title — the page's title in search results.

Meta description — the snippet under the title.

Keywords — comma separated.

Canonical URL — "The preferred URL for this page. Leave blank to use its own URL." Fill it in only when the same content lives at more than one address and you want to tell search engines which is the real one.

The preview beside it shows roughly how the search result will look.

Social share (Open Graph)

How the page appears when someone pastes the link into Facebook, Slack, X.

"Blank fields fall back to the title, description, and image above." You only fill these in when the shared version should say something different from the search version.

Field Falls back to
Social title The meta title
Social description The meta description
Social image URL The primary image
Twitter card Default · Summary · Summary, large image

Search engine visibility

Two switches, both to be used carefully:

Hide from search engines (noindex) — "Search engines won't list this page in results." For thank-you pages, internal pages, campaign pages meant only for people with the link.

Don't follow links (nofollow) — "Search engines won't follow links on this page."

Turning noindex on for the homepage by mistake is a very quiet way to vanish from Google. Nothing warns you, because sometimes people genuinely mean it.

The same block also holds Members only — not SEO, but a sign-in gate on the whole page. See Customer accounts.

Advanced

Custom meta tags

"For tags the fields above don't cover — e.g. author or og:site_name."

Each tag has its attribute kind (name, property, http-equiv), a key, its content, and an Include this tag switch — so you can disable one temporarily without deleting it.

Structured data (JSON-LD)

"Each block is emitted as its own <script type="application/ld+json">." This is what lets search results show star ratings, prices and stock.

There is a Product template so you do not start from nothing.

The editor checks the JSON as you type, but notice the small print:

"Not valid JSON — this block will still be saved."

It warns rather than blocks. A broken block is emitted onto the page and search engines ignore it — and nothing on the live page tells you. Wait for Valid JSON before publishing.

At site level

Manage → Settings → General carries a Store description: "A short summary of your store, used for previews and SEO." It is the fallback description for a page that has none of its own.

The site language in Settings → Currency & region also reaches published pages, as the lang attribute — which is how a search engine knows what language the page is in. See Language and region.

A store in more than one language

With the Multilingual app, every page also exists under each extra language's address — /en/about, say. What search engines are told about those addresses depends on one question: has this page actually been translated into that language?

  • Translated — the language version is indexed normally, listed in the page's hreflang alternates and in sitemap.xml.
  • Not translated — the address still works for a shopper who follows it, but it is served noindex, with its canonical pointing at the default-language page. It is left out of hreflang and out of the sitemap.

The reason: an untranslated /en/ page is the same words as the original under a second address, and search engines treat that as duplicate content. Telling them "this is the original, over there" keeps the ranking on the page you wrote. The same rule applies to each product, category, article and course one by one — translating one product's name no longer advertises every product in that language.

What does not make a page count as translated — each one is a trap people fall into:

  • Translating only the header, the footer or the cart drawer. Those are shared by every page; counting them would turn every page on the site "translated" the moment someone translated the menu.
  • Translating only the page's SEO title and description. The translated title is still shown — in the browser tab and in results — but a page whose body is still in the original language is not an English page because its title is.
  • Translating only the address (the URL slug).

Translate something on the page itself — a heading, a paragraph, a button — and it counts.

A checklist before you announce anything

  1. The homepage has a meta title and description.
  2. No page has noindex on by accident.
  3. The share image looks right when you paste a test link into a chat.
  4. Every JSON-LD block reads Valid JSON.
  5. The primary domain is set, and the free address redirects to it — see Your own domain.
  6. Publish. Before this step, no SEO change is in effect.

Updated 26/09/2026