top of page

A powerful CMS to build content-rich sites, smarter

Create dynamic, content-driven sites without code. Empower teams to manage and scale site content behind the scenes—while the design stays intact.

An animation to demonstrate how the Wix Studio CMS works. There’s a project page for an architecture firm on the right, and to the left there’s a CMS collection. Several new projects get added to the CMS and the project page design updates to show the new projects.
An animation to demonstrate how the Wix Studio CMS works. There’s a project page for an architecture firm on the right, and to the left there’s a CMS collection. Several new projects get added to the CMS and the project page design updates to show the new projects.

Lay the groundwork

Build the content structure you need with presets, templates or from scratch. Import content from a CSV or manually upload text, images, rich content and more.

Connect to the design

Design with full control in the Wix Studio Editor, then connect collections to display dynamic content. Create repeating layouts, add filters and gather content from site visitors—all without code.

Manage content seamlessly

Give clients or team members the access they need to manage content from an intuitive dashboard, separately from the design.

Create once, scale endlessly with dynamic pages

Turn one page into hundreds with the same layout but unique content, URLs and SEO settings. Easily update or add dynamic content right from your CMS collections, and translate it into 180+ languages from the dashboard or editor.

An example dynamic page for one of the art gallery’s exhibitions called Mineral Treasures.
An example dynamic page for a gallery exhibition called Modular Visions. All the pages for the different exhibitions have exactly the same layout, but different images, text and unique URLs.
An example dynamic page for a contemporary art gallery that shares information about a specific exhibition called Organic Impressions.

Ramp up creation with presets, templates or AI

Build faster with ready-made layouts and prebuilt collections that you can customize with your own content and design. Or plug in some details and let AI set up collections based on your exact needs.

A example layout for the “Our projects” section of a website with images, text and a description displayed in a uniform layout.

 Presets

Real estate website template displaying properties for rent and sale with images, prices, and addresses.

Templates​

An AI-generated CMS collection for museum exhibitions, displaying images of art objects made from minerals.

AI

ENTERPRISE SOLUTIONS

An account-level CMS to manage content at scale

Centralize content management across multiple sites with account-level CMS. Control which content appears where, make bulk updates and collect form submissions in one place. Plus, keep content scalable with custom CMS quotas.

A dashboard showcasing a table titled 'Our Properties' with columns for Title, Photo, Description, Link, and Year. Below the table are three website previews featuring luxury real estate properties, with images of modern homes, price ranges, and agent contact options.

Extend beyond built-in capabilities

Use Wix Data APIs to manage CMS content with code. Fully control filters and sorting, query items, intercept interactions using hooks, aggregate data from collections and much more to build the exact functionality for any business need.

1   import wixData from 'wix-data';

2   import { addDays } from 'public/utils';

3   $w.onReady(function () {

4     $w("#search").onClick(async () => {

5       const origin = $w("#origin").value;

6       const destination = $w("#destination").value;

7       const departDate = new Date($w("#depart").value);

8       const returnDate = new Date($w("#return").value);

9       const numberOfTravelers = $w("#travelers").value;

10      const { items: foundFlights } = await wixData

11        .query("availableFlights")

12        .eq("origin", origin)

13        .eq("destination", destination)

14        .between('departDate'addDays(departDate1),

15        addDays(departDate, -1))

16        .between('returnDate'addDays(returnDate1),

17        addDays(returnDate, -1))

18        .ge("availableSeats", numberOfTravelers)

19        .find()

20      renderResults(foundFlights);

21      });

22  });

import wixData from 'wix-data';

import { addDays } from 'public/utils';

$w.onReady(function () {

  $w("#search").onClick(async () => {

    const origin = $w("#origin").value;

    const destination = $w("#destination").value;

    const departDate = new Date($w("#depart").value);

    const returnDate = new Date($w("#return").value);

    const numberOfTravelers = $w("#travelers").value;

    const { items: foundFlights } = await wixData

      .query("availableFlights")

      .eq("origin", origin)

      .eq("destination", destination)

      .between('departDate', addDays(departDate1),

      addDays(departDate-1))

      .between('returnDate', addDays(returnDate1),

      addDays(returnDate-1))

      .ge("availableSeats", numberOfTravelers)

An example website for a luxury travel agency. There’s a search bar where users can enter their destination, dates and number of travelers, demonstrating the ways you can use the Wix Data API to work with complex content.

Manage content, protect the design

Set custom roles and permissions so clients or contributors can manage content behind the scenes while keeping the design safe from any mishaps. They can update content from an intuitive dashboard—or on the go from the Wix Owner app.

A mockup of the back end of the travel agency website, where the client has permission to edit the CMS and add destination details.

Bring Wix’s Headless CMS to any tech stack

Take the CMS to any platform so you can manage data for multiple websites and apps, all from a single dashboard.

1   import { createClient, OAuthStrategy } from '@wix/sdk';

2   import { items } from '@wix/data';

3

4   const wixClient = createClient({

5   modules: { items },

6   auth: OAuthStrategy({ clientId: 'MY-CLIENT_ID' }),

7   });

8   

9   const dataItemsList = await wixClient.items.queryDataItems({

10  dataCollectionId: 'Billing/PriceQuotes',

11     // Please specify the dataCollectionId you require

12   }).find();

13   console.log('My Data items:');

14   console.log('Total: ', dataItemsList.items.length);

import { createClient, OAuthStrategy }

from '@wix/sdk';

import { items } from '@wix/data';

const wixClient = createClient({

  modules: { items },

  auth: OAuthStrategy({ clientId:

  'MY-CLIENT_ID' }),

});

const dataItemsList = await wixClient.items.queryDataItems({

  dataCollectionId: 'Billing/PriceQuotes',

  // Please specify the dataCollectionId

  you require

}).find();

console.log('My Data items:');

console.log('Total: ',

dataItemsList.items.length);

An example of the CMS interface, which is organized into columns and rows. Each row is a separate project, with a field for title, photo, description and more.
An example of the CMS interface, which is organized into columns and rows. Each row is a separate project, with a field for title, photo, description and more.

Popular supported
technologies

Popular supported technologies

Fast-tack complex creation, scale with confidence.

bottom of page