Drupal

Plan and build a customized Drupal implementation, from content modeling and custom modules to integrations, Drupal 7 migration, SSO and a supported upgrade path.

On this page

What a customized Drupal implementation involves

Drupal is a PHP content management framework built on Symfony components, managed with Composer and licensed under the GNU GPL version 2 or later. Content is stored as entities with bundles and fields, Views turns them into listings, feeds or API output, and site structure lives in configuration exported to YAML and deployed like code.

Sites with several content teams usually need a shared content model, editorial review, multiple languages, connections to identity and business systems, and a codebase that survives major-version upgrades. Most of the effort sits in modeling, custom code decisions and migration.

There are two starting points. Drupal core is the framework plus modules the team selects. Drupal CMS is a packaged product on core with recipes, Project Browser and automatic updates; version 2.0, released in January 2026 on Drupal core 11.3, made Drupal Canvas the default visual page editor. Custom modules and themes work the same way on either.

Discovery covers the content inventory, audiences, editorial roles and approvals, languages, integrations, the accessibility target, hosting constraints and ownership after launch. It produces a content model, an integration list and a decision record that places each requirement in configuration, a contributed module or custom code.

Model content before building pages

Templates, search, APIs and migration all depend on the content model.

Content types and fields

Define each type by its fields, cardinality and validation, and reuse a field only where it means the same thing. A few well-defined types are easier to template, search and migrate than one generic page type.

Taxonomy and references

Vocabularies hold topics, audiences or departments, and entity reference fields link content. Decide which relationships drive navigation, listings and search facets.

Media

The core Media module stores images, documents and remote video as reusable entities with fields for alt text and rights. Where assets live in a DAM, a media source plugin can reference them.

Page composition

Layout Builder, the contributed Paragraphs module and Drupal Canvas each store layout differently, which affects training, API output and the next migration. Pick one primary approach per site.

Workflow and languages

Core Content Moderation adds draft, review and published states with permissions per transition. Core multilingual modules translate content, interface and configuration; decide per field what is translated.

Configuration, contributed modules or custom code

Every requirement lands in one of these layers. Lower rows cost more to carry through upgrades.

LayerTypical useUpgrade cost
Configuration and recipesContent types, fields, Views, menus, roles and workflows, exported as YAML or applied from recipes.Low. Review configuration changes in pull requests like code.
Contributed modulesCommunity modules for SSO, search, redirects, metadata, forms and layout.Moderate. Each has its own maintainers and major-version support. Check security advisory coverage and recent maintenance first.
Custom modulesBusiness rules, integrations, custom entities, plugins and event subscribers.Highest. Your team carries the code through each major. Upgrade Status and Drupal Rector find and fix deprecated APIs.
Custom themeTwig templates, CSS and JavaScript, often as single-directory components.Moderate. Base theme and component changes can require template updates.

Integrations to scope early

Editors sign in through SAML or OpenID Connect using contributed modules. Map identity provider groups to Drupal roles, require multi-factor authentication at the provider, and keep one local administrator account sealed for recovery.

Migrate from Drupal 7 and other platforms

Drupal 7 reached end of life on January 5, 2025, and does not upgrade in place. The new site gets its own content model, and content moves through the Migrate API: source plugins read old data, process plugins transform it, and destination plugins write entities.

The core Migrate Drupal modules that read Drupal 6 and 7 sources are deprecated in Drupal 11 and will not be included in Drupal 12. Plan Drupal 7 migrations onto Drupal 11, in a custom module that can be removed after launch.

WordPress or custom databases use SQL, CSV, JSON or XML sources the same way. Run, review with owners, roll back and rerun until the output is accepted, then do a final delta run. Retire content nobody owns, and map old URLs with the Redirect module.

Accessibility, performance and rollout

Accessibility

Drupal core targets WCAG 2.2 level AA. Custom themes and components need automated scans plus keyboard and screen reader checks, and editors need guidance on headings and alt text.

Caching

Cache tags invalidate only the pages a change affects. Custom code must declare correct cache metadata, or pages go stale or stop caching.

Testing

PHPUnit unit, kernel and functional tests for custom modules, end-to-end tests for editorial journeys and forms, and static analysis in CI.

Training and launch

Train editors on staging with their own migrated content. Launch one section first where the structure allows, and keep a short guide per content type.

Hosting, security and upgrades

Dates are from the drupal.org release schedule as of October 2026.

AreaPracticeCheck
HostingPHP behind nginx or Apache with MySQL, MariaDB or PostgreSQL. drupal.org lists PHP 8.3 to 8.5 for Drupal 11.3 and later, and PHP 8.5 for Drupal 12.0.Deploys come from Composer and committed configuration only.
Caching and CDNA reverse proxy or CDN for anonymous traffic with cache-tag purging, and Redis or Memcache for cache bins.Signed-in pages are never cached publicly.
Security releasesThe Drupal Security Team publishes advisories for core and covered contributed projects. Contributed windows are every Wednesday; core usually uses the third Wednesday.A named person reviews each advisory against your patch policy.
BackupsDatabase, public and private files and settings together, with configuration also in Git.A restore into a clean environment passes a smoke test.
Version policyMinors ship in June and December with about a year of security fixes. Drupal 12 is scheduled for the week of December 7, 2026, and Drupal 10 reaches end of life on December 9, 2026.No site runs an unsupported minor, and Drupal 10 sites have a dated upgrade plan.

Drupal operating ownership

Name the owners for the platform, the custom code and the content before launch.

Platform team

  • Applies core and contributed updates.
  • Runs backups, restore tests and monitoring.

Developers

  • Maintain custom modules, the theme and tests.
  • Remove deprecated APIs before each major.

Content owners

  • Own sections and content type guides.
  • Review editor roles on a schedule.

Security

  • Decides patch timing for each advisory.
  • Keeps patching and access review records.

Drupal implementation questions

Should we start from Drupal CMS or Drupal core?

Drupal CMS gives editors Canvas, curated modules and recipes from the start. Core suits teams with a defined content model who want only the modules they choose.

Does the GPL require us to publish our custom code?

The drupal.org licensing FAQ says modules and themes must be licensed under GPL version 2 or later if you distribute them. Code kept for your own site does not have to be published. Check edge cases with counsel.

What drives the effort of a Drupal 7 migration?

Content types and fields, custom modules without a Drupal 11 equivalent, content quality, languages and design changes. A pilot migration of one content type is a better basis for an estimate than a page count.

Scope and handover

DeployOpen runs discovery, designs the content model, builds configuration, custom modules and the theme, integrates SSO, search and business systems, migrates content, and sets up hosting, caching and backups in your infrastructure. It also tests custom code and access controls and prepares patching and access records for SOC 2, ISO 27001 or NIS2 readiness; audit reports come from your auditor.

Handover includes the Composer and configuration repository, the content model and decision record, the module inventory, migration acceptance results, backup test results, the next upgrade plan and editor guides.

Sources and further reading

More on Drupal

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.