jonradio Private Site
Add to ListAllows the Administrator to restrict a WordPress-based web site to viewing only by registered users who are logged on. Any attempt, by anyone not logged, to view any Page, Post or other part of the site will display a WordPress login screen.
Login prompts are provided whenever a non-logged in user (“site visitor”) attempts to access any URL controlled by WordPress on the web site.
Note: If privacy isn’t turned on for your theme, use the Compatibility Mode option on the Site Privacy tab. This is known to apply to Elementor, Oxygen, and Twenty Twenty Two themes.
More Features and Settings
- Supports WordPress Networks (“Multisite”), with Network-wide Settings planned for a future version
- A separate Setting is provided for hiding or revealing Site Home without the need to enter its URL
- Supports Custom Login and Registration pages at URLs different than the standard WordPress Login and Registration URLs
- Landing Location settings determine what the User sees after successfully logging in
- Landing Location is set for both automatic Login prompts and the Meta Widget’s Login link
- New hide-if privacy shortcode allows selective content to be hidden or shown based on login status
- User Self-Registration settings (varies between Network and Non-Network WordPress) are presented on the plugin’s Settings page for easy access
- No known Theme incompatibilities, and only known Plugin incompatibility is with the A5 Custom Login plugin
- Special functionality is included to not hide Login- and Registration-related URLs used by BuddyPress and Theme My Login plugins
- Remember Me improvements at Login via free companion plugin, jonradio Remember Me, which can be downloaded separately from the WordPress Plugin Repository
- Overrides WordPress hiding of Network Activated plugins, just for itself; to provide this feature for all plugins, use the free companion plugin, Reveal Network Activated Plugins, which can be downloaded separately from the WordPress Plugin Repository
- Setting to disable the plugin so that other plugin Settings can be changed when the Site is not set to Private
- New in 3.1: REST API Guardian. Turn on or off the My Private Site REST API security features. Block REST API access for logged-out users
If you allow Self-Registration, where new Users can Register themselves, you will need to select the “Reveal User Registration Page” setting or new Users will be blocked from seeing the WordPress Registration screen (on WordPress Networks, turning off the Reveal User Registration Page setting on the “Main Site” will prevent Registration from all Sites). For convenience, the WordPress Setting that controls Self-Registration of Users has been added to the Plugin’s Settings page.
Another Setting allows the Private Site feature to be turned off. When the plugin is installed and activated, the Private Site feature is set off by default, to allow the Administrator an opportunity to become familiarized with the plugin’s features and to set the desired settings. A warning that the site is not private appears after first activation of the plugin until the Administrator visits the plugin’s Settings page.
If a WordPress Network is defined, the plugin can be activated individually for select sites. Or Network Activated. In either case, each site will have its own Settings page where the Private Site feature can be turned off (default) or on for just the one site, and a Landing Location defined for each site.
Yes, there are other plugins that hide some or all WordPress content for any site visitor who is not logged on. But when I was searching for a solution for one of the web sites I support, I decided to “write my own” because I knew how it worked and felt comfortable that there would be no way for anyone not logged in to view the site, including Search Engines.
Watch the intro video
Premium Add-ons
- Public Pages 2.0: Allows site operators to designate certain specific pages, or pages with specified prefix, to be available to the public without login. Now also allows public site, private pages. Watch the video
- Tags & Categories: Allows you to make pages public or (with Public Pages 2.0) private based on tags and categories. Watch the video
- Selective Content: Allows hiding, showing, and obscurifying page content through the use of shortcodes. Can also selectively hide widgets and sidebars. Watch the video
Limits
This plugin does not hide non-WordPress web pages, such as .html and .php files. It also won’t restrict images and other media and text files directly accessed by their URL. If your hosting provider’s filesystem protections haven’t been set up correctly, files may also be accessed by directory listing.
Support Note
Support has moved to the ZATZLabs site and is no longer provided on the WordPress.org forums. If you need a timely reply from the developer, please open a ticket.
Mailing List
If you’d like to keep up with the latest updates to this plugin, please visit David’s Lab Notes and add yourself to the mailing list.