Content pages
On this page
A Page can be a parent of other pages by specifying it as the parent in 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.
This looks good!
| Fields | 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 |
| 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 | 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 |
Adding content to your page
Other than Title and Subtitle (which are optional), all of the page content lives in the Content Body Field. You can put your page content directly in there, or using the short code snippet that is there by default, render each of the Content Blocks related to that page in their specified order.
This is the code you would see in your Content Body field unless you have replaced it with other content:
{{ content_page | render_content_blocks }}
To add Content Blocks to the page:
- From the Page Content Blocks related list, click New
- Search and Select the content block you wish to add
- Specify the position of the content block in relation to the other content blocks on that page
- Make sure the Usage Type is
Page Content - Click ‘Save’
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 |
When an alternate content type is used:
- The page renders without the standard HTML layout (no header, footer, or theme wrappers)
- The Content Body 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
Example — generating a plain text robots.txt:
Create a page with Path robots.txt and Content Body:
```liquid
User-agent: * Disallow: /checkout Disallow: /account
Sitemap: https://{{ current_store.domain }}/sitemap.xml ```
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.