We chose to create a set of content on our site as a category group. We're starting to port over content from our old site (Drupal) and have realized a few bummers — the main one being no revision support. We are debating the idea of migrating the category group into a structure instead. The content is stored in various fields including Neo blocks.

Is it possible to migrate this content in an automated way or would be need to move all content manually from the category to the structure?

I'm aware that you can change section type, but it seems less likely that you can change from category to a section type.

Some ideas we've had so far:

  • Create the new structure (with the same fields as the category group)
    • Then use Feed Me to get content from category -> section
    • or try to update the content in the DB to point to the structure instead of the category group?

2 Answers 2


Craft 4.4 (which is due to release in Q1 2023) will include a native CLI command that will "aid in migrating existing categories, tags, and global sets over to entries". Full details here: https://github.com/craftcms/cms/discussions/9781#discussioncomment-3964944

  • Yep this will help in the future for sure. Commented Jun 20, 2023 at 17:10

I used the Feed Me approach years ago. Changed from Categories to Structures too, and all new projects are always Structures instead of Categories.

  • Interesting, we might try that. What makes you default to structures these days? Commented Aug 18, 2022 at 19:49
  • You are more flexible than with Categories. Also, for Craft 4, it was once thought that categories would be completely eliminated. But then the plans changed. Read the whole story with pro/cons here: github.com/craftcms/cms/discussions/9781 Commented Aug 18, 2022 at 21:53
  • Ah thanks for link! Commented Aug 23, 2022 at 13:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.