What you're actually creating
In Online Store 2.0 themes, a page template is a JSON file that lists the sections a page renders and their settings. page.json is the default. An alternate template is a file named page.something.json, and any page in the admin can be pointed at it.
Because the template is JSON rather than Liquid markup, section content is editable visually — which is the whole reason to work this way rather than hardcoding a one-off Liquid template.
Method 1: the theme editor (no code)
- 01
Open the theme editor
In the Shopify admin, go to Online Store → Themes, then Customize on the theme you want to change.
- 02
Switch to a page
Use the template picker at the top of the editor and select Pages, then any existing page.
- 03
Create a new template
In the same picker, choose "Create template". Name it for what it does — landing, wholesale, bare — and choose which existing template to base it on.
- 04
Build the layout
Add, remove and reorder sections. Settings you change here are stored in the new template, not the default one.
- 05
Save
The template now exists as page.landing.json in the theme's templates folder.
Method 2: the code editor
Faster if you're already in the code, and the only option if you want to script it. Go to Online Store → Themes → … → Edit code, open the templates folder and add a new template file named page.landing.json.
{
"sections": {
"main": {
"type": "main-page",
"settings": {}
},
"rich_text": {
"type": "rich-text",
"settings": {}
}
},
"order": ["main", "rich_text"]
}The type value must match a file in the theme's sections folder. The order array controls render order. Copying your existing page.json and editing it is usually the quickest starting point.
If you're working locally with the Shopify CLI, the same file works — create it, then push to a development theme:
shopify theme dev
shopify theme push --theme <theme-id>Assigning the template to a page
- 01
Open the page
Admin → Content → Pages, then select the page.
- 02
Choose the template
In the right-hand sidebar, under "Online store", set Theme template to your new template.
- 03
Save and preview
Check the live URL, not just the editor preview — some app embeds only render outside the editor.
Mistakes that cause rework
- Naming templates after a campaign. "page.summer-2024" outlives the summer. Name by function.
- Creating a template per page. If five pages share a layout, they share one template. Sections hold the content.
- Editing page.json by accident. Changes to the default template affect every page using it.
- Hardcoding content into a section file. That's the pattern 2.0 was meant to remove — keep content in settings so non-developers can edit it.
- Forgetting the theme update path. Custom sections and templates need re-checking when the base theme is updated. Document what you added.
Done well, alternate templates are how a Shopify theme stays maintainable: one theme, several layouts, and no one-off code nobody remembers writing.
