Build Modes
sitemd has two modes: trial (unactivated) for free localhost development and activated for deployable builds. Trial gives you the full experience to evaluate the product. Activated requires a paid account and produces clean, standalone HTML output.
Trial (unactivated)
Trial mode is active when the site has not been activated. It's the default for new projects.
What you get:
- All features work on
localhost:4747— pages, themes, cards, embeds, images, forms, analytics, auth, data, gating, SEO - Live build sync with hot reload
- Dev panel for in-browser editing
- MCP server integration
What's different from activated:
- Output is memory-only — no
site/directory written to disk - A "SITEMD TRIAL (UNACTIVATED)" banner appears on every page
- The sitemd badge is always visible in the footer
sitemd buildandsitemd deployare not available
No authentication required. You don't need a sitemd account to use trial mode.
Activated
A site is activated after running site activation. Activation permanently locks your site's identity fingerprint and consumes one site slot on your account.
This requires a paid sitemd account. Run sitemd auth login to authenticate. Every build and deploy calls the sitemd API to verify your site identity — network access is required.
What you get:
- Clean HTML output to
site/directory — host anywhere - No dev banner. Badge shown by default but can be hidden
- Full SEO output: sitemap.xml, robots.txt, llms.txt, OG image files, favicons
- Image optimization with WebP generation, media hosting via CDN, card auto-images
- Deploy with
sitemd deployto Cloudflare Pages, Netlify, Vercel, or GitHub Pages
All features work in both modes
Every feature works identically in trial and activated. The dev server renders everything — there are no placeholder cards or degraded features during local development.
| Feature | What it includes |
|---|---|
| SEO | OG tags, canonical URLs, Twitter cards, JSON-LD structured data |
| OG image generation | Satori/Sharp rendering of per-page open graph images |
| Forms | Webhook submission, field types, multi-page forms, conditional logic, honeypot anti-spam |
| Analytics | Google Analytics, Plausible, Fathom, Umami, Simple Analytics, PostHog, Matomo, GTM, ad pixels |
| User auth | 5 provider adapters: custom API, Supabase, Firebase, Clerk, Auth0 |
| Dynamic data | 4 provider adapters: Supabase, Firebase, Airtable, REST API |
| User-type gating | Role-based access control for pages and inline sections |
| Image optimization | Build-time resize, compression, WebP generation, <picture> tag injection |
| Media hosting | R2/S3 CDN sync at build time, HTML /media/ URL rewriting to CDN prefix |
| Card auto-images | Auto-generated gradient/illustrated card images |
| Deploy | Cloudflare Pages, Netlify, Vercel, GitHub Pages upload integrations |
| Badge removal | Option to hide the "built with sitemd.cc" footer badge (shown by default, even when activated) |
| Email templates | Transactional email compilation |
Activated-only outputs
These files are only written to disk during activated builds (sitemd build or sitemd deploy):
sitemap.xmlrobots.txtllms.txtandllms-full.txt- RSS feed XML files
- Compiled email templates (
_emails.json) - Search index (
search-index.json) 500.htmlerror page
The features that generate these outputs (SEO, feeds, email) still render in the dev server — they just don't produce standalone files until you activate.
Site slots
Site slots control how many sites you can activate. See Deploy for the full breakdown.
Quick summary:
- Each activated site = 1 site slot
- Activations are permanent — no deactivation, no slot reassignment
- Exceeding your slot limit falls back to trial mode — you can keep working locally
How modules work
All feature code is bundled with the sitemd binary — nothing is fetched from the API at build time. The binary contains the full engine: form builder, data connectors, SEO generator, analytics injection, auth runtime, deploy targets, and image processing.
CI environments
For non-interactive builds in CI, set SITEMD_TOKEN as an environment variable:
export SITEMD_TOKEN=sk_abc123...
sitemd deploy
Generate an API key with sitemd auth api-key. See CLI Config for the full list of environment variables.
Graceful fallback
If a build can't proceed (no auth, no slots, or API unreachable), it falls back to trial mode instead of failing. You'll see a message like:
No available site slots — building in trial mode (unactivated).
Purchase additional sites at https://sitemd.cc/add-ons
You can keep working locally. Buying more slots or authenticating unlocks activated output.