[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvfXA1zrWAWjg8Jq4aMi9En8adb9E0cNc04PLhkts7t0":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":19,"download_link":20,"security_score":21,"vuln_count":11,"unpatched_count":11,"last_vuln_date":22,"fetched_at":23,"vulnerabilities":24,"developer":25,"crawl_stats":22,"alternatives":33,"analysis":131,"fingerprints":219},"smntcs-private-site","SMNTCS Private Site","2.0","Niels Lange","https:\u002F\u002Fprofiles.wordpress.org\u002Fnielslange\u002F","\u003Cp>Allow only logged in users to access the site.\u003C\u002Fp>\n","Allow only logged in users to access the site.",0,3674,"","6.8.5","3.4","5.6",[18],"private-site","https:\u002F\u002Fgithub.com\u002Fnielslange\u002Fsmntcs-private-site","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsmntcs-private-site.2.0.zip",100,null,"2026-03-15T10:48:56.248Z",[],{"slug":26,"display_name":7,"profile_url":8,"plugin_count":27,"total_installs":28,"avg_security_score":29,"avg_patch_time_days":30,"trust_score":31,"computed_at":32},"nielslange",20,19690,94,30,90,"2026-04-04T12:46:46.213Z",[34,60,81,101,114],{"slug":35,"name":36,"version":37,"author":38,"author_profile":39,"description":40,"short_description":41,"active_installs":42,"downloaded":43,"rating":31,"num_ratings":44,"last_updated":45,"tested_up_to":46,"requires_at_least":47,"requires_php":48,"tags":49,"homepage":54,"download_link":55,"security_score":56,"vuln_count":57,"unpatched_count":11,"last_vuln_date":58,"fetched_at":59},"jonradio-private-site","My Private Site","4.1.0","David Gewirtz","https:\u002F\u002Fprofiles.wordpress.org\u002Fdgewirtz\u002F","\u003Cp>\u003Cstrong>My Private Site\u003C\u002Fstrong> makes your WordPress site private so only logged-in users can see your content. With one click, you can restrict access to all posts and pages, automatically redirect visitors to the login screen, and keep your site visible only to people you trust.\u003C\u002Fp>\n\u003Cp>Unlike full membership or subscription systems, My Private Site focuses on strong privacy without unnecessary complexity. It is ideal for family sites, schools, clubs, client previews, or development environments where you want to share content with a trusted audience without managing payments, profiles, or custom roles.\u003C\u002Fp>\n\u003Ch3>Ideal Use Cases\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Family sites and school projects\u003C\u002Fstrong>: Share personal updates, photos, or assignments only with family members, classmates, or teachers you choose.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Development and staging sites\u003C\u002Fstrong>: Safely show work-in-progress to clients or teammates without exposing unfinished content or letting it be indexed by search engines.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clubs, groups, and internal blogs\u003C\u002Fstrong>: Create a private online space for members or staff without the overhead of a complex membership system.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Digital Fortress protection\u003C\u002Fh3>\n\u003Cp>My Private Site helps protect the “front door” of your private site with built-in safeguards for login and user registration, including registration spam protection and optional reCAPTCHA support. It also includes AI Crawler Defense to discourage automated collection of your site’s content.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Make your entire WordPress site private with a single setting  \u003C\u002Fli>\n\u003Cli>Redirect logged-out visitors automatically to the login page  \u003C\u002Fli>\n\u003Cli>Choose where users land after login (requested page, home, dashboard, or custom URL)  \u003C\u002Fli>\n\u003Cli>Support user self-registration on private sites when enabled  \u003C\u002Fli>\n\u003Cli>Protect registration with built-in spam controls and optional reCAPTCHA  \u003C\u002Fli>\n\u003Cli>Optionally block unauthenticated access to the WordPress REST API  \u003C\u002Fli>\n\u003Cli>Simple, no-code setup using standard WordPress settings \u003C\u002Fli>\n\u003Cli>Privacy shortcode lets you selectively show or hide content within a page or post.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Built-in AI Crawler Defense\u003C\u002Fh3>\n\u003Cp>The internet is rapidly changing, with AI crawlers and bots harvesting content without consent. My Private Site helps you defend your work with integrated \u003Cstrong>AI Crawler Defense\u003C\u002Fstrong> features:\u003Cbr \u002F>\n* \u003Cstrong>NoAI and NoImageAI tags\u003C\u002Fstrong>: Automatically add meta tags and headers that signal compliant AI systems not to use your text or images for training.\u003Cbr \u002F>\n* \u003Cstrong>Block GPTBot\u003C\u002Fstrong>: Add a robots.txt rule to prevent OpenAI’s crawler from accessing your site.\u003Cbr \u002F>\n* \u003Cstrong>Really Simple Licensing (RSL)\u003C\u002Fstrong>: Publish a machine-readable license that explicitly prohibits AI training on your content.\u003C\u002Fp>\n\u003Cp>These protections are included free in the core plugin, easy to enable with a checkbox, and designed to safeguard your site without affecting normal visitors or search engines. You can use them even if you’re not using any other site privacy features.\u003C\u002Fp>\n\u003Ch3>Watch the Video Overview and Demo\u003C\u002Fh3>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fjry3DHD-OB8?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3>Premium Add-ons\u003C\u002Fh3>\n\u003Cp>Premium add-ons turn My Private Site into a comprehensive privacy suite, giving you enterprise-style layered security defenses, smarter oversight, and flexible access, without the complexity or cost.\u003C\u002Fp>\n\u003Cp>Advanced AI Crawler Defense, Visitor Intelligence, and Block IP provide protections regardless of whether you’re using any site privacy features.\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FB6s8O9VZLc0?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-public-pages\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Public Pages 2.0\u003C\u002Fstrong>\u003C\u002Fa>: 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. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002Fu7BuYtzS_pI\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-advanced-ai-defense\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Advanced AI Crawler Defense\u003C\u002Fstrong>\u003C\u002Fa>: Protect WordPress content from AI crawlers using licensing, opt-out tags, selective bot blocking, and firewall defenses to control and safeguard your data. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FEb4qQDafaRk\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-visitor-intelligence\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Visitor Intelligence\u003C\u002Fstrong>\u003C\u002Fa>: Track logins, logouts, failed attempts, and bot activity with a unified log, anomaly detection, and export tools for stronger site oversight and security. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FTTK8bGVD8pM\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-guest-access\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Guest Access\u003C\u002Fstrong>\u003C\u002Fa>: Grant temporary, secure access to private WordPress content using unique shareable links with expiration, one-time use, and full admin-controlled invite management. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002Fj1vYV8lhqcc\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-block-ip\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Block IP\u003C\u002Fstrong>\u003C\u002Fa>: Block unwanted visitors by IP address or range with full IPv4\u002FIPv6 support, configurable scope, and fast enforcement to secure your WordPress site. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FvsxLqYXWITs\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-tags-and-categories\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Tags & Categories\u003C\u002Fstrong>\u003C\u002Fa>: Allows you to make pages public or (with Public Pages 2.0) private based on tags and categories. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FdEv7lXxU5lo\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-selective-content\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Selective Content\u003C\u002Fstrong>\u003C\u002Fa>: Allows hiding, showing, and obscurifying page content through the use of shortcodes. Can also selectively hide widgets and sidebars. \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FexgJrJJSCNY\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fzatzlabs.com\u002Fproject\u002Fmy-private-site-pricing\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Digital Fortress Bundle\u003C\u002Fstrong>\u003C\u002Fa>: All add-ons are available in bundle form.  \u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FB6s8O9VZLc0\" rel=\"nofollow ugc\">Watch the video\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Limits\u003C\u002Fh3>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch3>Support Note\u003C\u002Fh3>\n\u003Cp>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 \u003Ca href=\"http:\u002F\u002Fzatzlabs.com\u002Fsubmit-ticket\u002F\" rel=\"nofollow ugc\">open a ticket\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Mailing List\u003C\u002Fh3>\n\u003Cp>If you’d like to keep up with the latest updates to this plugin, please visit \u003Ca href=\"http:\u002F\u002Fzatzlabs.com\u002Flab-notes\u002F\" rel=\"nofollow ugc\">David’s Lab Notes\u003C\u002Fa> and add yourself to the mailing list.\u003C\u002Fp>\n","Make your WordPress site private with one click for family, projects, or teams. Protection for content, login, and registration.",20000,568968,80,"2026-01-28T21:00:00.000Z","6.9.4","4.4","5.4",[50,51,18,52,53],"login","privacy","registration","security","http:\u002F\u002Fzatzlabs.com\u002Fplugins\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjonradio-private-site.4.1.0.zip",99,2,"2024-02-16 00:00:00","2026-03-15T15:16:48.613Z",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":68,"downloaded":69,"rating":21,"num_ratings":70,"last_updated":71,"tested_up_to":46,"requires_at_least":72,"requires_php":73,"tags":74,"homepage":79,"download_link":80,"security_score":21,"vuln_count":11,"unpatched_count":11,"last_vuln_date":22,"fetched_at":59},"all-in-one-intranet","Intranet & Private Site – All-In-One Intranet","1.8.1","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>WordPress is one of the most popular platforms for building corporate intranets and private company websites. The problem is that WordPress was designed for public-facing sites. Making it work as a private intranet typically requires installing multiple plugins, configuring each one separately, and hoping they all play nicely together.\u003C\u002Fp>\n\u003Cp>All-In-One Intranet solves this by giving you everything you need in a single plugin to turn your WordPress site into a fully private intranet. Enable privacy with one checkbox, set up auto-logout to protect sensitive information, configure where users land after login, and manage multisite access controls – all from one settings page.\u003C\u002Fp>\n\u003Cp>Whether you are building a corporate intranet, a private knowledge base, a restricted client portal, or an internal communications hub, this plugin handles the foundational privacy and access control so you can focus on your content.\u003C\u002Fp>\n\u003Ch4>What is an Intranet?\u003C\u002Fh4>\n\u003Cp>An intranet is a private website or network used internally by an organization. Unlike a public website, an intranet is only accessible to authorized users – typically employees, contractors, or specific team members.\u003C\u002Fp>\n\u003Cp>Common uses for a WordPress intranet include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Internal company communications and announcements\u003C\u002Fli>\n\u003Cli>Employee handbooks, policies, and procedures\u003C\u002Fli>\n\u003Cli>Knowledge bases and documentation wikis\u003C\u002Fli>\n\u003Cli>Project collaboration and team coordination\u003C\u002Fli>\n\u003Cli>HR portals for onboarding and training materials\u003C\u002Fli>\n\u003Cli>Client portals with restricted access to project files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>WordPress is well suited for all of these because of its familiar editing interface, extensive plugin ecosystem, and flexible user role system. All-In-One Intranet provides the access control layer that makes it all work.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cp>All-In-One Intranet includes five core features designed to cover the most common intranet requirements:\u003C\u002Fp>\n\u003Ch4>One-Click Private Site\u003C\u002Fh4>\n\u003Cp>Enable the “Force site to be entirely private” checkbox, and your entire WordPress site becomes restricted to logged-in users only. Anyone who is not logged in gets redirected to the WordPress login page automatically.\u003C\u002Fp>\n\u003Cp>This single setting handles multiple layers of privacy at once:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Page and post access\u003C\u002Fstrong> – all frontend content requires authentication\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API protection\u003C\u002Fstrong> – unauthenticated REST API requests are blocked with a 401 error, preventing data leaks through the API\u003C\u002Fli>\n\u003Cli>\u003Cstrong>XML-RPC blocking\u003C\u002Fstrong> – XML-RPC is disabled entirely when privacy is active, closing another potential access vector\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Search engine blocking\u003C\u002Fstrong> – the robots.txt file is automatically updated to disallow all crawling, keeping your private content out of search indexes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pingback suppression\u003C\u002Fstrong> – outgoing pingbacks and trackbacks are disabled so your private site does not announce itself to external services\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin also monitors your WordPress registration settings. If “Anyone can register” is enabled on a single site, or if open registration is allowed on a multisite network, the plugin displays a warning on the settings page so you can fix it before it becomes a problem.\u003C\u002Fp>\n\u003Ch4>Auto-Logout for Inactive Users\u003C\u002Fh4>\n\u003Cp>Shared workstations and forgotten browser tabs are a real security risk for intranets. The auto-logout feature lets you set a maximum idle time – in minutes, hours, or days – after which users are automatically logged out.\u003C\u002Fp>\n\u003Cp>The plugin tracks each user’s last activity timestamp. On every page load, it checks whether the configured idle time has been exceeded. If a user has been inactive for too long, they are logged out immediately and redirected back to the page they were viewing, which triggers the login wall if the site is private.\u003C\u002Fp>\n\u003Cp>This protects sensitive company information without requiring users to remember to log out manually. Set it to 30 minutes for high-security environments, a few hours for typical office use, or leave it blank to disable the feature entirely.\u003C\u002Fp>\n\u003Ch4>Custom Login Redirect\u003C\u002Fh4>\n\u003Cp>By default, WordPress sends users to the dashboard after they log in. For an intranet, this is not useful – your team is logging in to read content, not to manage the site.\u003C\u002Fp>\n\u003Cp>The login redirect feature lets you set any URL on your site as the post-login landing page. Point it to your company homepage, a news feed, or a team dashboard so users see relevant content right away.\u003C\u002Fp>\n\u003Cp>This redirect only applies when users log in directly through the standard WordPress login page. If a user tries to access a specific page and gets redirected to log in first, they will be sent back to that page after authentication – not to the custom redirect URL. This keeps the user experience smooth.\u003C\u002Fp>\n\u003Ch4>Multisite Sub-site Privacy\u003C\u002Fh4>\n\u003Cp>If you run a WordPress multisite network, you can require logged-in users to be members of a specific sub-site before they can view it. This is useful for organizations with multiple departments, teams, or client areas – each with their own sub-site that should only be visible to relevant people.\u003C\u002Fp>\n\u003Cp>When a user who is logged in but not a member of the current sub-site tries to access it, they see a message listing all the sub-sites they do have access to, with clickable links to navigate there. Access to the Network Admin area is never restricted by this setting.\u003C\u002Fp>\n\u003Cp>This option works in combination with the main privacy setting. Enable private site first, then enable sub-site membership requirements for granular access control across your network.\u003C\u002Fp>\n\u003Ch4>Multisite Default Role Assignment\u003C\u002Fh4>\n\u003Cp>Managing user access across multiple sub-sites in a WordPress network can be tedious. Every time you add a new user or create a new sub-site, you would need to manually assign roles across all the relevant sites.\u003C\u002Fp>\n\u003Cp>The default role assignment feature automates this. Choose a role (Subscriber, Editor, Administrator, or any custom role), and the plugin handles the rest:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>When a \u003Cstrong>new user\u003C\u002Fstrong> is created, they are automatically added to every active sub-site in the network with the selected role\u003C\u002Fli>\n\u003Cli>When a \u003Cstrong>new sub-site\u003C\u002Fstrong> is created, all existing users are automatically added to it with the selected role\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This saves significant administration time, especially for growing organizations where new employees and new sites are added regularly.\u003C\u002Fp>\n\u003Ch4>How to Make Your WordPress Site Private\u003C\u002Fh4>\n\u003Cp>Setting up a private WordPress site with All-In-One Intranet takes about one minute:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install and activate the plugin from the WordPress plugin directory\u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>Settings > All-In-One Intranet\u003C\u002Fstrong> in your WordPress admin (or \u003Cstrong>Network Admin > Settings > All-In-One Intranet\u003C\u002Fstrong> for multisite)\u003C\u002Fli>\n\u003Cli>Check the box labeled \u003Cstrong>“Force site to be entirely private”\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save Changes\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>That is all it takes. Your site is now private. Any visitor who is not logged in will be redirected to the WordPress login page. The REST API, XML-RPC, and search engine indexing are all locked down automatically.\u003C\u002Fp>\n\u003Cp>If you see a warning about registration settings after enabling privacy, follow the link in the warning to disable open registration and close the gap.\u003C\u002Fp>\n\u003Ch4>How to Set Up Auto-Logout for Inactive Users\u003C\u002Fh4>\n\u003Cp>The auto-logout feature protects your intranet from unattended browser sessions:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Settings > All-In-One Intranet\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Find the \u003Cstrong>Auto Logout\u003C\u002Fstrong> section\u003C\u002Fli>\n\u003Cli>Enter a number in the time field (e.g., 30)\u003C\u002Fli>\n\u003Cli>Select the time unit from the dropdown: \u003Cstrong>Minutes\u003C\u002Fstrong>, \u003Cstrong>Hours\u003C\u002Fstrong>, or \u003Cstrong>Days\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save Changes\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Users who are inactive for longer than the configured period will be logged out on their next page interaction. Their activity timer resets on every page load, so active users are never interrupted.\u003C\u002Fp>\n\u003Cp>To disable auto-logout, clear the time field and save.\u003C\u002Fp>\n\u003Ch4>How to Configure Login Redirect\u003C\u002Fh4>\n\u003Cp>To send users to a specific page after they log in:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Settings > All-In-One Intranet\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Find the \u003Cstrong>Login Redirect\u003C\u002Fstrong> section\u003C\u002Fli>\n\u003Cli>Enter the full URL of your desired landing page (e.g., \u003Ccode>https:\u002F\u002Fexample.com\u002Fwelcome\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save Changes\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Users who log in via \u003Ccode>\u002Fwp-login.php\u003C\u002Fcode> will now land on that page instead of the WordPress dashboard. Users who were redirected to the login page from a specific URL will still return to that URL after logging in.\u003C\u002Fp>\n\u003Ch4>How to Set Up a WordPress Multisite Intranet\u003C\u002Fh4>\n\u003Cp>For organizations running a WordPress multisite network:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Network Admin > Settings > All-In-One Intranet\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Enable \u003Cstrong>“Force site to be entirely private”\u003C\u002Fstrong> to restrict the entire network to logged-in users\u003C\u002Fli>\n\u003Cli>Optionally enable \u003Cstrong>“Require logged-in users to be members of a sub-site to view it”\u003C\u002Fstrong> for per-site access control\u003C\u002Fli>\n\u003Cli>Under \u003Cstrong>Sub-site Membership\u003C\u002Fstrong>, select a default role to automatically assign users to sub-sites\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Save Changes\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The privacy and membership settings apply network-wide. The default role assignment runs automatically when new users or new sub-sites are created. Existing sub-sites and users are not affected retroactively when you change the role setting.\u003C\u002Fp>\n\u003Ch4>Security Features\u003C\u002Fh4>\n\u003Cp>All-In-One Intranet takes a layered approach to access control:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Authentication enforcement\u003C\u002Fstrong> – uses WordPress’s built-in \u003Ccode>auth_redirect()\u003C\u002Fcode> function for reliable login redirection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API lockdown\u003C\u002Fstrong> – blocks unauthenticated API requests, preventing data access through endpoints like \u003Ccode>\u002Fwp-json\u002Fwp\u002Fv2\u002Fposts\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>XML-RPC disabling\u003C\u002Fstrong> – completely disables XML-RPC when privacy is active\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No-role user handling\u003C\u002Fstrong> – on single-site installations, users who are logged in but have no assigned role are logged out and shown an error message, preventing access by deactivated accounts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Registration monitoring\u003C\u002Fstrong> – displays admin warnings if WordPress is configured to allow open registration, which would undermine your private site setup\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Nonce verification\u003C\u002Fstrong> – all settings forms use WordPress nonce validation to prevent cross-site request forgery\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Capability checks\u003C\u002Fstrong> – settings pages require \u003Ccode>manage_options\u003C\u002Fcode> (single site) or \u003Ccode>manage_network_options\u003C\u002Fcode> (multisite) capabilities\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Note that media uploads (images, PDFs, etc.) remain accessible to anyone who knows their direct URL. This is a limitation of how WordPress stores media files and is common to most privacy plugins. If you need to protect individual file downloads, consider a dedicated file protection plugin alongside All-In-One Intranet.\u003C\u002Fp>\n\u003Ch4>For Developers\u003C\u002Fh4>\n\u003Cp>All-In-One Intranet provides the \u003Ccode>aioi_allow_public_access\u003C\u002Fcode> filter for developers who need to make specific pages or endpoints accessible without authentication.\u003C\u002Fp>\n\u003Cp>This filter runs during both the template redirect check and the REST API dispatch check. Return \u003Ccode>true\u003C\u002Fcode> to allow public access for the current request:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>add_filter( 'aioi_allow_public_access', function( $allow ) {\n    \u002F\u002F Allow public access to a specific page\n    if ( is_page( 'public-landing' ) ) {\n        return true;\n    }\n    return $allow;\n} );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This is useful for exposing specific landing pages, webhook endpoints, or custom API routes while keeping the rest of the site private.\u003C\u002Fp>\n\u003Ch4>Google Workspace Integration\u003C\u002Fh4>\n\u003Cp>If your organization uses Google Workspace (formerly Google Apps), two companion plugins extend your intranet:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwp-glogin.com\u002Fglogin\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=AllInOneIntranet\" rel=\"nofollow ugc\">Google Apps Login\u003C\u002Fa>\u003C\u002Fstrong> – lets employees sign in to WordPress using their Google Workspace accounts. Domain admins can manage WordPress access entirely from the Google Admin Console, and only authorized employees can access the intranet.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwp-glogin.com\u002Fdrive\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=AllInOneIntranet\" rel=\"nofollow ugc\">Google Drive Embedder\u003C\u002Fa>\u003C\u002Fstrong> – allows authors to embed Google Docs, Sheets, Slides, and other Drive files directly into pages and posts. Useful for intranets where documentation lives in Google Drive.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Visit \u003Ca href=\"https:\u002F\u002Fwp-glogin.com\u002F?utm_source=wprepo&utm_medium=link&utm_campaign=AllInOneIntranet\" rel=\"nofollow ugc\">wp-glogin.com\u003C\u002Fa> for more information about these and other plugins.\u003C\u002Fp>\n","Private intranet in one click. Auto-logout for security, login redirect, and multisite privacy controls included.",4000,126628,10,"2026-03-05T02:10:00.000Z","5.5","7.0",[75,76,77,18,78],"extranet","intranet","private","restrict-access","https:\u002F\u002Fwp-glogin.com\u002Fdocs\u002Fall-in-one-intranet\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fall-in-one-intranet.1.8.1.zip",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":31,"num_ratings":91,"last_updated":92,"tested_up_to":93,"requires_at_least":94,"requires_php":13,"tags":95,"homepage":98,"download_link":99,"security_score":100,"vuln_count":11,"unpatched_count":11,"last_vuln_date":22,"fetched_at":59},"fx-ssl","f(x) SSL","1.1.0","David Chandra Purnama","https:\u002F\u002Fprofiles.wordpress.org\u002Fturtlepod\u002F","\u003Cp>\u003Cstrong>\u003Ca href=\"http:\u002F\u002Fgenbu.me\u002Fplugins\u002Ffx-ssl\u002F\" rel=\"nofollow ugc\">f(x) SSL\u003C\u002Fa>\u003C\u002Fstrong> is a very simple plugin to force your site to use HTTPS.\u003C\u002Fp>\n\u003Cp>After installation of this plugin, you can enable this in “Settings > General” under “SSL (HTTPS)” Section.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Super simple and easy to use. Only one checkbox.\u003C\u002Fli>\n\u003Cli>Clear installation instruction.\u003C\u002Fli>\n\u003Cli>Integrate to the WordPress “General” Settings seamlessly.\u003C\u002Fli>\n\u003Cli>Fix URL in content, widget, etc to use HTTPS to make sure all images, etc loaded properly.\u003C\u002Fli>\n\u003Cli>The GPL v2.0 or later license. 🙂 Use it to make something cool.\u003C\u002Fli>\n\u003Cli>Support available at \u003Ca href=\"https:\u002F\u002Fgenbu.me\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Genbu Media\u003C\u002Fa>.\u003Cbr \u002F>\nNotes for developer: \u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Github\u003C\u002Fh4>\n\u003Cp>Development of this plugin is hosted at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fturtlepod\u002Ffx-ssl\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>. Pull request and bug reports are welcome.\u003C\u002Fp>\n\u003Ch4>Options\u003C\u002Fh4>\n\u003Cp>This plugin save the options in single option name: \u003Ccode>fx-ssl\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>Hooks\u003C\u002Fh4>\n\u003Cp>List of hooks available in this plugin:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>filter:\u003C\u002Fstrong> \u003Ccode>fx_ssl_notice_fail\u003C\u002Fcode> (string)\u003C\u002Fp>\n\u003Cp>Plugin activation notice if feature is not supported.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>filter:\u003C\u002Fstrong> \u003Ccode>fx_ssl_notice_success\u003C\u002Fcode> (string)\u003C\u002Fp>\n\u003Cp>Plugin activation notice if feature is supported.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>filter:\u003C\u002Fstrong> \u003Ccode>fx_ssl_notice_active\u003C\u002Fcode> (string)\u003C\u002Fp>\n\u003Cp>Plugin activation notice if feature is supported and already active.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>filter:\u003C\u002Fstrong> \u003Ccode>fx_ssl_settings_section_description\u003C\u002Fcode> (string)\u003C\u002Fp>\n\u003Cp>Settings description.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>filter:\u003C\u002Fstrong> \u003Ccode>fx_ssl_fix_url\u003C\u002Fcode> (string)\u003C\u002Fp>\n\u003Cp>If you need to pass other URL to parse to content, excerpt, text widget, etc.\u003C\u002Fp>\n","Simple SSL(HTTPS) Plugin.",40,3531,4,"2016-08-01T06:57:00.000Z","4.7.32","4.0",[96,18,97],"members-only","protect-rss","http:\u002F\u002Fgenbu.me\u002Fplugins\u002Ffx-ssl\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffx-ssl.1.1.0.zip",85,{"slug":102,"name":103,"version":104,"author":85,"author_profile":86,"description":105,"short_description":106,"active_installs":27,"downloaded":107,"rating":21,"num_ratings":108,"last_updated":109,"tested_up_to":93,"requires_at_least":110,"requires_php":13,"tags":111,"homepage":112,"download_link":113,"security_score":100,"vuln_count":11,"unpatched_count":11,"last_vuln_date":22,"fetched_at":59},"fx-login-customizer","f(x) Login Customizer","1.0.1","\u003Cp>\u003Cstrong>\u003Ca href=\"http:\u002F\u002Fgenbu.me\u002Fplugins\u002Ffx-login-customizer\u002F\" rel=\"nofollow ugc\">f(x) Login Customizer\u003C\u002Fa>\u003C\u002Fstrong> is a plugin to design and modify WordPress login page using Customize API.\u003C\u002Fp>\n\u003Cp>After installation of this plugin, you upload logo and change your login page background from “Appearance > Customize Login”.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Super simple and easy to use.\u003C\u002Fli>\n\u003Cli>Upload custom logo.\u003C\u002Fli>\n\u003Cli>Change background color.\u003C\u002Fli>\n\u003Cli>More features are coming.\u003C\u002Fli>\n\u003Cli>Automatically change logo URL to site home page.\u003C\u002Fli>\n\u003Cli>The GPL v2.0 or later license. 🙂 Use it to make something cool.\u003C\u002Fli>\n\u003Cli>Support available at \u003Ca href=\"https:\u002F\u002Fgenbumedia.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Genbu Media\u003C\u002Fa>.\u003Cbr \u002F>\nNotes for developer: \u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Github\u003C\u002Fh4>\n\u003Cp>Development of this plugin is hosted at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fturtlepod\u002Ffx-login-customizer\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>. Pull request and bug reports are welcome.\u003C\u002Fp>\n\u003Ch4>Options\u003C\u002Fh4>\n\u003Cp>This plugin save the options in single option name: \u003Ccode>fx-login-customizer\u003C\u002Fcode>.\u003C\u002Fp>\n","Customize Login Page using the Customizer.",2549,1,"2016-12-09T07:04:00.000Z","4.5",[96,18,97],"http:\u002F\u002Fgenbumedia.com\u002Fplugins\u002Ffx-login-customizer\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffx-login-customizer.1.0.1.zip",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":27,"downloaded":122,"rating":11,"num_ratings":11,"last_updated":123,"tested_up_to":124,"requires_at_least":125,"requires_php":13,"tags":126,"homepage":129,"download_link":130,"security_score":100,"vuln_count":11,"unpatched_count":11,"last_vuln_date":22,"fetched_at":59},"thebrent-private-site","Private Sites","0.1.0","Brent Maxwell","https:\u002F\u002Fprofiles.wordpress.org\u002Fthebrent\u002F","\u003Cp>Quick plugin to enable the setting of a site private. Includes options for with multi-site capabilities. Includes functionality to show which sites are private on the blog list screen of the network dashboard.\u003C\u002Fp>\n\u003Ch3>Use and Options\u003C\u002Fh3>\n\u003Cp>The optiuon will be shown at the bottom of the “General” settings page.\u003C\u002Fp>\n","Quick plugin to enable the setting of a site private. Includes options for with multi-site capabilities.",3265,"2015-03-31T14:08:00.000Z","4.11","3.0.1",[127,128,18],"multisite","network","http:\u002F\u002Fthebrent.net\u002Fprojects\u002Fprivate-site\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fthebrent-private-site.0.1.0.zip",{"attackSurface":132,"codeSignals":206,"taintFlows":214,"riskAssessment":215,"analyzedAt":218},{"hooks":133,"ajaxHandlers":202,"restRoutes":203,"shortcodes":204,"cronEvents":205,"entryPointCount":11,"unprotectedCount":11},[134,140,145,148,151,154,157,160,163,166,168,171,174,177,180,183,186,189,192,195,198],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","customize_register","smntcs_ps_register_customize","smntcs-private-site.php",148,{"type":141,"name":142,"callback":143,"file":138,"line":144},"filter","404_template","smntcs_ps_page_template",163,{"type":141,"name":146,"callback":143,"file":138,"line":147},"archive_template",164,{"type":141,"name":149,"callback":143,"file":138,"line":150},"attachment_template",165,{"type":141,"name":152,"callback":143,"file":138,"line":153},"author_template",166,{"type":141,"name":155,"callback":143,"file":138,"line":156},"category_template",167,{"type":141,"name":158,"callback":143,"file":138,"line":159},"date_template",168,{"type":141,"name":161,"callback":143,"file":138,"line":162},"frontpage_template",169,{"type":141,"name":164,"callback":143,"file":138,"line":165},"embed_template",170,{"type":141,"name":161,"callback":143,"file":138,"line":167},171,{"type":141,"name":169,"callback":143,"file":138,"line":170},"home_template",172,{"type":141,"name":172,"callback":143,"file":138,"line":173},"index_template",173,{"type":141,"name":175,"callback":143,"file":138,"line":176},"page_template",174,{"type":141,"name":178,"callback":143,"file":138,"line":179},"paged_template",175,{"type":141,"name":181,"callback":143,"file":138,"line":182},"privacypolicy_template",176,{"type":141,"name":184,"callback":143,"file":138,"line":185},"search_template",177,{"type":141,"name":187,"callback":143,"file":138,"line":188},"single_template",178,{"type":141,"name":190,"callback":143,"file":138,"line":191},"singular_template",179,{"type":141,"name":193,"callback":143,"file":138,"line":194},"tag_template",180,{"type":141,"name":196,"callback":143,"file":138,"line":197},"taxonomy_template",181,{"type":135,"name":199,"callback":200,"file":138,"line":201},"wp_head","smntcs_ps_custom_css",217,[],[],[],[],{"dangerousFunctions":207,"sqlUsage":208,"outputEscaping":210,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":213},[],{"prepared":11,"raw":11,"locations":209},[],{"escaped":211,"rawEcho":11,"locations":212},8,[],[],[],{"summary":216,"deductions":217},"The 'smntcs-private-site' v2.0 plugin exhibits a strong security posture based on the provided static analysis.  The absence of any detected dangerous functions, raw SQL queries, file operations, external HTTP requests, or unsanitized taint flows suggests careful development practices.  Furthermore, 100% output escaping and the lack of reported vulnerabilities in its history reinforce this positive assessment.  The minimal attack surface, with no exposed AJAX handlers, REST API routes, shortcodes, or cron events, further reduces potential avenues for attack.",[],"2026-03-17T05:51:01.719Z",{"wat":220,"direct":225},{"assetPaths":221,"generatorPatterns":222,"scriptPaths":223,"versionParams":224},[],[],[],[],{"cssClasses":226,"htmlComments":228,"htmlAttributes":229,"restEndpoints":230,"jsGlobals":231,"shortcodeOutput":232},[227],"smntcs-ps-private-site-wrap",[],[],[],[],[]]