Menu
Guides
API Reference

Guides

Getting started with CMS

Find your track in the CMS journey, developer or content operator, understand each side's responsibilities, and jump straight to where you should start.

3 min read

Every piece of content a shopper sees on your storefront starts the same way: a developer decides what can be edited, before a content operator ever opens the Admin. In the CMS, developers define the content structure, including which fields exist, their types, and their names, while content operators use the CMS Admin interface to create and publish pages based on that structure.

{"base64":"  ","img":{"width":1600,"height":540,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":265935,"url":"https://vtexhelp.vtexassets.com/assets/docs/src/cms-workflow___1051ba6444b1b3aeaf5a5623620dc62f.png"}}

Use this guide to find your track, developer or content operator, understand what you're responsible for, and go straight to where you should go next.

TrackGoalResponsible forStart here
DeveloperBuilding or maintaining the storefront code.Modeling content as schemas, testing locally, and publishing the schema so it becomes editable in the Admin.Setting up your CMS environment
Content operatorWorking in the VTEX Admin, no code required.Creating, reviewing, and publishing content against the fields developers made available.Creating and publishing content below

Setting up the CMS is a one-time task per storefront project. Once it's done, developers repeat "Model content → Test locally → Generate and upload the schema" every time they add or change a component, see Local setup and development for that daily loop.

Creating and publishing content

Once a developer has published a schema, content operators can create and publish content entirely inside the VTEX Admin, no code required. The CMS uses Git-like branches, per-branch preview, and an approval step before anything reaches the live storefront:

This workflow is documented in the VTEX Help Center within the following topics:

TopicHelp Center resource
CMS concepts and the "All content" dashboardContent Management overview
Creating branches, editing, previewing, merging now or scheduling a merge, restoring versionsVersions and branches
Who can create, edit, and merge branchesRoles and permissions: The CMS uses Content Producer, Content Editor, and Content Administrator roles, each with different branch and merge capabilities
Configuring the Preview URL and locales for a storeConfiguring stores

This covers regular CMS branches, used for day-to-day content work. If you're a developer testing a new schema version against sample content, see Working with development branches instead.

Translations by locale

The CMS supports multiple locales, such as en-US, pt-BR, and es-MX. When a field isn't translated for a given locale, the CMS automatically falls back to a more general or default locale, so shoppers always see relevant content instead of a blank field.

Right-to-left (RTL) languages, such as Arabic or Hebrew, aren't supported yet. Keep this in mind if you're evaluating the CMS for a market that requires RTL layouts.

Locale configuration and translation management happen in the VTEX Admin and are documented in the Help Center within the following topics:

TopicHelp Center resource
Editing and translating content per locale, and how fallback applies to a fieldLocalizing content overview
Setting up locales and the default locale for a storeConfiguring locales
Choosing a fallback strategy (default-locale fallback vs. core-language fallback)Understanding locale fallback rules

Next steps

Setting up your CMS environment
Install the CLI, the Content plugin, and the CMS Admin app, then scaffold your storefront project's folder structure.
Media gallery
Declare the media-gallery widget so editors can pick images and reference videos from a central gallery.
Schema versioning
Understand stable vs. pre-release schema versions before you upload your first schema.
CMS for FastStore storefronts
Understand the CMS architecture, main features, and how it compares to Headless CMS (legacy).