✨ 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

Strapi AI Content-Type Builder: Generate Schemas from Natural Language Prompts
Ecosystem·17 min read

Strapi AI Content-Type Builder: Generate Schemas from Natural Language Prompts

Generate Collection Types, fields, and relations from plain-language prompts using Strapi AI in the Content-Type Builder. Growth plan on Strapi 5.30+.

·September 17, 2026
Building Multi-Step Content Pipelines with Strapi MCP, n8n, and AI Agents
Ecosystem·18 min read

Building Multi-Step Content Pipelines with Strapi MCP, n8n, and AI Agents

Learn how to connect Strapi's MCP server to n8n AI agents to automate research, drafting, approval, and publishing in one repeatable content pipeline.

·September 17, 2026
How to Auto-Generate Alt Text and Captions with Strapi AI Media Library
Ecosystem·17 min read

How to Auto-Generate Alt Text and Captions with Strapi AI Media Library

Learn how Strapi AI Media Library auto-generates alt text and captions for images on upload, plus how to backfill your existing image library in bulk.

·September 17, 2026