SMMFor

Page builder

Build the home page and custom pages from blocks; 26 block types, their styles and the custom HTML/CSS block.

How it works

Create a page from Admin → Appearance → Pages (address: lowercase letters, digits and dashes, e.g. about-us). The page with address home is your home page. Pages are edited in the same site editor as the site settings:

  • Add blocks on the left, reorder (↑ ↓), duplicate, hide, delete.
  • The preview in the middle is drawn with your site's real design (font, corners, colours, design-specific decoration); switch between desktop/tablet/phone and light/dark.
  • Fields of the selected block are on the right. Text is saved for the selected language; empty languages fall back to the default. AI translate fills empty fields (30 times a day).
  • Save draft doesn't touch the live site; Publish makes it live. A page can be limited to signed-in customers.

A page holds up to 40 blocks. Links must be site paths like /register or https:// URLs; images come from the Media library (/media/...) or an https:// URL.

Reserved addresses can't be page names: admin, dashboard, login, register, services, blog, api, api-docs, media, forgot-password, verify-email, updates, order, adminapi, og, rss.xml, sitemap.xml, robots.txt, manifest.webmanifest, llms.txt.

Common style fields

Every block except the spacer has:

FieldValuesEffect
Backgroundnone, surface, primary (brand colour), gradientSection background. On brand/gradient backgrounds, text switches to a readable colour automatically.
Spacingmd, sm, lgTop/bottom padding

With background none or surface the Call to action block becomes a brand-tinted card on the page background; with primary or gradient it becomes a full-width coloured band.

Blocks

The editor's Add block panel groups blocks into categories. Every new block starts with editable sample content. Most blocks have a Style option; the first option is the default look.

Top of page

BlockFields and styles
Hero (hero)Layout: centered, split-login (sign-in card beside it), split-order (quick order beside it), kpi (counters + sign-in), type (big typography), image; eyebrow, title, subtitle, two buttons, image, alignment, up to 4 badges
Announcement bar (banner)Text, link text and URL, icon, colour (brand, soft, dark, success, warning). When it is the first block of a page it appears above the site menu.
Campaign countdown (countdown)Eyebrow, title, text, end time (YYYY-MM-DD HH:MM, UTC), optional coupon code, button; style: card, band, minimal. Shows "This campaign has ended" afterwards.

Content

BlockFields and styles
Features (features)Title, subtitle, columns (3, 2, 4), style (cards, list, minimal, numbered, centered), up to 12 items: icon, title, text
How it works (steps)Title, style (cards, timeline, row connected horizontal, minimal), up to 6 steps
Image + text (split)Eyebrow, title, Markdown text, image, image side (right/left), image style (rounded, framed, plain, tilted), checklist up to 8 items, button
Text columns (columns)Title, 2–4 columns, style (plain, cards, divided), each with optional icon, title, Markdown text
Text (richText)Markdown body (20,000 chars)
FAQ (faq)Title, style (accordion, columns, cards), up to 30 questions

Sales

BlockFields and styles
Popular services (services)Title, subtitle, count (3–24), view (cards, table, compact list, grouped by category), button label. Prices are live.
Pricing plans (pricing)Title, subtitle, style (cards, outline, compact), up to 6 plans: name, price, period, short description, features (one per line), button, highlight (yes), badge (e.g. "Most popular")
Platforms (platforms)Title, subtitle, style (grid, strip, floating, marquee scrolling, cards big cards, pills), up to 16 platforms
Payment methods (payments)Title; filled from active methods
VIP tiers (tiers)Title, subtitle; from loyalty tiers
API for resellers (apiSnippet)Title, text, button; shows a sample API request
Call to action (cta)Title, text, button, layout (centered, split, banner)

Social proof

BlockFields and styles
Reviews (reviews)Title, style (cards, marquee, spotlight, minimal), up to 12 reviews: name, role, text, rating
Statistics (stats)Title, style (cards, inline, band, rings), source (live / custom), up to 6 items
Live orders (ticker)Title; recent orders scrolling (no customer data)
Logos / trust strip (logos)Title, style (row, marquee, grid), grayscale (yes/no), up to 16 logos: image or name, link
Contact channels (contact)Title, subtitle, style (cards, list, buttons), up to 8 channels: kind (telegram, whatsapp, email, instagram, discord, phone, link), label, shown value, link, note. Email and phone links are built automatically.

Media

BlockFields
Image (image)Image, alt text, link, width (normal, wide, full)
Image gallery (gallery)Title, columns (3, 2, 4), shape (landscape, square, portrait, auto), up to 12 images: image, caption, link
YouTube video (video)Title, 11-character video ID

Advanced

BlockFields
Custom block (custom)HTML (30,000 chars), CSS (20,000 chars), width (contained, full) — see below
Spacer (spacer)Size (md, sm, lg)

Custom block (HTML/CSS)

Write your own HTML and CSS for sections the ready-made blocks don't cover.

  • HTML is cleaned on save: <script>, event attributes like onclick, javascript: links and form elements are removed. Links, images (/media/... or https://), tables, <details>, <video> and YouTube/Vimeo/Loom iframes are allowed. style and class attributes are free.
  • CSS applies only to this block: each selector is prefixed with the block's scope. Use :scope for the block itself. @media rules are scoped too; @import is removed.
  • Use theme variables (var(--brand-solid), var(--on-surface) …) and the block follows your colours and light/dark mode.
  • Need scripts? Use Custom code (requires 2FA).
<div class="promo">
  <span class="tag">New</span>
  <h2>30% off TikTok views</h2>
  <p>Valid until the end of this weekend.</p>
  <a href="/services">See services</a>
</div>
:scope { padding: 8px 0; }
.promo { display: grid; gap: 8px; justify-items: start; padding: 32px; border-radius: 24px;
  background: linear-gradient(135deg, var(--brand-solid), var(--brand-solid-2)); color: #fff; }
.tag { padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.2); font-size: 12px; font-weight: 700; }
.promo h2 { font-size: 28px; font-weight: 800; }
.promo a { margin-top: 8px; padding: 10px 18px; border-radius: 999px; background: #fff; color: var(--brand-solid); font-weight: 700; }
@media (max-width: 640px) { .promo h2 { font-size: 22px; } }

With a code theme

  • If a published block page and a code-theme file share an address, the block page wins.
  • On the home page it's the other way round: an active code theme's home.liquid wins over the block home page.