A Wagtail extension for transferring content between multiple Wagtail instances, enabling staging-to-production workflows.
Wagtail Transfer is an extension for the Wagtail CMS that enables secure content transfer between multiple Wagtail instances. It allows developers to move pages, snippets, and related media from one environment to another (e.g., staging to production) while handling object references intelligently and preventing duplicate content. It solves the problem of manual content deployment in multi-environment Wagtail setups.
Wagtail developers and teams managing content across multiple environments (like staging, production, or regional sites) who need a reliable way to sync content without manual copying or risking data integrity.
Developers choose Wagtail Transfer because it's an official, secure, and configurable solution built specifically for Wagtail's data model. It automates complex content synchronization tasks, supports fine-grained control over what gets imported, and integrates seamlessly into existing Wagtail admin workflows.
Content transfer for Wagtail
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses secret keys (WAGTAILTRANSFER_SECRET_KEY and per-source SECRET_KEY) to authenticate API calls, preventing unauthorized data access as outlined in the installation settings.
Automatically imports related objects like images and snippets, with configurable settings such as WAGTAILTRANSFER_UPDATE_RELATED_MODELS to update or skip specific models during transfers.
Assigns UUIDs to objects for cross-site identification, ensuring updates instead of duplicates on subsequent imports, as highlighted in the management command preseed_transfer_table for aligning existing databases.
Offers fine-grained control through settings like WAGTAILTRANSFER_LOOKUP_FIELDS and WAGTAILTRANSFER_NO_FOLLOW_MODELS, allowing customization of import behavior for different models.
Requires multiple settings (e.g., WAGTAILTRANSFER_SOURCES, SECRET_KEY) and careful UUID alignment with management commands, which can be error-prone, especially for retrospective installations as described in the examples.
Settings cannot be applied to models defined through multi-table inheritance, such as specific Page subclasses, restricting flexibility for complex Wagtail sites, as noted in the configuration section.
Incorrect settings, like in WAGTAILTRANSFER_FOLLOWED_REVERSE_RELATIONS, can lead to successful imports but unexpected problems, as the documentation warns about mismatched relationships causing issues on future imports.