LH Site Privacy decides who can visit a WordPress site. It adds five private levels to Settings > Reading, next to WordPress’s own choices for search engine visibility, and enforces them everywhere a site’s content can be read, not just on its pages.
Privacy levels
- Logged-in users: anyone with an account who is logged in. On a multisite network, that is anyone with an account on the network.
- Site users: only people with a role on this site.
- Members: only true members of the site, as answered by a membership plugin such as LH Membership. The level is offered only where one answers.
- Password: anyone with a shared site password, plus site users. Handy for a small group without accounts.
- Administrators: only the site’s administrators, for example while a site is being built.
Super admins and site administrators can always visit, so nobody can lock themselves out.
What visitors see
A visitor who is not logged in is sent to the login form, which explains that the site is private. At the password level they see a short password form instead. Someone who is logged in but not allowed in sees a plain page saying so, with a link to log in as someone else.
What is protected
- Every page, feed and embed, and anything else WordPress serves through its templates.
- The REST API, with OAuth discovery and token endpoints left open so AI clients and apps can still connect and then authenticate. Who may see the site is decided from the login cookie too, so requests a logged-in member’s browser sends without a REST nonce, such as analytics beacons, are let through; they still run as a logged-out request, so they gain nothing they would not have on a public site. Other plugins can leave their own REST namespaces open with the
lh_site_privacy_return_exempt_rest_namespacesfilter, as LH Browser Reporting API does for browser reports, which never carry cookies. - admin-ajax and admin-post requests, which plugins often use to return content.
- Search engines and caches: private sites are marked noindex, block everything in robots.txt, turn off sitemaps and are never page cached. LiteSpeed Cache is purged when a site’s level changes.
Uploaded files are served directly by the web server, so they are not covered. Use a private uploads plugin for files that must stay private.
Mastodon apps
With Enable Mastodon Apps active, members can use a Mastodon app with a private site. The app can find the site and register before anyone logs in; signing in then sends the member to log in, and someone without access is refused. Timelines, accounts and posts stay private.
Multisite and AI
Every site on a network can use every level. The network admin chooses only the level new sites start with, and Network Admin > Sites shows each site’s privacy. Site administrators, and AI assistants acting for them, can read and change a site’s privacy through two MCP abilities.