Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

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 month 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