Staging environment to preview changes to already published content

System Information
  • Strapi Version: 3.4.6

Hello everyone! I am new to the forum, can’t wait to meet you!

I am currently working on an idea and a critical part of the implementation is the ability to preview a collection type (i.e. a post) in order to see how it would show on the live page. I know that I can fetch the drafts (/posts?_publicationState=preview&published_at_null=true). The thing is that if I want to edit a post after it has been published, the changes will show up in the published posts. I want to be able to have a staging environment where I can view an edited version of the post while the live version is unharmed. If the user decides that the edited version should now be live, he could press a button where the published version is edited. Has anyone tried something like this? Please ask me to clarify if anything is unclear.

Thanks in advance!


1 Like

Hi @TasosBak we have discussed this internally and believe it would fit within the context of content-versioning but I don’t believe we have an official feature request for this. Can you create one on GitHub/Productboard?

You can find our ProductBoard here: Under consideration 💡 - Roadmap | Product Roadmap

Thank you so much for replying so fast!

To your knowledge, has something like this been attempted before? Any directions as to how someone would go about implementing it?

I’ve never seen a custom implementation of it yet no.

Hey @TasosBak, curious if you tried anything here.

Personally, I was thinking of having a staging DB and a production DB to keep clean and copy entries from staging to prod via a custom implementation. Have you found a solution that worked well for you?

My idea would be to POST relations and then the main collection entry to a production instance but I haven’t fully tried it out yet.

Yeap that sounds good for existing content types. The problem is with new content types where strapi creates files in the project. Then you have to:

  1. push your changes to git from your dev environment
  2. pull them in your prod env
  3. restart the server
  4. copy your data over from dev to prod via the POST method

I still haven’t found anything better than that. I am open to discussion!

Looking for this as well, it would be excellent if resources in Strapi were versioned so that (sophisticated) clients can ask for a specific unpublished version.

This would allow us to construct something like a “preview mode” for our content team, to see how changes would actually look on various device sizes on a QA/Staging instance, and then once the resource is “published”, the latest version will appear on Production.

Strapi is the best CMS, thanks for all your hard work!

Did anyone get any further with this? I think it’s a big missing feature - I’ve used SilverStripe in the past and it has this ability. Really helpful for previewing updates to existing pages before publishing them to a live environment.

Same here, we would need this Feature and the Content-Versioning plugin does not work well with i18n, so thats not an option sadly.

Only thing i can think of for now is to have multiple Strapi instances and “cloning” them on deployment to prod kinda.

is there any update if this is intended for the Roadmap?