Drupal is a registered trademark of Dries Buytaert

The Problem: Drupal's Configuration Management system exports block configuration (placement, visibility settings, plugin configuration), but it cannot export custom block content. Custom blocks created at /block/add are content entities, not configuration, leaving a gap when deploying blocks between environments or sharing them across sites. Existing solutions like Default Content focus on nodes and other entity types, but lack robust block-specific migration tools with translation support.

The Solution: Block Migration provides Drush commands to export and import custom block content between Drupal sites with full multilingual support, filling this critical gap in Drupal's deployment workflow.

Use cases:

  • Migrate blocks between development, staging, and production environments
  • Share block configurations across multisite installations
  • Back up and restore block content as code
  • Deploy block content via version control

Key features:

  • Supports any block bundle (basic, custom types, etc.)
  • Auto-detects and exports all custom fields
  • Full translation support - one YAML file per language
  • Flexible filtering by block IDs, bundles, languages, or label patterns
  • Safe mode (skip existing) and override mode (update existing)
  • Dry-run preview option
  • Compatible with 15+ field types including text, entity references, images, links, dates, and more

Requirements:

  • Single Content Sync module (for import functionality)
  • Drush 10 or higher

Basic usage:

drush bm-export /path/to/output
drush bm-import /path/to/yaml

See the README for complete documentation and advanced filtering options.

Activity

Total releases
2
First release
Feb 2026
Latest release
1 week ago
Release cadence
2 days
Stability
0% stable

Releases

Version Type Release date
1.x-dev Dev Feb 22, 2026
1.0.x-dev Dev Feb 20, 2026