Skip to content
drupalhacks.dev
Every guide free. No signup wall.

Hacks for Drupal developers

Learn, build and ship better Drupal: practical hacks for Drupal developers.

Browse by topics

Fundamentals

How Drupal thinks: nodes, entities, fields, blocks, Views, users and permissions, and the request lifecycle that ties them together.

Modules

Custom module development: routes, controllers, forms, blocks, menus and permissions, written the way core writes them.

Hooks

Procedural hooks, OOP #[Hook] attributes, event subscribers and alter hooks: changing what Drupal does without touching core.

Entities

The Entity API, field types, bundles, entity queries, typed data and custom entities that scale past the first thousand rows.

Theming

Twig templates, render arrays, preprocess functions, libraries, single directory components and starterkit themes.

Caching

Cache tags, contexts and max-age, the render cache, Dynamic Page Cache and BigPipe, and why the page you changed still looks old.

Architecture

Services, dependency injection, the plugin system, design patterns and the Symfony components underneath it all.

Upgrades

Moving between major versions: deprecations, Upgrade Status, Drupal Rector and keeping a site current from 9 to 10 to 11.

Migration

The Migrate API, source and process plugins, Drupal 7 to modern Drupal, and imports from CSV, JSON and other platforms.

Configuration

Configuration management, config schema, Config Split, overrides and the State API, and deploying config without surprises.

APIs

JSON:API, REST, GraphQL and decoupled front ends, plus the HTTP client for talking to everything else.

Performance

Profiling, database queries, Redis, Varnish, CDNs, queues and cron: find the slow part, then prove the fix worked.

Get new posts by email

We send one email when a new post is published. No spam.

Unsubscribe in one click. No spam, ever.