✨ Strapi MCP is now Generally Available - let your agents manage your Strapi content ✨

4 min read

Building a Landing Page in Strapi, Step by Step

January 16, 2024Updated on May 23, 2026

In this post, we'll explore how to build a landing page using Strapi. We'll dive into the Content-Type Builder and see how to construct a landing page using single types with components and dynamic zones. We will be replicating the newsroom landing page in Strapi.

Build a landing page in Strapi.jpeg

The Building Blocks: Components

Before we work with our single type, we're going to create the components. These components will later be stitched together inside of a dynamic zone in order to create our single type page, which will provide the data to power this landing page. Below is the breakdown of the components we will be creating:

  • A header with a title and subtitle.
  • A title component used in a few different places.
  • Two buttons constituting a call to action.
  • A list of articles.
  • Info cards near the bottom of the page.

build a landing page in Strapi 2.jpeg

Let's start building the components, one by one.

The Header Component

Starting with the header, we'll create a new component called Header. This component will have two text fields: title and subtitle.

build a landing page in Strapi 3.jpeg

Once done, the new Header component should appear in the Components tab. Save it and move onto the next one.

The Title Component

Since our landing page reuses the title in different places, we'll create a Title component. This will simply be a text field named title.

build a landing page in Strapi 4.jpeg

After saving this, we proceed to create the third component, which is the call to action with two buttons.

The Two Button CTA Component

build a landing page in Strapi 5.jpeg

To create this dynamic call to action component we will create two button components nested inside of a parent component. To do this, we'll create the parent TwoButtonCTA with two components: FirstButton and SecondButton. Each button will have a TitleLink, and an Enum (PrimarySecondaryOutlineOutline Icon). The Enum enables us to easily style the buttons later on.

build a landing page in Strapi 6.jpeg

Saving our TwoButtonCTA creates both FirstButton and SecondButton automatically as separate components.

The Article List Component

We now move onto creating an ArticleList component. This will hold multiple Article sub components, which themselves will include a TitleDate, and an Icon (Media Field). This entire structure forms the skeleton of the article section on the landing page.

build a landing page in Strapi 7.jpeg

Saving our ArticleList automatically generates the subcomponent Article for us, making these components reusable in future pages.

The Info Card Component

Our final component is the InfoCard. Here, we need to include a Title (Text), Image (Media), Description (Long Text), and Background (Enum). Additionally, we'll attach an existing Button component as CTA button.

build a landing page in Strapi 8.jpeg

This is the last component that we needed to create.

Building the Landing Page: Creating our Single Type

With our components ready, we will build the Newsroom single type page. Here, we leverage Strapi's feature of dynamic zones.

Adding a dynamic zone called PageContent, to our Newsroom single type allows us to add all our created components. This gives content editors the flexibility to use these components in any order they prefer, omitting some, arranging some, and styling based on the enumerations we've set up.

build a landing page in Strapi 9.jpeg

With this done, a content editor can construct the Newsroom page. They can add any number of Article components inside an ArticleList. They can specify a date, title, and icon for each Article added. Similarly, they can add any number of InfoCard components, each with their unique title, image, description, background color, and button.

build a landing page in Strapi 10.jpeg

In this step-by-step guide we illustrated the power of Strapi's content type builder. We've gone from multiple simple Components to creating a dynamic single type page. The key to this is the use of dynamic zones. This feature provides flexibility, allows for the rearrangement, styling, and adding/removing sections from the single type page, enabling you to build intuitive, user-friendly interfaces.

You can checkout out the video walk though here

Brayden GirardCTO at Arctic Leaf

I'm currently working full-time as the CTO at Arctic Leaf. I'm an Entrepreneur & Full-stack developer who likes to keep busy building cool stuff.

Related Posts

mcp server
Product·8 min read

The Strapi MCP server is now GA: a stable surface to wire agents to your content

Two months ago, the story was quiet quality work: the unglamorous fixing of small things that quietly get in the way of...

·June 29, 2026
Strapi June Community Call Recap
Beginner·8 min read

Strapi June Community Call Recap - Updates, news, Strapi MCP in GA.

TL;DR The call had two parts: quality work on the core, and new AI features. The main one is the native MCP server,...

·June 29, 2026
Build a Gift Registry Platform
Ecosystem·20 min read

How to Build a Gift Registry and Wishlist Platform with Next.js 16 and Strapi 5

Gift registries have a tricky requirement most apps don't: the owner should never know who claimed what. A wedding...

·June 26, 2026