Developer Journal

Intermediate · 9 minute read

Converting a Hard-Coded Drupal Landing Page to Paragraphs

A practical content model for turning a custom Twig portfolio into an editable, reusable Drupal page.

Last updated August 6, 2026

A polished Twig page can become difficult to maintain when its copy and repeated components are embedded in templates or installation code. The presentation belongs in Twig; editorial values belong in Drupal entities.

Model stable sections and repeatable components

Use typed node fields for hero, profile, contact, and section headings. Use Paragraph types for repeatable experience roles, selected projects, and skill groups.

Migrate without losing the existing page

  1. Create and export field configuration.
  2. Create an idempotent content migration.
  3. Render the new node with a bundle-specific Twig template.
  4. Point the front page to an environment-independent alias.
  5. Keep legacy blocks temporarily as a rollback source.

Test the editorial experience

Verify that editors can add, duplicate, reorder, collapse, and remove Paragraph components. Confirm CKEditor formats long text fields and that unpublished test content can be safely created and removed.

The result

The site retains a purpose-built frontend while Drupal manages structured content, revisions, permissions, configuration exports, and reusable components.