Skip to content
Log in

Content pages

On this page

Use Pages to build the non-product pages of your store, such as a homepage, an About us page, or a contact page. This article covers the fields on a page, how a page goes live, how to put content on it, and how to serve a page as something other than HTML.

A page can be a parent of other pages by naming it as the parent on the child page’s record. A child page can also act as a parent for other pages allowing you to create a hierarchy of pages. You can create links to any page using its path and can also create a list of page links using the featured pages Content Block Template.

Field Usage Input
Page Name The name used to identify the page Plain Text
Store The store the page belongs to Stores Lookup
Identifier Unique HTML ID for the page Plain Text (auto entered but can be changed if needed)
Parent Page The Parent of this page if it has one Pages Lookup
Parent Position Where this page sits among its siblings under the same parent Number
Path The path or slug for the page Plain Text (do not include / at the front)
Title H1 heading for the page Plain Text
Subtitle Medium sized subtitle for the page Plain Text
Content Body (Markdown) The main page content Plain Text, Markdown, HTML
Meta Title Meta Title for SEO Plain Text
Meta Keywords Meta Keywords for SEO Plain Text (comma separated)
Meta Description Meta Description for SEO Plain Text
Social Image The image used when the page is shared on social media. Falls back to the page’s first image Media Lookup
Search Keywords Extra terms that improve the page’s relevance in on-site search results Plain Text (one per line)
Publish the page on the site Makes the page reachable at the page’s path. Checked by default. When unchecked, the path returns a 404 Not Found Checkbox
Hide Page from Navigation and Menus Keeps the page out of automatically generated lists such as the navigation bar and footer, and out of the generated sitemap. The page stays reachable at the page’s path Checkbox
Require Login? Requires customers to be signed in before they can open the page Checkbox
Preview on Site A link that opens the page on the storefront Read only

Publishing a page

Publish the page on the site is checked by default, so a page goes live at its path as soon as you save it. To take a page offline without deleting it, uncheck Publish the page on the site. The path then returns a 404 Not Found.

:::note Hiding pages from the navigation and menus does not unpublish a page. It removes the page from automatically generated navigation and footer lists, and from the generated sitemap, but the page still works at its path and still appears in on-site search results. To stop a page being reached at all, uncheck Publish the page on the site. :::

Add content to your page

Apart from Title and Subtitle, all page content lives in Content Body (Markdown). Write your content directly in it, or keep the default snippet, which renders the page’s content blocks in order.

```liquid

{{ content_page | render_content_blocks }} ```

Follow these steps to add a content block to the page.

  1. On the page, go to the Page Content Blocks related list and select New.
  2. Search for and select the content block you want to add.
  3. Set Position to place the block in relation to the other content blocks on that page.
  4. Set Usage Type to Page Content.
  5. Select Save.

Open the page at its path on your storefront. The content blocks render in Position order.

Serving alternate content types

By default, pages render as HTML. You can serve a page as a different content type by including a file extension in the page Path field.

Path example Content type Use case
robots.txt text/plain Robots exclusion file
llms.txt text/plain LLM context file
sitemap.xml application/xml XML sitemap
feed.json application/json JSON feed
export.csv text/csv Data export
guide.md text/markdown Markdown file

A page with a file extension in its Path differs from an HTML page in these ways.

  • The page renders without the header, footer, or theme wrapper. For a .xml path, StoreConnect adds the XML declaration (<?xml version="1.0" encoding="UTF-8"?>), so do not include one in Content Body (Markdown).
  • The Content Body (Markdown) field is rendered as-is using Liquid, so you can generate dynamic content.
  • The current_request.content_type Liquid variable returns the MIME type for the current request.

For example, to generate a plain text robots.txt, create a page with the Path robots.txt and this Content Body (Markdown).

```liquid

User-agent: * Disallow: /checkout Disallow: /account

Sitemap: https://{{ current_store.domain }}/sitemap.xml ```

Was this article helpful?

Was this article helpful?