Theme Blocks, Nested Blocks, and Sidekick-Generated Sections
Online Store 2.0 started with JSON templates and sections on every page. The architecture merchants actually edit today is theme blocks: reusable Liquid files in /blocks that can nest, accept app blocks, and be generated by Sidekick.
Three block types
- Theme blocks — own files in
/blocks, reusable across sections. - Section blocks — defined inside one section schema, locked to that section.
- App blocks — provided by installed apps (
@app).
A theme can hold at most 300 theme blocks. Every .liquid file in /blocks counts, including AI-generated ones you are not rendering. Hit the cap and you cannot add more until you delete files.
What we enable in custom themes
To accept every theme block (and Sidekick output), a section schema must include @theme. For app blocks, add @app. Nested blocks use a block schema with "blocks": [{"type": "@app"}, {"type": "@theme"}] so a slideshow slide can hold text, buttons, or an app embed.
Static blocks stay locked in a parent (for example slideshow controls). Merchants can hide them, not delete them — that keeps navigation consistent while slide content stays flexible.
AI-generated blocks and _blocks.liquid
When a merchant asks Sidekick to generate a block in a new section, Shopify wraps it in a platform section called _blocks.liquid. You can override that wrapper in your theme. The custom wrapper must define @theme and @app, define presets, render {% content_for 'blocks' %}, and must not set a templates attribute. Miss any of those and the editor errors.
Sources: Blocks overview, AI generated theme blocks, Online Store 2.0.
Comments (0)
No comments have been posted yet. Be the first!