Digital Sovereignty for everyone

LH Site Privacy

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_namespaces filter, 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.

Documentation

If you like this plugin please consider making a donation to further development

Install LHero.org

lhero.org

Open it straight from your home screen, full screen and quicker to load.

  1. Tap the Share button . If you cannot see it, tap ••• first.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add.
  1. Tap the browser menu â‹®.
  2. Tap Install app or Add to Home screen.
  1. In the menu bar, choose File, then Add to Dock.

Use your browser's menu to install this site or add it to your home screen.