SEO
A page per store is a chance to show up for “[brand] store Lyon” or “[brand] near me”. The app does the heavy lifting: each store with a page has a stable address, a title and a meta description, structured data for Google and AI assistants, and its place in the sitemap. The pages are served by Shopify, like the shop’s other pages: they are fast, cached, and stay online even if the app is unavailable.
This page tells what the app does, what more you can do in the theme, then details each point.
What you can do
Section titled “What you can do”The app doesn’t create links to the store pages from the rest of the shop: the theme places them. For search engines to find them and give them weight:
- Link the store locator page from the main menu or the footer.
- Add a store list: the Store list block puts a link to each page in the HTML, which the store locator’s map doesn’t do for all of them. Under the store locator, or on a page of its own (“All our stores”).
- Fill in Link to all stores in the Store page block, for a link from each page to the store locator.
- Keep the nearby stores shown on the pages: they link the pages together.
- Keep a single
h1: if you place the theme’s heading above the block, empty the block’s Title field. The same goes for the Store locator block and the page’s title in your theme. - Ask the merchant to polish their main stores: a presentation text, photos, and if needed a title and meta description of their own, in Search engine listing on the store’s page.
To check a page’s structured data, paste its address into the schema.org validator.
The pages’ address
Section titled “The pages’ address”A page has the address /pages/<path>/<identifier>, for example /pages/stores/paris-le-marais:
- the path (
storesby default) is the same for every page. The merchant changes it in the app’s Settings: Store pages path, under Store pages; - the identifier is each store’s own. The app takes it from the name on creation, with a suffix (
-2) if it is already taken; the merchant can change it in Search engine listing, on the store’s page.
Only active stores have a page. A draft, a store without its Store page box checked, or a deleted store returns a 404 error.
Redirects
Section titled “Redirects”An address that changes or disappears is a broken link for the visitor and a lost page for the search engine. The app therefore creates 301 redirects, which the merchant sees in Content > Menus > URL redirects:
| Change | What happens |
|---|---|
| A published page’s identifier changes | The old address redirects to the new one. The merchant can uncheck Create a URL redirect before saving. |
| The pages’ path changes | One redirect per store, from the old address to the new one. |
| A store whose page is live is deleted | The old address redirects to the page of the nearest active store, one of its 3 nearby stores, never to the home page. Without a nearby store, it returns a 404. The merchant can turn the redirect off in the confirmation window. |
A draft isn’t redirected: it had no live page.
Title and meta description
Section titled “Title and meta description”A page’s title and meta description are the seo_title and seo_description fields of its Store page entry, which the theme writes in the <head> as for a product. A brand that fills in nothing therefore always has a title, and a description as soon as it has a presentation text:
- title: the one entered on the store’s page, else its name. The theme usually adds the shop’s name: “Champs-Élysées – Ladurée”;
- meta description: the one entered on the store’s page, else the presentation text as plain text, cut at 160 characters.
Both are translated on the app’s Translations page: an entered title and meta description are translated, and the default meta description takes the start of the translated presentation. The default title stays the name, which isn’t translated.
Structured data
Section titled “Structured data”The Store page block describes the store as a schema.org Store, which Google and AI assistants read to answer “what time does … close” or “where to buy …”. The description is given twice, in microdata in the page and in JSON-LD, with the same @id, the page’s canonical address: both describe a single store.
| Property | Content |
|---|---|
name, description, url |
The name, the presentation text as plain text, the canonical address. |
image |
The first 5 photos. |
telephone, email |
The contact. |
address |
A PostalAddress: street, postal code, city, region, country. |
geo |
The coordinates. |
openingHoursSpecification |
The weekly hours, one slot per entry. |
specialOpeningHoursSpecification |
The exceptional hours, with validFrom and validThrough; a closed day runs from 00:00 to 00:00. |
amenityFeature |
The services. |
hasMap |
The directions to the store in Google Maps. |
brand |
The Shopify shop, as an Organization: its name, its address, and a fixed @id, its primary domain followed by /#organization, the same on every page. |
The shop is given as the brand (brand), not as the owner: a retailer with a page sells the brand without belonging to it.
If the theme already describes the brand elsewhere (an Organization on the home page), give it the same @id: search engines then link the stores to the brand.
The sitemap
Section titled “The sitemap”The store pages are in the shop’s sitemap (/sitemap.xml), which Shopify keeps up to date: a page appears when the store is published, and leaves when it becomes a draft, loses its page or is deleted. Nothing more to submit.