CoursesBuild landing pages with Next.jsAn introduction to page builders
Track
Work-ready Next.js

Build landing pages with Next.js

Lesson
1

An introduction to page builders

Setup your page builder the right way with Sanity and Next.js, understanding the process and best practices. With editing affordances your content creators will understand and appreciate.
Jono Alford
Jono AlfordFounder, Roboto Studio
Log in to mark your progress for each Lesson and Task

By the end of this course, you'll have a robust page builder that allows you to generate pages with a set of reusable "blocks". Not only will you learn how to implement new blocks but you'll understand every step of the process, and ensure best practices for your editors.

But before we get into things, why don't we quickly discuss what a page builder is? Dependent on your experience, you may have a range of different expectations as to what a page builder actually is.

Think of a page builder as a set of stackable LEGO blocks, where each block is a piece of content that can be used to build a page. This is an apt description, because it's rare that a page will go left and right, it'll almost always go from top to bottom.

The drag-and-drop functionality in Sanity's Visual Editing can be used to move items that are laid out horizontally, even if the same content is represented vertically in the Sanity Studio.

In simple terms, described as Sanity Schema Types, a page builder is an array of objects.

With this in mind, a page builder allows you to move blocks vertically on a page, and to add and remove blocks on a page. If you build a new component for it, it can then be used on any page and added to the selection of blocks within your page builder.

While this course focuses primarily on page building for web pages, the same approach of being able to create an ordered list of different shapes of content may also be used in other front ends like applications.

Consider this: The Portable Text Editor is also "just" an array of objects. And yet its purpose can conjure a very different idea of what content is suitable to enter into it, and how it may be presented!

As much as possible, your page builder should be modeling content, not presentation. While rare, consider future opportunities where other applications may consume this same content and display it in a different way, or a different context, with different meaning.

With a page builder, you're allowing your content team to build pages without relying on developers. They can change the order of content, use repeatable components to create consistency and ultimately generate new pages in a fraction of the time.

What's very useful about the above, is the fact that when you build a new block, your whole team has access to that block to use throughout any of the pages that use the page builder.

  • Speed: Content teams can build pages in a fraction of the time.
  • Consistency: Repeatable components can be used to create consistency across pages.
  • Flexibility: Content teams can change the order of content and add and remove blocks from a page.

You have to think about how you will structure your page builder. Whether you use a single page builder throughout all of your pages, or whether you want to have specific page builders for different pages.

You shouldn't use it for something like a blog, where almost all blog posts follow the same formulaic structure of a big chunk of text with a few images.

Always remember, as soon as you add a page builder, you're handing over the reins for page layout to your content team, and a lack of rigidity can result in inconsistent user experiences.

Over time your authors may have many requests for unique blocks, and your page builder becomes difficult to maintain or understand. A strict adherence to consistency can reduce the likelihood of "runaway schema."

My name is Jono, and I'm the founder of Roboto Studio. I have been building websites for many years, focusing on delivering the best editorial experiences with cutting-edge technologies. I wrote this course to simplify the process of creating a page builder with Sanity and Next.js.

The goal is to provide a straightforward course on crafting a solid page builder that allows your end users to have the best editorial experience. After years of building websites with Sanity and Next.js, I wrote this course based on what I wish I had learned when I first started building.

Throughout this course, you will learn the process of building blocks and the positive and negative implications of content modeling decisions. By the end of the course you will be able to design and manage page builder blocks easily and have an understanding of the best practices.

Now, let's go ahead and build the page builder blocks.

Mark lesson as complete
You have 1 uncompleted task in this lesson
0 of 1