Drupal content modeling with Paragraphs and Layout Builder

Choosing how editors build pages in Drupal determines how reusable your content stays across websites, apps and channels. This page covers the options, the modeling decisions and what the work involves.

On this page

Why Drupal content modeling with Paragraphs and Layout Builder needs a decision before the build

An editorial team that needs structured, editor-friendly pages should settle its page-building approach before the first content type is created. Paragraphs, Layout Builder and Drupal Canvas solve different problems, and the choice shapes content types, field permissions, the migration plan and how far content can be reused on other channels. Paragraphs models reusable blocks of structured fields inside a content entity. Layout Builder lets editors arrange sections and blocks on a page. Drupal Canvas, previously Experience Builder, is a visual page builder that the Drupal CMS page describes for marketers and content teams. Each one places layout, content and presentation in a different part of the model, so a team that picks one without a plan can end up rebuilding content types later.

This decision usually comes up in three situations: a new build, a redesign of an existing site, or a move away from free-form body fields that editors have used to paste HTML. Teams that are leaving a body field often discover that the content they need to reuse, such as a call to action, a stat block or a product teaser, is buried in markup. In each case the work is best scoped with content owners and editors before any theme work starts, because the content model determines what the theme has to render, which fields editors can edit, and which roles can change layout or only content.

Confirm the current status of each module against your target Drupal release before you commit. The Drupal CMS page on Drupal.org describes the status of Drupal Canvas and the recipes that ship with it, and the project pages for Paragraphs and Layout Builder on Drupal.org list supported core versions and maintenance status. Your Drupal version also sets which major versions and PHP levels apply, so check those requirements early, and ask your implementation partner to document the chosen approach in writing with the content owners who will sign off on it.

What Paragraphs, Layout Builder and Drupal Canvas each do

Drupal offers several ways to assemble structured pages, and each one sits at a different level of the content model. Paragraphs holds reusable blocks of content, Layout Builder arranges sections on a display, and Drupal Canvas is a visual builder described on the Drupal CMS page. Choosing between them starts with deciding which parts of a page belong to content and which belong to layout.

Content types and fields

Content types and their fields are the foundation under every page-building approach. Fields define what an editor enters, such as a title, body, image or reference, and they determine how that content can be reused in other channels like APIs, search or feeds. Model entities around what the content is, not how one page happens to look. Before choosing a builder, list the fields each content type needs and which ones must stay consistent across channels. Confirm which field types your chosen Drupal version and contributed modules support.

Paragraphs as reusable blocks

The Paragraphs module lets you add a field to a host entity, such as a node, that holds a set of reusable paragraph types. Each paragraph type has its own fields, so an editor can add a hero, a quote or a call to action in a defined order. Because paragraphs are entities stored inside a host, they can be reused and rendered consistently across templates. Check the paragraph type limits, nesting depth and translation behavior against the Drupal.org documentation for the version you run.

Layout Builder for section layouts

Layout Builder is part of Drupal core and lets site builders define sections and regions for a content type or view mode, then lets editors place blocks into those regions for a specific entity. It answers the question of where content sits on a page, rather than what the content is. Override behavior matters: a layout can be set as the default for all entities of a type or changed for one entity. Confirm how overrides, revisions and content moderation interact before editors rely on them.

Drupal Canvas as a visual builder

The Drupal CMS page describes Drupal Canvas, previously Experience Builder, as the visual page builder in the Drupal CMS distribution, built for marketers and content teams. It is a different product from the core modules and sits within a distribution rather than a standard core install. Treat it as a decision to evaluate against your existing content model, not a drop-in replacement for Paragraphs or Layout Builder. Confirm its current status, supported Drupal version and component model with Drupal.org before you commit a design to it.

Compatibility with your Drupal version

Paragraphs, Layout Builder and Drupal Canvas each depend on specific Drupal core and contributed module versions. Drupal 10 requires PHP 8.1 or later and Drupal 11 requires PHP 8.3 or later, so a PHP upgrade can be part of the same decision. Check each module's release notes and supported core versions on its Drupal.org project page before choosing. Plan the upgrade path for paragraph types and layouts, since changes to field storage can affect existing content.

Which option fits which page type and team

This table compares Paragraphs, Layout Builder and Drupal Canvas across the decisions that shape a content model: who builds layouts, multi-channel reuse, design governance, preview and versioning, and translation and permissions. Read each row against your own team and channels, and treat any cell marked for verification as a question to confirm against current module documentation before you commit.

DecisionParagraphsLayout BuilderDrupal Canvas
Who builds layoutsEditors compose from predefined paragraph types; developers define the types and their templatesEditors rearrange blocks per node or template; developers provide the blocks and sectionsMarketers assemble pages visually from components; developers build and expose components (verify current maturity)
Same block on web, app and emailStrong fit: paragraphs are fields, so headless APIs and other templates can read them (verify JSON:API output)Weak fit: layout lives in presentation config, so other channels usually need a separate rendering pathLimited for now: built for page rendering on Drupal; confirm how components reach non-web outputs
Design change governanceChanges to paragraph templates are code and theme work, reviewed through normal releasesSection and block layouts can drift per page unless templates are locked down with configurationComponents and page templates are managed through the builder; confirm how changes are reviewed and promoted between environments
Preview and versioningPreview depends on the node form and theme; revisions track paragraph field changes with the nodePreview is per node in the layout interface; layout overrides are stored separately from content revisions (verify with Content Moderation)Visual preview is the core feature; confirm how drafts combine with Content Moderation and Workspaces
TranslationParagraph fields can be translatable per field; plan which paragraph types carry translated textLayout overrides per translation can multiply maintenance; keep block content translatable and layouts sharedConfirm translation behavior for built components and page content before committing
PermissionsControlled through entity and field permissions on the parent node and each paragraph typeControlled through layout and block permissions; editors can change layouts they can accessControlled through builder and component permissions; confirm roles against your editorial model
Fits whenStructured landing pages, reusable content blocks and content that must reach several channelsTemplate-level page layouts with limited editor control and a small set of block typesMarketing-led teams that need visual page building and accept a newer, faster-moving tool
Wrong tool whenEditors need free-form page design, or content is a single long text bodyContent must be reused outside the website or layouts vary heavily per pageRegulated content needs strict versioning, or the site must run on an older Drupal core release

How the model changes by team, channel and content type

Marketing teams usually need to assemble landing pages quickly, so the model leans toward Paragraphs or Layout Builder with a small set of well-named content types. Editors choose the components and their order, and the page is the unit of change. The governance rule is that editors may add and reorder components on pages but may not create new component types. Each paragraph type should map to one job, such as hero, feature grid or call to action, so that a page can be rebuilt without rewriting its text.

  • Shared components: brand blocks such as the hero, testimonial and call to action, defined once with fixed fields and used across pages.
  • Page-specific content: headlines, campaign copy and one-off images entered in the paragraph instance, not in a shared library.
  • Layout control: Layout Builder sections give more visual freedom, while Paragraphs keep the component list in the content record, which is easier to query.
  • Trade-off: more freedom means more variation in tone and accessibility, so set guardrails on heading levels and image alt text.
  • Drupal CMS: if the team wants a visual builder with recipes, check the Drupal CMS page and confirm how it fits your existing content model.

Before committing, check which components marketing will reuse across campaigns and which will be rebuilt for each launch.

How the modeling work runs from content audit to editor sign-off

The sequence turns an inventory of existing pages into a content model that editors can use, reuse across channels and sign off before build work starts. Each stage closes with a named artifact so the client knows exactly what has been approved.

  1. Audit content and inventory existing pages

    The team reviews current pages, templates, content types and the editorial tasks behind them, with content owners and at least one editor from each team that publishes. The output is a page inventory listing each page pattern, its fields, its owners and the places where editors currently work around the templates. The client confirms the inventory is complete before modeling starts, because any page type missing here is likely to be built as an exception later.

  2. Define channel and reuse requirements

    Work with product and channel owners to list every place the content must appear, such as the main site, a mobile app, email, search results or a partner feed, and which parts of each page must be reusable. The output is a requirements document that separates shared content (for example, a product summary or a legal notice) from page layout. Ask each owner to confirm which channels are live now and which are planned, so the model does not depend on a channel that may not exist.

  3. Select the layout option per content type

    For each content type, the team compares Paragraphs for structured reusable sections, Layout Builder for editor-controlled arrangement within a fixed content type, and Drupal Canvas for visual page building where the current version fits the team's needs. The output is a decision record per content type that states the chosen option, the reason and the known limits. Confirm the current status and supported features of each option in your Drupal version before the decision is final, because these modules change between releases.

  4. Design content types and paragraph types

    The team turns the approved decisions into a model: content types, paragraph types, fields, required values, reference rules and display modes, with a short description of how each one is reused. The output is an approved model diagram and a list of paragraph types with their fields, limits and the channels that read each one. Content owners sign off on this model before any development begins, since changing fields after templates and migrations are built is costly.

  5. Map permissions and editorial workflow

    The team maps which roles can create, edit, reuse and publish each content type and paragraph type, and where Content Moderation states apply. The output is a permissions matrix and a workflow diagram showing who approves what and which states a page passes through. Security and content owners review the matrix together, and the client confirms it matches its governance rules before the prototype is built.

  6. Prototype with real editor tasks

    Editors use a working prototype on the agreed model to complete tasks drawn from the inventory, such as building a landing page from reusable sections or updating a shared notice across pages. The output is a short log of tasks attempted, where editors stalled and the changes agreed in response. The prototype is accepted only when the common tasks can be completed without developer help, and the client records that acceptance in writing.

  7. Build components and templates

    Developers build the approved paragraph types, layout configuration, templates and preprocessing for each channel, using custom modules where core and contributed options do not cover a need. The output is a deployed build in the client's environment with a list of components and their template mappings. Each component is checked against the model diagram, and any deviation is reported back to the content owners before it is accepted.

  8. Train editors and run acceptance tests

    The team runs training sessions for editors and reviewers and then executes acceptance tests written from the inventory and the permissions matrix. The output is a signed acceptance test report, training materials and a list of open issues with owners. Sign-off from the content owners closes the work, and any issues left open should be agreed as a scheduled backlog rather than left unassigned.

What drives effort and how to keep it down

This table lists the factors that change the size of a Paragraphs and Layout Builder project and the controls that keep each one contained. Read each row as a question to answer before quoting, since the first column names the driver and the second and third explain its effect and its containment. The main takeaway is that the model, component library and version target should be settled before any migration or page build begins.

DriverHow it changes the workHow to keep it contained
Content types and paragraph typesEach new content type adds fields, view modes, permissions and templates, and each paragraph type adds a component an editor and a themer must both understand.Agree a component library early, merge overlapping paragraph types, and sign off the list before build starts.
Existing pages to migrateLegacy pages rarely map cleanly to paragraphs, so each source layout needs a mapping rule, a transform and a review pass.Migrate by content type with a sample set first, and set a cut-off for which legacy pages are rebuilt by hand.
Channels consuming the modelA model read by a website, an app or an API needs stable field names, clear text formats and output that does not depend on one theme.List every channel at discovery, decide which ones consume paragraphs directly, and test one non-theme consumer early.
Translation requirementsEach translatable field and paragraph multiplies review work, and layout changes in one language must be mirrored in the others.Decide which fields are translatable before modeling, and keep layout-only paragraphs language-neutral where possible.
Editorial roles and approval flowsEditors need permissions for building pages, and approval steps add states that the layout and workflow configuration must respect.Define roles and the approval path with editors in the same workshop as the model, and test them with real drafts.
Layout Builder use per nodePer-node layouts are hard to govern, reuse and migrate, and they add overrides that must be reviewed when templates change.Limit per-node layouts to named exceptions and keep shared layouts in configuration.
Drupal version targetParagraphs and Layout Builder must be checked against the chosen major version, and Drupal 12 is scheduled for the week of December 7, 2026, per the core release schedule, so a target that spans that date needs an upgrade check.Confirm the module versions for the target release, run upgrade readiness checks on the model, and avoid custom code that depends on internals.
Model freeze before migrationChanges made during migration force re-runs of mappings and re-review of migrated content, which compounds with every other driver.Freeze the content model and component library before migration, and route later changes through a documented change process.

Moving existing pages into a paragraph or layout model

Migrating legacy body fields into structured components is usually the largest hidden cost of a paragraph or layout model. A classic body field holds HTML that editors have shaped over years, often with inline styles, embedded iframes, pasted tables and media tags that point at files which may have moved. Each of those patterns has to be mapped to a field on a paragraph type, a block in a Layout Builder section, or a media reference, and the mapping rules are rarely as tidy as the content model diagram suggests. Plan a discovery pass that samples real pages from every content type and section, counts the distinct markup patterns, and records which ones editors actually depend on. The number of patterns found in that pass, not the number of content types, is the best early indicator of effort. Ask any partner to show how they will handle unmatched markup, such as a fallback paragraph type or a report of pages that need manual review.

Decide page by page whether content is rebuilt, migrated as-is into a single rich text field, or archived. Rebuilding is worth the effort for landing pages, campaign pages and high-traffic guides that will be reused in new layouts. Archiving or leaving static copy is often the better choice for old announcements, event pages and press releases that nobody edits. Make that decision with the content owners, not only the developers, and record it in a migration inventory with an owner and a disposition for each section. Check URL aliases before any cutover: every alias that ranks, is linked from outside, or is referenced in forms or email should either be carried over exactly or redirected. Confirm also whether editorial history, revisions, translations and authorship must be kept, since some migration routes preserve revisions poorly and some content owners need them for audit.

If the source is Drupal 6 or 7, the migration path is different in kind. The Drupal.org documentation on upgrading from Drupal 6 or 7 to Drupal 8 and newer explains that these sites cannot simply be updated in place. They are migrated into a new site using the core Migrate, Migrate Drupal and Migrate Drupal UI modules or with Drush, and themes must be rebuilt because they cannot be migrated. That means the paragraph and Layout Builder mapping above must be designed alongside the new theme, and the mapping work cannot be treated as a content import task. Confirm with the team which current Drupal version the target will run on, because that choice sets the PHP and core requirements the new site must meet.

How the content model connects to the rest of the platform

A content model is only as useful as the systems that read it. Each connection below asks something specific of the fields, paragraph types and entity structure you define now, so decide them before the build rather than during the theming or migration phase.

Theme and component library

Paragraph types and Layout Builder sections are rendered by your theme, so each paragraph type needs a stable machine name, a defined field set and a matching component or template. Keep field names semantic rather than presentational, so a redesign does not force a data change. Confirm with your theme team which template system they will use and whether it supports the render arrays your paragraph types need. Read the core theming guidance on Drupal.org before locking field names.

Search index field mapping

Search API reads the fields you expose on each bundle, and it cannot index what the model does not store as a field. Nested paragraphs and layout sections need an explicit decision about which text, taxonomy references and images feed the index. Flatten searchable content into predictable fields where you can, and record which field feeds which facet. Confirm that your chosen search backend and module versions support the field types you plan to index.

Translation workflows

Translation depends on whether a paragraph is translatable and whether its fields are set per language. Decide early which bundles carry translatable text, which carry shared media or configuration, and which should never be duplicated. A model that mixes these in one paragraph type will make translation jobs hard to scope. Confirm translation module compatibility for your version before you plan review steps.

Editorial moderation and workflows

Content Moderation and Workspaces act on whole entities, so the state of a page depends on the state of every paragraph it embeds. Decide whether paragraphs are independently publishable or only move with their parent page. This choice shapes review steps, revisions and the permissions editors need. Read the editorial workflow page in this series before designing transitions.

JSON:API and headless front ends

Decoupled front ends read the model through JSON:API, which exposes paragraphs as nested resources with their own identifiers. Field names, entity references and image styles become part of your public contract, so changes need versioning discipline. Decide whether paragraphs are fetched inline or as separate resources, and test payload size on real pages. Read the headless Drupal page before you publish a schema.

Identity and editor permissions

Paragraph and layout permissions are separate from node permissions, so an editor who can edit a page may still be unable to add a specific paragraph type. Map roles to paragraph types, layout sections and text formats deliberately, and test them with each identity source you connect. Single sign-on changes how roles are assigned but not what they allow. Confirm how your identity module maps groups to Drupal roles before you define the permission matrix.

What buyers ask before hiring a partner for Drupal content modeling

How much does a Paragraphs or Layout Builder implementation cost?

The cost depends on the written scope, not on the module name. Paragraphs and Layout Builder are both free, open-source Drupal contributed or core components, so the fees you pay are for people: discovery, content type and paragraph design, theme component work, editor training and testing. The main drivers are the number of content types and paragraph types, how many channels the model must serve, how much custom field logic or validation is needed, and how many editorial roles must be supported. Ask for a quote that lists each deliverable, what is one-time build effort and what is ongoing support, and which items are excluded. DeployOpen does not publish a price list, so the quote follows from the agreed scope.

How long does the content modeling phase take?

The schedule is set by how many content decisions must be made and how quickly stakeholders can make them. Modeling usually runs in stages: a content inventory, a review of existing templates, a proposed model, editor walkthroughs, and a build of the agreed types. Schedule drivers include the number of distinct page patterns, the count of stakeholders who must approve a model, whether legacy content must be mapped, and whether the brand design system already has components for each pattern. Ask the partner to show the phases, the review points and the sign-off owners in the written plan, and to state what happens if a review is delayed.

What must our team provide before modeling starts?

Plan to supply four things. First, a content inventory covering existing page types, their fields, volumes and owners, even if it is a spreadsheet. Second, named editors who can attend workshops and test prototypes during the build. Third, brand components, style guides and design files that define the page patterns your marketing team uses. Fourth, sign-off owners with authority over content structure, accessibility and publishing rules, so decisions are not reopened late. Confirm in the scope which of these are your responsibility, how many review cycles are included, and who will approve the final model.

Can our internal team build the content model without a partner?

Yes, many teams do, especially when they already run Drupal and have developers familiar with content types, field configuration and theme templates. A partner adds value when the model must serve several channels, when editors and developers need an outside reviewer for structure decisions, or when the team has no spare capacity. The decision usually comes down to skills, time and risk tolerance. Ask yourself whether your team can maintain the model after launch, write the tests that catch regressions, and document decisions for future upgrades. A written scope lets you compare doing it internally against a partner's deliverables side by side.

Is Drupal Canvas ready for our use case?

Drupal Canvas, previously called Experience Builder, is a visual page builder included in Drupal CMS, which is a distribution built on Drupal core. Whether it fits depends on your editors' needs, your governance rules and the maturity you require for your channels. Check whether the features you need are available in the version you will run, whether your component library can be exposed to editors safely, and how pages built in Canvas will be exported, reviewed and upgraded. Layout Builder and Paragraphs remain established options with their own trade-offs. A written assessment should test Canvas against your real pages before you commit the model to it.

How does the content model affect future Drupal upgrades?

Upgrade cost is shaped mostly by how much custom code and configuration sit on top of the model. Heavy custom field logic, nested paragraphs with complex dependencies, and theme templates that rely on undocumented field names all increase the work when core or contributed modules change. Drupal core moves to new major versions roughly every three years, and Drupal 10 reaches end of life on December 9, 2026, so plan the model with that calendar in mind. Ask for the model to be documented, covered by automated tests where practical, and kept in configuration management so upgrades can be checked in a staging environment.

What happens to the model when new channels are added?

A well-designed model separates the content itself from the presentation, so a new channel reads the same fields and renders them differently. Problems appear when content types were designed around one page layout, such as a homepage template with fixed positions, because another channel then needs duplicated fields. Ask how the model will expose content to APIs or other front ends, how fields will be named and documented, and how editors will know which fields apply to which channel. Your written scope should state which channels are in the first release and how adding a channel is handled as a later change.

How DeployOpen works on this

DeployOpen plans and builds Drupal content models as part of a self-hosted platform inside your own infrastructure. We start from the content your teams publish and the channels it must reach, then agree the Paragraphs, Layout Builder and content type design in writing before build work starts.

How we scope

  • The written scope lists each content type, paragraph type and layout region to be built, with the editors who will use them.
  • Scope names which pages use Paragraphs, which use Layout Builder and which stay as fixed templates, with reasons for each choice.
  • Engagements are fixed-scope, so scope, deliverables and timelines are agreed in writing before work starts, and a quote follows from that scope.

How we build

  • Content types and fields are built as configuration, so the model can be exported, reviewed and deployed across environments.
  • Paragraph types are kept free of presentation logic, so the same content can feed a theme, an API or another channel.
  • Each layout and paragraph type is tested with real editor workflows, including revisions, translations and content moderation where in scope.

How we hand over

  • Handover includes the content model documentation, a field and bundle inventory, and the configuration export used to rebuild the site.
  • Editors receive guidance on when to add a paragraph, when to change a layout and when to request a new content type.
  • Upgrade notes cover the contributed modules involved, so future Drupal core and module upgrades can be planned against a known model.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, so the model keeps working through Drupal releases.
  • Retainer work can cover adding paragraph types, reviewing new editor requests and checking the model before each planned upgrade.
  • Ask any partner to confirm which contributed module versions and Drupal core versions they will test against during the engagement.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.