Application · New project

Install the marketplace package for Svelte

Choose your framework and install the marketplace integration package. Each package generates a working starter and connects it to your personal backend.

1 Prepare your environment

Use Node.js 20.19 or newer with npm. The SvelteKit 2 integration runs on a Node.js server. Check the installed versions:

Download Node.js
bash
node --version
npm --version

2 Start from zero

Run these commands from the folder where you keep your projects. The CLI creates a SvelteKit 2 project and adds the Orionplace package and integration source.

bash
npx --yes orionplace-svelte init my-marketplace
cd my-marketplace
npm install
orionplace-svelte · npm

Already have a SvelteKit 2 project?

Skip project creation. In the root of your existing SvelteKit 2 project, install the package, then continue to domain setup below.

bash
npm install orionplace-svelte

3 Configure your domains

Open your personal profile on orionmarket.place. Your personal backend API domain is already provided there; you can change it in your profile if needed.

Open your personal profile
bash
# Replace your-project.orionplace.app with the backend domain from your profile
npx orionplace-svelte set backend your-project.orionplace.app

# Replace yourfrontenddomain.com with your storefront domain
npx orionplace-svelte add frontend yourfrontenddomain.com

npm install

Run these commands from the project root. They configure the integration; the final install adds its required dependencies. Domain commands do not create DNS records or deploy your site.

MIMIC_FRONT_DOMAIN — the first frontend domain is selected automatically for local development.

4 Run your project

bash
npm run dev

Open the local URL printed by SvelteKit 2, normally http://localhost:5173. The storefront opens after Application Load succeeds. If initialization fails, check your domain mapping and backend availability.

orionplace/README.md — setup details, editable source documentation and commands for managing domains. Use help to see all commands:

bash
npx orionplace-svelte help

Manage your domains

Run these commands from the project root. Replace the example domains with your own. Each frontend domain has a file named after that domain, such as sitemaps/yourfrontenddomain.com.cfg.

CommandResult
set backend <domain>Sets the personal backend and updates every CLI-managed frontend mapping. You can set the backend or add the first frontend in either order.
add frontend <domain>Adds a domain while keeping the existing domains. The first frontend selects MIMIC_FRONT_DOMAIN; later additions keep the current selection. Adding the same domain again is safe.
set mimic <domain>Selects an already-added domain for localhost. Domain mappings stay unchanged. Add an unknown domain with add frontend first.
remove frontend <domain>Removes the specified domain and its unchanged generated mapping. If it was selected for MIMIC, the first remaining domain is selected; removing the last domain clears MIMIC.
set frontend <domain>Adds a domain and selects it for MIMIC. This shortcut remains available for existing scripts.
helpLists commands and options without changing project files.
bash
npx orionplace-svelte add frontend www.yourfrontenddomain.com
npx orionplace-svelte set mimic yourfrontenddomain.com
npx orionplace-svelte remove frontend www.yourfrontenddomain.com

The CLI checks planned changes before writing files. It rejects attempts to replace or remove manually edited or unmanaged mappings. Add --dry-run to preview changes without writing project files, or --cwd path/to/project to choose another project.

Restart a running development server after changing domains. In production, domain files are read for each request; reload the process environment after changing MIMIC. Configure DNS, TLS and your hosting proxy for each public domain.

Sitemap and robots.txt

The storefront serves /robots.txt and /sitemap.xml for each frontend domain. The sitemap lists the public pages, categories, products on sale and journal publications in every storefront language; a publication appears only in the languages it is written in. Each of these pages names its sitemap address as its canonical link and og:url, and link previews get the complete address of the page picture. The same pages link their copies in the other storefront languages (hreflang), and a journal publication gives search engines its publication date and article data.

The sitemap is built from your backend and rebuilt once an hour. After new publications or catalog changes, rebuild it at once from the project folder; the running storefront serves the new sitemap without a restart.

bash
# Every frontend domain
npm run orionplace:sitemap

# One domain
npx orionplace-svelte sitemap rebuild yourfrontenddomain.com

# When each sitemap was built
npx orionplace-svelte sitemap status

The built sitemap is stored in node_modules/.cache/orionplace/sitemaps/; set ORIONPLACE_CACHE_DIR to move it. On a server where the storefront runs as a service, the command can run with sudo: the files it creates stay with the project owner. Projects created before version 0.6.0 get these routes and the command with update.

To keep the shop pages of a demo or staging storefront out of search engines, set ORIONPLACE_NOINDEX_PATHS in .env to path prefixes separated by spaces, for example ORIONPLACE_NOINDEX_PATHS="/catalog /category /product". Those pages answer with the X-Robots-Tag: noindex, follow header and the sitemap leaves them out; the journal and the other pages stay indexable. Leave it empty on a live shop.

Every product page carries schema.org product data for Google and Yandex: the price, the crossed-out old price, stock, photos, brand, seller, rating and the return terms the page shows. The return terms name the shop's shipping countries, which Application Load sends in init.shipping_countries; without a shipping country they are left out. The delivery cost is not included: it depends on the buyer's address.

Update your project

Preview the update, then apply it. update fetches the latest package, adds new source files, refreshes unchanged generated files and runs npm install.

bash
npx orionplace-svelte update --dry-run
bash
npx orionplace-svelte update

Edited source files, domain mappings and MIMIC are preserved. Review the reported preserved files and merge changes into them when needed. Keep orionplace/.generated.json: the CLI uses it to recognize unchanged generated files.

The preview may download the latest package into the npm cache, but leaves project files and dependencies unchanged. If dependency installation fails after source files have been updated, run npm install and retry the update. After a successful update, restart development or rebuild and redeploy production.