Skip to main content

Theme Marketplace Policy

This policy defines what's expected of a theme before and after it's listed on the SitePack Theme Marketplace. It reflects how the review process and the Partner Dashboard actually work today — read it alongside the theme.json Reference and Publishing, Licensing & Monetization.

Visibility & Review Lifecycle​

Every theme has a visibility (Private or Public) and, once made Public, a submission status that moves through the same fixed set of states as apps:

  1. Draft — the theme is Public but hasn't been submitted yet, or is still missing requirements.
  2. Submitted / In Review — you clicked "Submit for Review" in the Partner Dashboard. The listing (name, icon, visibility, and marketplace listing content) is locked while a review is pending.
  3. Approved — the SitePack team has approved the submission; the theme is queued for publication.
  4. Published (Live) — the theme is visible and installable in the Marketplace. Editing re-opens at this point: you can update your listing without needing a brand-new review for routine changes.
  5. Rejected — the review found issues. Review notes explain what to fix. You may edit the theme and resubmit as many times as needed.

Private themes skip this entire lifecycle.

Listing Requirements​

Before a theme can be submitted for review, it must have:

  • An icon uploaded (WEBP/PNG/JPG, 2MB max).
  • A valid theme.json manifest uploaded via sitepack theme:publish, with a unique uuid, a matching author, and a syntactically valid, flat settings array (see the theme.json Reference — the old grouped config/settings_schema.json format is not accepted).
  • A complete English marketplace listing: tagline, short description, long description, at least one tag, at least one USP, and all 4 marketplace screenshots.

Technical Requirements​

Carried over from the pre-publishing checklist — these are checked both automatically at publish time and during manual marketplace review:

  • Template hooks implemented. Core hooks (head_after, body_start, body_end, cart/product page blocks) must be embedded with {% app_block %} tags so installed apps render correctly inside your theme.
  • Only recognized folders are synced: assets, config, layouts, snippets, templates, translations. Files outside these folders (and outside the allowed file-type list) are not uploaded by sitepack theme:publish and won't be reviewed.
  • Compiled, compressed assets. CSS/JS in /assets must be minified; images in /assets/img should be compressed (WebP preferred).
  • Lowercase translation files. Files in /translations must use lowercase filenames (e.g. en.json, nl.json) with matching nested keys across languages.
  • Staging-tested. Run sitepack theme:watch and click through checkout, cart, category, and account pages before submitting — reviewers will reject themes with obviously broken core flows.

Pricing & Monetization​

Themes may be listed Free, One-Time Purchase (lifetime license), or Recurring Subscription (Monthly/Yearly). All billing is Euro-based. See Publishing, Licensing & Monetization for fees and payouts.

Prohibited Behavior​

  • Deceptive marketplace copy or screenshots that don't represent the actual theme output.
  • Removing or disabling app-compatibility hooks to make a theme appear "cleaner" in a demo.
  • Bundling externally-hosted JS/CSS instead of local, versioned assets.
  • Reusing another developer's uuid, branding, or marketplace copy.

Removal & Delisting​

  • You can permanently remove a theme from the Partner Dashboard, but only while it is Private (or Public and not yet Live). A theme that is currently Live & Public must first be set to Private — merchants may have it actively installed.
  • SitePack reserves the right to delist any theme that violates this policy, independent of the partner's own visibility setting.