Skip to content

SEO

  • sitemap.xml with every product, collection, page, article and custom page, in every published language, with hreflang alternates.
  • robots.txt (replace it with templates/robots.txt.liquid).
  • hreflang links in content_for_header.
  • noindex on previews, search results, the cart and closed stores.
  • Redirects the merchant sets in admin.
<title>{{ page_title }}{% unless page_title == shop.name %} – {{ shop.name }}{% endunless %}{% if current_page > 1 %} – {{ 'general.pagination.page' | t: number: current_page }}{% endif %}</title>
{%- if page_description != blank %}<meta name="description" content="{{ page_description }}">{% endif %}
<link rel="canonical" href="{{ canonical_url }}">

page_title and page_description come from the merchant’s SEO fields, or the item’s title and text. canonical_url includes ?page= after page 1.

Add Open Graph and Twitter tags in a snippet (Sahil’s snippets/meta-tags.liquid), using page_image for the share image.

{%- if template.name == 'product' -%}
<script type="application/ld+json">{{ product | structured_data }}</script>
{%- endif -%}

structured_data outputs Product JSON-LD with an offer per variant (price, currency, availability) and the review rating when the reviews feature is on. It also works on article.

  • One <h1> per page: the product, collection or page title.
  • Real links (<a href>) for navigation and pagination, so crawlers follow them.
  • Descriptive alt text on product images.

Was this page helpful?