# Shopify Help Center: guide for AI agents and crawlers

> Official product documentation and self-service support for Shopify merchants, Shop app
> users, partners, and affiliates. It covers setting up and running a Shopify store, selling
> online and in person, payments, shipping, taxes, marketing, and account management.

The Help Center is at https://help.shopify.com. This document is the canonical, agent-facing
description of how to discover and retrieve its content. `/llms.txt` redirects here.

## Retrieve any page as Markdown

Every public English page is available as clean Markdown, by either of two routes.

**Append `.md` to the URL.** This is the preferred route; see below for why.

- HTML: `https://help.shopify.com/en/manual/products`
- Markdown: `https://help.shopify.com/en/manual/products.md`

**Or send `Accept: text/markdown`** with a request for the ordinary page URL. The media type
must be named explicitly — `*/*` and `text/*` return HTML. Markdown wins an equal-weight tie,
so `Accept: text/markdown, text/html` returns Markdown, while
`Accept: text/markdown;q=0.5, text/html` returns HTML. The only media-type parameter
honoured is `charset=utf-8`: any other parameter (for example `variant=CommonMark`), or a
malformed entry anywhere in the header, returns HTML.

Either route drops site chrome and navigation, leaving just the page body, which is the
preferred representation for LLM ingestion. The server returns
`Content-Type: text/markdown; charset=utf-8`.

### Prefer the `.md` URL

Both routes return the same body, but they are not equivalent:

- **Caching.** The `.md` URL is distinct from the HTML URL, so responses are cache-safe and
  are sent `Cache-Control: max-age=900, must-revalidate`. Negotiated responses are sent
  `Cache-Control: no-store` and must be re-fetched. Both send `Vary: Accept`.
- **Missing pages.** A `.md` request for a page that doesn't exist returns **404**. A
  negotiated request for that same path falls back to ordinary HTML routing and usually
  **redirects** instead, so it cannot tell you the page is gone.

Use `Accept` when you can't control the URL; use `.md` whenever you can, and always when you
are checking whether a page still exists.

Markdown is served for both article and section pages. It is not served for search or for a
bare section root such as `/en/manual` (which redirects to the home page).

A `.md` request for a moved page redirects to the new page's `.md` URL. A 404 means there is
no Markdown document at that URL, almost always because the page doesn't exist; a few pages
are served only as HTML. Before pruning, check the sitemap for the URL's host:
https://help.shopify.com/sitemap-en.xml (the English file in the sitemap index) for
help.shopify.com, or https://help.shop.app/sitemap.xml for help.shop.app. If the URL isn't
listed there, drop it rather than retrying it as HTML.

## URL structure and locales

Page URLs follow `/{locale}/{section}/...`:

- Sections on help.shopify.com: `manual` (the merchant guide), `partners`, and `affiliates`.
- Shop app help, for shoppers, is a separate help center at https://help.shop.app, under
  `/{locale}/shop/...` (for example `https://help.shop.app/en/shop/getting-started`). Append
  `.md` for Markdown there too; `Accept: text/markdown` is not supported on that host and
  returns HTML. It has its own sitemap at https://help.shop.app/sitemap.xml. Shop app help
  is not served on help.shopify.com.
- Merchant docs about selling through the Shop channel are in the manual, under
  `/manual/online-sales-channels/shop`.
- A URL without a locale prefix redirects to the `en` locale. A negotiated request is
  redirected to the ordinary `en` page URL, so resend `Accept: text/markdown` when you
  follow it. Include the locale in `.md` URLs yourself (`/en/manual/products.md`, not
  `/manual/products.md`): the redirect from a locale-less `.md` URL does not keep the `.md`
  form.
- `en` is the canonical locale and the source for Markdown. Localized pages are served as
  pre-rendered HTML, so a Markdown request for a non-English page (for example
  `https://help.shopify.com/fr/manual/products.md`) redirects (308) to the English `.md`. A
  negotiated request for `/fr/manual/products` redirects the same way, to the English `.md`
  URL.

## Discover all pages

Each host has its own sitemap, and each lists only that host's public pages:

- https://help.shopify.com/sitemap.xml: a sitemap index with one file per locale, covering
  `manual`, `partners`, and `affiliates`.
- https://help.shop.app/sitemap.xml: a single sitemap of the Shop app help pages.

## Notes for agents

- Respect https://help.shopify.com/robots.txt and back off on HTTP 429 responses.
