Inkognito
How to build a Wordpress to BeaconCMS migrator?
I recently came across
If someone wanted to tackle writing a Wordpress -> @BeaconCMS migrator that would be awesome#ElixrLang
— Brian Cardarella | bcardarella.bsky.social (@bcardarella) March 6, 2025
I was curious about how such a solution would look like ?
I am not familiar enough with WordPress ecosystem, do they export and import sites with default WordPress file exporter or some other plugin is the go to ?
Would our migrator ingest the WXR / xml and map it to existing users and functional components ? or is there some other way to do this?
How would it look like functionally (CLI tool, beacon live admin page, script ?)
It would definitely be a large undertaking, is there a way to eat this elephant one bite at a time ?
Most Liked
Inkognito
Incase anyone views this !!
Approach I am taking
UX
→ have a custom page on beacon live admin for each site
→ the user can upload 3 files
- input xml file definition (input_config.xml)
- maps xml elements to beacon components, slots, attributes and hooks (mapper.xml)
- input data exported from WordPress or from an existing beacon site
Unresolved points
→ multi media migration
Technical details
→ use Beacon.LiveAdmin.PageBuilder for UI, this also simplifies life as we get access to live_upload
→ a Dynamic supervisor and registry with name being site name for maintaining state
→ SAXY for parsing of XMLs
→ Utilize Beacon.LiveAdmin.Client.Content to make changes to actual site
Other considerations
→ dropping input config file keep only mapping file less robust can still be “extended” for handling different versions/formats other CMS platforms
→ hardcode WXR quick to get up maintenance nightmare
Any solution should eventually be able to import/export to format of users choice
Any feedback and suggestions are welcome
MarcusRiemer
Just because this recently crossed my path: Wordpress has an ongoing effort to make import and export of its data as transferable as possible. I didn’t manage to find much of a specification in my ~2 minutes searching the web though. It seems that format wise an export via “WordPress eXtended RSS” (wxr) you mentioned still seems the current way to go.







