Essentially, WordPress offers an option so that you can manage the post visibility when you create posts:
+ Public: Your posts/pages are visible to all people.
+ Password Protected: To view the content, the user needs to enter a password.
+ Private: Only Administrator and Editor can see the content.
To prevent others from viewing your posts entirely, you can create Private ones. However, in this way, you are not able to share these posts via URLs. One way you can go when you desire to share your posts when necessary via URLs is using WP Hide Post plugin.
1. How to Install
Similar to other plugins, it is super easy to install and activate this plugin in Plugins section.
Navigate to Plugins > Add New > Search for WP Hide Post plugin > Select to Install and Activate it.
2. How To Use
After that, while you are creating a post, you easily see a collection of options to set up the visibility of the editing post.
You can select to hide this post from some certain places such as the front page, category pages, tag pages, author pages, archives, etc. In case you check to hide it from ALL positions, other users can't see it unless they know its URL.