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.