This post was inspired by a great question from user Krista, and the answer is a pretty simple set of steps.
First, though, it’s good to understand how My Private Site works. That, too, is pretty simple. My Private Site will block pages and posts from users who are not logged in, and show pages and posts to users who are logged in.
As you can see, My Private Site really doesn’t have anything to do with allowed to edit or not allowed to edit. All it cares about is logged in or not logged in.
Part of the reason My Private Site can be so simplistic is that WordPress itself has a lot of resources for managing users. Users can be set to be admins (allowing them to completely muck with the site), editors (allowing posts and pages to be edited), subscribers (allowing them to read content), and a variety of other more nuanced levels of access.
To prevent editing, you want users to be subscribers. Most of you, when reading this, are subscribers. Some of you have a special setting that says you’re allowed to post support questions, but still can’t edit the articles and posts here on this site.
So, in answer to Krista’s question, to make sure people who are logged in can read the site, but not edit it, they need to be set up as subscribers.
How to do that
There are two steps to take, and these are often the defaults for new WordPress sites. As such, your site may already be set this way.
First, go down to Settings->General on your dashboard menu. This is section that controls the most basic settings of your site.
About halfway down the page, you’ll see New User Default Role. Set that to Subscriber. Now, whenever you add a new user, that user won’t have editing rights.
Next, you may want to change your existing users’ permissions. For that, go to the Users section of the WordPress dashboard, click on All Users, and then user-by-user select the users whose permissions you want to change. About a third of the way down the profile page, you’ll see an option for Roll. Change that to Subscriber.
And there you go!