<p>There's a few ways to handle this. The best approach may depend on whether you are importing content to an existing production environment or populating a new 'fresh/empty' production environment from a staging server, whether the site needs to remain online while the content is added and other variables.</p>
<p>I've achieved this in the past in a number of ways. It's worth noting that some of these approaches will require a degree of devops and/or PHP development skills to achieve.</p>
<p>If you're deploying to a new production environment, i.e. you're launching a new site with signed-off content from staging, you can just export out the staging database and import it into your production database.</p>
<p>If you're deploying to an existing production environment that already has content and you want to update it with new signed-off content from your staging environment, you can create a <a href="https://craftcms.com/docs/4.x/extend/element-exporter-types.html#creating-custom-exporter-types" rel="nofollow noreferrer">custom exporter</a> to export your content from the staging environment into a format (e.g. CSV) that you can then use with the <a href="https://plugins.craftcms.com/feed-me?craft4" rel="nofollow noreferrer">FeedMe plugin</a> to import the content into your production site. This can be run in the background for a production site, meaning there's no downtime.</p>
<p>I've used both of these approaches in the past with very few issues.</p>
<p>There is a third option which I've not tried but that looks promising, especially if you aren't comfortable importing/exporting database dumps or writing PHP code to create a custom exporter. Verbb have recently released a plugin called <a href="https://verbb.io/craft-plugins/zen/features" rel="nofollow noreferrer">Zen</a> which offers content import/export functionality from within the Craft control panel. Verbb's plugins are high-quality and are well-supported and updated, so I wouldn't hesitate to try this if you think it will work for you. (Note: I don't work for Verbb but I use a number of their plugins on every Craft site I build and rate them very highly)</p>

CC BY-SA 4.0
2024-02-19T13:14:04.793Z
Thanks for your response, we will try the mentioned methods and keep you posted on the updates.
Selva
CC BY-SA 4.0
2024-02-19T11:39:44.023Z
2024-02-19T11:39:44.023Z
Martin Spain
<p>We are presently working on content development on the staging site. Once UAT is complete and approval is obtained, we intend to transfer this content to the production site. However, we have encountered a challenge as there are no apparent options within CraftCMS 4 to migrate content from one site to another. Essentially, we need a solution to import and export the entries created on the staging site for migration to the production site.</p>
<p>Could someone please review this and advise if there are any possible solutions for this scenario?</p>

<craft4><migration><content>
Content Migration in Craft 4
# Content Migration in Craft 4

(Asked by: username_0 on 2024-02-16)

We are presently working on content development on the staging site. Once UAT is complete and approval is obtained, we intend to transfer this content to the production site. However, we have encountered a challenge as there are no apparent options within CraftCMS 4 to migrate content from one site to another. Essentially, we need a solution to import and export the entries created on the staging site for migration to the production site.

Could someone please review this and advise if there are any possible solutions for this scenario?

**Tags:** craft4, migration, content

---

## 1 answers

### Answer by username_1 on 2024-02-19. Score: 1

There's a few ways to handle this. The best approach may depend on whether you are importing content to an existing production environment or populating a new 'fresh/empty' production environment from a staging server, whether the site needs to remain online while the content is added and other variables.

I've achieved this in the past in a number of ways. It's worth noting that some of these approaches will require a degree of devops and/or PHP development skills to achieve.

If you're deploying to a new production environment, i.e. you're launching a new site with signed-off content from staging, you can just export out the staging database and import it into your production database.

If you're deploying to an existing production environment that already has content and you want to update it with new signed-off content from your staging environment, you can create a [custom exporter](https://craftcms.com/docs/4.x/extend/element-exporter-types.html#creating-custom-exporter-types) to export your content from the staging environment into a format (e.g. CSV) that you can then use with the [FeedMe plugin](https://plugins.craftcms.com/feed-me?craft4) to import the content into your production site. This can be run in the background for a production site, meaning there's no downtime.

I've used both of these approaches in the past with very few issues.

There is a third option which I've not tried but that looks promising, especially if you aren't comfortable importing/exporting database dumps or writing PHP code to create a custom exporter. Verbb have recently released a plugin called [Zen](https://verbb.io/craft-plugins/zen/features) which offers content import/export functionality from within the Craft control panel. Verbb's plugins are high-quality and are well-supported and updated, so I wouldn't hesitate to try this if you think it will work for you. (Note: I don't work for Verbb but I use a number of their plugins on every Craft site I build and rate them very highly)

> **Comments:**
> **username_0**: Thanks for your response, we will try the mentioned methods and keep you posted on the updates.  

---

