OptimoCMS Docs
Back to overview

Marketplace

Discover, install and publish reusable packages for your websites.

What is the Marketplace?

The Marketplace is an open ecosystem where agencies and developers publish, share and sell reusable components. A package is a ready-made block (hero, pricing table, footer, etc.) that you add to your site with one click. Categories: • Layout – Page layouts and structures • Content – Ready-made content blocks • Interaction – Interactive elements (forms, sliders) • Social Proof – Testimonials, reviews, ratings • Notification – Banners, popups, alerts • Navigation – Menus, breadcrumbs, footers • Global – Other packages Pricing models: • Free – Install at no cost • One-time – Pay once, permanent access • Subscription – Pay monthly for updates and support Roles: only administrators (Admin) can install and publish packages.

Searching and installing packages

Step by step: 1. Go to Marketplace in the main menu 2. Use the search bar to search by name or keyword 3. Filter by category (Layout, Content, etc.) or price (free, one-time, subscription) 4. Click a package to open the detail page 5. Review the description, screenshots, reviews and price 6. Click "Install" (free) or "Buy & Install" (paid) 7. Choose the site where you want to install the package 8. The package appears immediately in your block picker in the page builder
Tips
  • Start with free packages to get to know the Marketplace.
  • Read reviews from other users before purchasing a paid package.
  • You can view installed packages via Marketplace → My Installs.

Buying paid packages

For paid packages the process is: 1. Click "Buy & Install" on the detail page 2. You are redirected to Stripe Checkout 3. Enter your payment details and confirm 4. After successful payment you are redirected back to the CMS 5. The package is automatically installed on your chosen site License status: • 🟢 License active – Package works fully • 🔴 License expired – For cancelled subscriptions With a one-time payment you have permanent access. With a subscription the package works as long as your subscription is active.
Note
  • Check the pricing terms before subscribing.
  • When cancelling a subscription the package stays installed but shows a 'license expired' badge.

Publishing a package: Preparation

To publish a package you need: • A JavaScript bundle (.js) – Your component as an ESM module (max 500KB) • Optional: a CSS file (.css) – Additional styling for your component • Preview images – At least 1, maximum 5 screenshots The JS bundle must export a valid page builder component. Use your favourite bundler (Vite, Rollup, esbuild) to bundle your React component as ESM. Manifest requirements: • Name: @scope/package-name (e.g. @myagency/hero-premium) • Version: semver format (e.g. 1.0.0) • Display name: readable name (e.g. "Premium Hero Section") • Description: at least 10 characters • Category: choose from Layout, Content, Interaction, etc. • Widgets: which industries is this relevant for (dentist, restaurant, etc.) • License: free or commercial
Tips
  • Keep your bundle as small as possible – max 500KB.
  • Test your component locally in the page builder before publishing.
  • Use design tokens (--dt-*) so your component adapts to each site's theme.

Publishing a package: Step by step

The publish wizard has 4 steps: Step 1 – Upload bundle: • Drag your .js bundle to the upload field (max 500KB) • Optional: add a .css file Step 2 – Fill in manifest: • Name (@scope/package-name) • Version (1.0.0) • Display name and description • Select category and widgets • Editor version compatibility • Select token dependencies • Choose license (free/commercial) Step 3 – Preview images: • Upload 1-5 screenshots of your component • Optional: add a demo URL Step 4 – Review & Publish: • Review a summary of all entered details • Click "Publish" to submit your package • After review your package becomes visible on the Marketplace
Tips
  • Good screenshots increase the chance others will install your package.
  • Add a demo URL so potential buyers can see your component in action.

Setting pricing for your package

In step 2 of the publish wizard you set the price: Free: • Select "Free" as pricing model • Anyone can install your package directly One-time: • Select "One-time" as pricing model • Enter the price in euros (e.g. €29) • Buyers pay once via Stripe Checkout • A Stripe Product + Price is created automatically Subscription: • Select "Subscription" as pricing model • Enter the monthly price in euros (e.g. €9/month) • Buyers pay monthly via Stripe • On cancellation the buyer loses access to updates You can view your earnings via Marketplace → Revenue Dashboard.
Tips
  • Free packages get more installs and help build your reputation.
  • Consider a low one-time price for premium components.
  • Subscriptions work well for component packs that you update regularly.

Managing and updating packages

After publication you can manage your packages: • View installation statistics and reviews • Publish a new version with a higher version number • View your earnings in the Revenue Dashboard Publishing a new version: 1. Go to Marketplace → Publish 2. Upload the new bundle 3. Increase the version number (semver: 1.0.0 → 1.1.0 for features, 1.0.1 for bugfixes) 4. Fill in the remaining details 5. Publish Users who already installed your package will see an update notification.
Tips
  • Use semantic versioning: major.minor.patch (e.g. 2.0.0 for breaking changes).
  • Respond to reviews to improve your reputation.

Frequently asked questions (FAQ)

How large can my bundle be? → Maximum 500KB. Keep your bundle as small as possible for fast load times. What is semver? → Semantic Versioning: major.minor.patch (e.g. 1.2.3). Major = breaking changes, minor = new features, patch = bugfixes. Which licenses are available? → 'free' (free to use) and 'commercial' (paid, license required). How do I receive my Stripe payouts? → Earnings are processed via Stripe. You can view your payouts in your Stripe Dashboard. Can I uninstall a package? → Yes, go to Marketplace → My Installs and click "Uninstall". The package is removed from your site. What happens when I cancel my subscription? → The package stays installed but shows a 'license expired' badge. You no longer receive updates. Can I remove my package from the Marketplace? → Contact support. Existing installations continue to work. Which widgets can I select? → Dentist, Restaurant, Real Estate, Lawyer, Fitness, E-commerce, Photography, Freelancer, Non-profit, Startup, Education, Healthcare and more.

Call us