Make all articles Private access for Paid Subscribers only at once


I have 2 blogs on Ghost, with over 2000 posts and get more than 5k views per month. I migrated from WordPress to Ghost last year.

Now going into each blog post and changing it to private would take a hell of a lot of time. Is there a faster and quicker way to make all categories private except one or two categories for public view?

I might lose traffic but still, it will compensate me with increase paid subscribers I think.

I am just spitballing it here, but I suspect if you are familiar with MySQL then you could just jump into the database and run a SQL “UPDATE” command or two to change all the posts to private. While I claim no intimate knowledge of the Ghost table schema, conceptually speaking, I cannot imagine this to be too difficult to do. That is, assuming you are self hosting rather than using Ghost(Pro).

1 Like

This is what I would do:

You could export my content (mysitexyz.json).
Edit your content using TablePlus (app on mac), it’s a GUI
Then import content in Ghost :slight_smile:

1 Like

I would think you can use PUT /admin/posts/{id}/ REST endpoint of Ghost Admin Api to update all posts from a JS command line app, whether you use Ghost Pro or self-host.
If you need to update only posts with specific tags,etc. you can use the GET /admin/posts/ endpoint and use a filter to list only the posts you wish to update.

1 Like