You may want to limit access to parts of your WordPress website or to restrict content to certain people, members, customers and so on. Built-in features are limited. These plugins are better.
Do you have content that you only want to make available to people that subscribe to your WordPress site? Do you want to provide templates, worksheets, ebooks and other content to members that sign up? Do you want to sell digital downloads?
There are many reasons why you may want to restrict access to certain posts, pages and downloadable files on your website and I previously looked at how to Password protect posts on WordPress to limit access to content. The built in features are too basic to be useful for many people and more control over who gets to access content is required.
Here are a couple of plugins that are useful and one limits access to downloadable files and the other is a sort of membership plugin that has great features for controlling who sees what on your WordPress site.
Download Monitor
Download Monitor is a free WordPress plugin that enables you to create digital downloads like eBooks, templates, project files, course materials, images, music, documents and so on. Basically, anything that can be downloaded from the web.
Some parts of it are easy to understand, but some parts are not and there are a few advanced features where you might need the help pages on the developer’s site. It is best if you have a bit of technical knowledge, but you can just stick to the basics and use a simple download link.

Downloads are created in a similar way to creating a new post. A description can be entered using what looks like the classic WordPress editor. Below is a section where you can either upload the file you want people to download, which adds the file to the media gallery, or you can select a file already on the server, such as one you uploaded by ftp.
How does it restrict content? A checkbox on the right when creating a download give you the option of enabling the file to be downloaded by anyone or restricted to logged-in members of your site. There is a useful feature to prevent hotlinking, which is direct linking from another website. A collection of downloads can be created.
Downloads are inserted into posts using a shortcode or by using a Gutenberg block. Add a Download block and the panel on the right enables you to choose the download, choose the style, like plain text link, button, box and others.
There are some useful payment options that enable you to charge for downloads. Tick the Shop option in the plugin settings and you can then set up PayPal payments for downloads.
The options for restricting content in the free plugin are limited to site members/subscribers or everyone and you cannot lock posts, only downloads. That may suit some people though and there are paid extensions like Advanced Access Manager that enables you to create complex rules that determine who can download a file.
Restrict User Access – Membership Plugin with Force
Restrict User Access takes content restriction to a higher level and this free plugin provides a lot of control over what people can and cannot see. As the name suggests, it is a type of membership plugin, but it is a simple one that focuses mainly on restricting content to certain WordPress membership levels.

You create access levels which determine what people can access. It is possible to create multiple levels, like Bronze, Silver and Gold or whatever you want to call them. One level can inherit the properties of another level, so Gold can do everything Silver and Bronze can do and Silver can do everything Bronze can do. It is up to you to create levels and define what they can do.

When an access level is created, you choose what content it is capable of accessing, such as posts, pages, only those posts with a certain tag or in a certain category and so on. A simple use would be to have a post category called Members, that only members of your site can access, but there are many more possibilities. For example, posts in category ABC and with author XYZ could require a specific access level.
Site membership can be synced with membership levels. WordPress users are subscriber, contributor, author, editor or administrator and you could set subscribers to Bronze, author to Silver and editor to Gold. That is just one example of how levels can be used and it is up to you to decide what user role can access what content.
Restrict User Access plugin does not provide all the features of a typical WordPress membership plugin, but it is great if you mostly just want to limit content. It does not provide a sign-up membership form, so you need to provide one or direct people to the WordPress default login or register page.

One of the best features of the plugin is the use of shortcodes to show or hide specific content within a post. For example, just insert shortcode blocks in the Gutenberg editor before and after content you want to restrict like this:
[ restrict level="Silver" ] Content here can be seen only by Silver level users. [ /restrict ] [ login-form ]
In the example above, the content between the shortcodes is hidden and if the user is not logged in, a login form is shown. There are a few other useful shortcodes and there are some paid add-ons that add even more features. This is a very useful plugin for limiting access to content. (Note: Spaces added for clarity, remove them.)
Restrict User Access is a useful plugin for limiting access to features and content on a WordPress site and it supports several popular plugins including WooCommerce, so you could provide content for customers who buy certain products for example.