Intranet & Private Site – All-In-One Intranet
Plenty of companies run their intranet on WordPress. The problem is that WordPress was built 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. All-In-One Intranet turns your WordPress site into a fully private intranet from a single plugin. 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. Corporate intranet, private knowledge base, restricted client portal, internal comms hub: the privacy and access control are the same job in each case, and this plugin does that part. What is an Intranet? 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. Common uses for a WordPress intranet include: Internal company communications and announcements Employee handbooks, policies, and procedures Knowledge bases and documentation wikis Project collaboration and team coordination HR portals for onboarding and training materials Client portals with restricted access to project files WordPress already has the editing interface and the user roles for all of these. What it does not have is the access control layer, which is what All-In-One Intranet adds. Features All-In-One Intranet has five features, covering what most intranets need: One-Click Private Site 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. This single setting handles multiple layers of privacy at once: Page and post access – all frontend content requires authentication REST API protection – unauthenticated REST API requests are blocked with a 401 error, so data cannot leak through the API XML-RPC blocking – XML-RPC is disabled entirely when privacy is active Search engine blocking – the robots.txt file is automatically updated to disallow all crawling, so your private content stays out of search indexes Pingback suppression – outgoing pingbacks and trackbacks are disabled so your private site does not announce itself to external services Feed protection – RSS, Atom, and comment feeds require authentication, so protected posts and comments cannot be read through /feed/ or crafted feed URLs Comment and trackback blocking – unauthenticated visitors cannot post comments or trackbacks to protected content through wp-comments-post.php or wp-trackback.php Admin endpoint gating – the admin-ajax.php and admin-post.php handlers require a valid login, so public “nopriv” actions registered by your theme or other plugins do not run for logged-out visitors. A short allowlist keeps the handlers people need before login working: two-factor and passkey plugins, and connected site-management platforms Entry-point coverage – WordPress files that load the site outside the normal page render, such as wp-links-opml.php (the blogroll and OPML export) and wp-activate.php, are sealed so they cannot leak post content, feeds, your site title, or the WordPress version Slug enumeration prevention – WordPress’s canonical redirect does not reveal the slugs of private posts to unauthenticated visitors on pretty permalinks Role and membership enforcement – the REST API and comment gates apply the same role and sub-site membership checks as the rest of the site, so a logged-in user with no role, or who is not a member of the current sub-site, is blocked there too The plugin also watches your registration settings: if “Anyone can register” is enabled, or open registration is allowed on a multisite network, a warning appears on the settings page so you can fix it. Auto-Logout for Inactive Users Shared workstations and forgotten browser tabs are a 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. The plugin tracks when each browser session was last active. On every page load, it checks whether the configured idle time has been exceeded. If a session has been idle for too long, the user is logged out immediately and redirected back to the page they were viewing, which triggers the login wall if the site is private. Each session keeps its own timer, so staying active at your desk does not keep a forgotten login on a shared machine alive. 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. Auto-logout counts browser sessions only. A request that authenticates without a login cookie (a site management dashboard using its own API, or a script using an application password) has no session to expire, so it is left alone. Custom Login Redirect 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. 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. This redirect only applies when users log in directly through the standard WordPress login page. A user who was redirected to the login page from a specific URL is sent back to that URL instead. Multisite Sub-site Privacy 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. 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. This option works in combination with the main privacy setting: enable private site first, then add sub-site membership requirements on top of it. Multisite Default Role Assignment Managing user access across multiple sub-sites in a WordPress network can be tedious: every new user and every new sub-site means assigning roles by hand. The default role assignment feature automates this. Choose a role (Subscriber, Editor, Administrator, or any custom role), and the plugin handles the rest: When a new user is created, they are automatically added to every active sub-site in the network with the selected role When a new sub-site is created, all existing users are automatically added to it with the selected role How to Make Your WordPress Site Private It takes about a minute to make your WordPress site private with All-In-One Intranet: Install and activate the plugin from the WordPress plugin directory Go to Settings > All-In-One Intranet in your WordPress admin (or Network Admin > Settings > All-In-One Intranet for multisite) Check the box labeled “Force site to be entirely private” Click Save Changes 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. If you see a warning about registration settings, follow its link to disable open registration. How to Set Up Auto-Logout for Inactive Users The auto-logout feature protects your intranet from unattended browser sessions: Go to Settings > All-In-One Intranet Find the Auto Logout section Enter a number in the time field (e.g., 30) Select the time unit from the dropdown: Minutes, Hours, or Days Click Save Changes 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. The timer belongs to the browser session, so being active in one browser does not keep the same account signed in on another machine. To disable auto-logout, clear the time field and save. How to Configure Login Redirect To send users to a specific page after they log in: Go to Settings > All-In-One Intranet Find the Login Redirect section Enter the full URL of your desired landing page (e.g., https://example.com/welcome) Click Save Changes Users who log in via /wp-login.php 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. How to Set Up a WordPress Multisite Intranet For organizations running a WordPress multisite network: Go to Network Admin > Settings > All-In-One Intranet Enable “Force site to be entirely private” to restrict the entire network to logged-in users Optionally enable “Require logged-in users to be members of a sub-site to view it” for per-site access control Under Sub-site Membership, select a default role to automatically assign users to sub-sites Click Save Changes 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. Security Features All-In-One Intranet takes a layered approach to access control: Authentication enforcement – uses WordPress’s built-in auth_redirect() function for reliable login redirection REST API lockdown – blocks unauthenticated API requests to endpoints like /wp-json/wp/v2/posts XML-RPC disabling – completely disables XML-RPC when privacy is active No-role user handling – on single-site installations, users who are logged in but have no assigned role are logged out and shown an error message, so an account deactivated by removing its role cannot get in Registration monitoring – warns you if WordPress is configured to allow open registration, which would undermine your private site setup Nonce verification and capability checks – settings forms use WordPress nonce validation, and settings pages require manage_options (single site) or manage_network_options (multisite) 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. For Developers All-In-One Intranet provides the aioi_allow_public_access filter for developers who need to make specific pages or endpoints accessible without authentication. This filter runs during both the template redirect check and the REST API dispatch check. Return true to allow public access for the current request: add_filter( 'aioi_allow_public_access', function( $allow ) { // Allow public access to a specific page if ( is_page( 'public-landing' ) ) { return true; } return $allow; } ); This is useful for exposing specific landing pages, webhook endpoints, or custom API routes while keeping the rest of the site private. Two more filters cover login-screen plugins, which have to finish their authentication exchange while the visitor is still logged out. aioi_public_actions lists the admin-ajax.php / admin-post.php actions that may still run while the site is private, and aioi_public_rest_routes does the same for plugins that verify a second factor over the REST API, matching a route exactly or as a path segment prefix. Two-factor and passkey plugins are already covered out of the box, and every bundled entry applies only while the plugin it belongs to is active, so a private site never leaves an endpoint open for a plugin it does not run. Only add authentication endpoints to either list. Anything on them can be called by logged-out visitors, so it must not return site content, and it must do its own credential or token check. Site-management platforms are the deliberate exception, because returning site content is their whole purpose. See the next section. Site Management Dashboard Compatibility Many agencies and IT teams look after every site they run from a central dashboard that handles updates and backups. Making a site private should not cut it off from that dashboard, so these connector plugins are supported out of the box, with nothing to configure: ManageWP Worker – also the connector used by GoDaddy Pro MainWP Child InfiniteWP Client WP Umbrella WP Remote Each of these talks to its dashboard over its own signed protocol rather than a browser login. Site syncing, plugin and theme updates, backups, and the dashboard’s one-click login into wp-admin all keep working with “Force site to be entirely private” enabled. ManageWP, MainWP and InfiniteWP answer their dashboards from their own hooks, before the privacy gate runs, so nothing needs to be opened for them. The other two each need one narrow exemption, granted only to a request the platform itself has already vouched for. WP Umbrella works entirely through the WordPress REST API, which a private site otherwise closes, so its own namespace opens only for a request presenting WP Umbrella’s credentials, and the admin-ajax.php calls it makes back to itself open only for a request carrying the nonce those handlers verify. WP Remote routes part of its traffic through admin-ajax.php, and that one action opens only once WP Remote has checked the caller’s signature and registered its handler. An anonymous request to either still meets the login wall, a credentialed one still has to satisfy the platform’s own checks, and every other route, action and page stays private. Auto-logout handles those background calls too: a dashboard request is never logged out in the middle of an API call, and it does not count as the connected administrator’s own activity, so frequent polling cannot hold a real person’s session open past the idle limit you set. A private site does still hide anything a service fetches anonymously from its own servers: uptime monitoring, broken-link checking, and SEO or page-speed scans. Those requests carry no login, so they get the login redirect and the dashboard usually reports the site as down or its links as broken. That applies to every external service, not only these five.
Top keywords
- site33×1.42%
- wordpress27×1.16%
- private25×1.07%
- intranet23×0.99%
- users23×0.99%
- login21×0.90%
- page20×0.86%
- access14×0.60%
- role14×0.60%
- api13×0.56%
- all-in-one12×0.51%
- all-in-one intranet12×0.51%
Security Plugin, Firewall & Malware Scanner with Auto Removal
Brute force, Login security & Two Factor Auth (2FA). Limit login. Malware & Vulnerabilities scan. FireWall. Enterprise ready security plugin. SECURITY PLUGIN BY CLEANTALK (SPBCT) We focus on eliminating the most common security threats for WordPress. At the same time, we strive to ensure that site performance remains unaffected. To achieve this, each release goes through automated and expert-driven testing pipelines. We also verify performance using Google PageSpeed Insights and GTMetrix. Typically, we release a new version twice a month to keep features up to date and protection strong. SECURITY FEATURES Limit Login Attempts and rate limits for logins. Two Factor Authentication (2FA) Custom wp-login URL (wp-login.php) Hide Login Default Login Page Disable or Stop User Enumeration Brute force protection for WordPress accounts and passwords Security Protection for WordPress login form Security FireWall by IP, Networks, or Countries Web Application Firewall (WAF) Real-time traffic monitor (Visitors per pages, IPs, Countires and hits counts per page) Malware scanner with auto-cure function Daily auto malware scan Vulnerabilities scanner among installed plugins and themes Security weekly reports to email Notifications of login events to your website FREE TRIAL THEN $9 PER YEAR CleanTalk is a Cloud security service that protects your website from online threats and provides you great security instruments to control your website security. We provide detailed security stats for all of our security features to have a full control of security. We believe the most honest approach is when every user pays a small fee for using the service, rather than relying on a freemium model where some users subsidize others. The fee is as low as price of a good cup of coffee! So, the security plugin does not have a PRO version-it is completely free and works in combination with our premium Cloud security service at cleantalk.org. Every user has full access to all features of both the service and the plugin. Also, please take a note about WordPress.org policy BRUTE FORCE PROTECTION Our default anti–brute-force policy works as follows, For any failed login attempt to the WordPress admin area, the plugin introduces a brief delay of a few seconds. The plugin reviews the security audit log every hour. If any IP address records 10 or more login attempts in that period, it will be blocked for 24 hours. ALL BRUTE FORCE PROTECTION FUNCTIONS Maximum failed attemtps to login before ban (default is 5). A failed attempt happens when either the login or password is incorrect. Time frame to count login attempts (default is 15 minutes). Ban to login time frame from 2 minutes to 24 hours (default is 1 hour). Two-factor authentication (2FA) with abillity to apply policy to specific users roles. Prevent collecting of login on password reset error. The option exclude the info about the login existing on password change error. Error message will be replaced with followed text: “If the user with the specified credentials exists, check your email for the password reset confirmation link. Then visit login page.” Security Audit Log. Keeps track of actions in the WP Dashboard to let you know what is happening on your blog. With the Security Audit Log is very easy to see user activity in order to understand what changes have done and who made them. Security Audit Log shows who logged in and when and how much time they spent on each page. Two Factor Authentication (2FA). It requires a bit of your time but Two Factor (2 Step) Authentication immediately gives a much higher level of security.With your first authorization, the CleanTalk Security plugin remembers your browser and you won’t have to input your authorization code every time anymore. However, if you started to use a new device or a new browser then you are required to input your security authorization code. CleanTalk security plugin will remember your browser for 30 days. Change the URL of the wp-login page. This option helps you change the default wp-login URL (wp-login.php). Hackers use scripts for massive brute-force attacks, and since most sites use a default login page URL, hackers configure scripts for such URLs. When you change the URL of the authorization page, hackers will not have the opportunity to perform brute-force attacks in scripts in automatic mode. This option does not change files and does not rewrite URLs in system files. To return the address of the default authorization page, it is enough to disable the option in the plugin settings or set a new value. If you are using caching plugins, then you need to add a new authorization page in the caching exceptions. Leaked password check. This feature enhances your website’s security by continuously monitoring users’ passwords for potential exposure in known data breaches and on the dark web. It works in the background and requires no action from users unless a leak is detected. SECURITY FIREWALL To enhance the security of your site, you can use the CleanTalk Security FireWall, which will allow you to block access by HTTP/HTTPS to your website for individual IP addresses, IP networks and block access to users from specific countries. Use personal BlackList to block IP addresses with a suspicious activity to enhance the WordPress security. Security FireWall may significantly reduce the risk of hacking and reduces the load on your web server. CleanTalk Security is fully compatible with the most popular VPN services. Also, CleanTalk security supports all search engines Google, Bing, Yahoo, Baidu, MSN, Yandex, and etc. LIST OF FIREWALL FUNCTIONS Blocks or bypass visitors by IP, IP Network. Country blocking. It also has option to avoid blocking hits from major search engines like Google, Bing, Yahoo, Baidu, Yandex, and etc. Traffic control. CleanTalk security Traffic Control will track every single visitor no matter if they are using JavaScript or not and provides many valuable traffic parameters. Another option in Security Traffic Control – “Block user after requests amounts more than” – blocks access to the site for any IP that has exceeded the number of HTTP requests per hour. If this number of requests will be exceeded, this IP will be added to the Security FireWall Black List for 24 hours. Security Firewall has a limit for requests to your website (by default 1000 requests per hour, so you can change it) and if any IP exceed this threshold it will be added to security firewall for next 24 hours. It allows you to break some of the DDoS attacks. Limit Login Attempts. Limit Login Attempts – is a part of brute-force protection and security firewall. Web Application FireWall (WAF) for WordPress Security Plugin. The main purpose of Web Application FireWall (WAF) is real-time protection from unauthorized access, even if there are critical known/unknown vulnerabilities. Security Web Application FireWall catches all requests to your website and checks HTTP parameters that include, SQL Injection, Cross Site Scripting (XSS), uploading files from non-authorised users, PHP constructions/code, the presence of malicious code in the downloaded files. In addition to effective information security and information security applications are required to know what is quality of protection and CleanTalk Security has logged all blocked requests that allow you to know and analyze accurate information. You can see your Cleantalk Security Logs in your Dashboard CleanTalk’s research team updates WAF database each time as we find a vulnerability, it means plugin’s users get protection even against unpublished vulnurebilites. Learn more how to set up and test About Security Web Application Firewall Email Notifications when administrators or users are logged in. We added this option to our security plugin. Now you can receive notifications if you want to know about an unauthorized entrance to your WP Dashboard. Notification will be sent only when a user was able to authorize entering login and password. If you are logged into the admin panel from the saved session, then the alert won’t be sent. MALWARE SCANNER WITH AUTO-CURE FUNCTION Scans WordPress files for hacker files or code for hacker code. Performs antivirus functions. Security Malware Scanner runs manually by users requests or automaticaly by WordPress cron. All of the results will send in your Security CleanTalk Dashboard with the details and you will be able to investigate them and see if that was a legitimate change or some bad code was injected. If you are unsure how to identify, remove, or clean malware using the plugin, you can book a malware removal service with our Security & Pentest team. As an alternative, you can use the Website Malware Scanner for frontend security and malware checks. It scans by URL and requires no plugins. LIST OF MALWARE SCANNER, ANTIVIRUS FUNCTIONS Malware autoscanning. Scans the website automatically at intervals ranging from once every 12 hours to once every 30 days. Cure malware. It cures infected files automatically if the scanner knows cure methods for these specific cases. If the option is disabled then when the scanning process ends you will be presented with several actions you can do to the found files, Cure. Malicious code will be removed from the file. Replace. The file will be replaced with the original file. Delete. The file will be put in quarantine. Do nothing. Before any action is chosen, backups of the files will be created and if the cure is unsuccessful it’s possible to restore each file. Security Malware Heuristic Check. This option allows you to check files of plugins and themes with heuristic analysis. Probably it will find more than you expect. Security Malware scanner to find SQL Injections. The CleanTalk Security Malware Scanner allows you to find code that allows performing SQL injection. It is this problem that the scanner solves. Operating system cron tasks analysis. This functional provides an overview of scheduled cron jobs on server that perform automated tasks. DB Trigger analysis. Will search for known malicious signatures in database triggers. List unknown files. Shows the list of found unknown files in the malware scanner report. Unknown files do not have known virus signatures and do not have suspicious code. Meanwhile, unknown files do not belong to the public plugins and themes at wordpress.org. File System Watcher. File system Watcher monitors changes in the file system. This allows to quickly respond to a site infection by tracking which files were affected. The Watcher makes file system snapshots as often as one hour and show difference up to seven days time frame. Feedback System. If you don’t have programming experience and don’t know, is there security issue or not, you send some files to CleanTalk Cloud and we check them for malware code. After checking we send you an email notification with results, is there viruses or not. Please, look at our guide How malware file analysis works About Scanner Feedback System LIST OF THE MOST ACTIVE MALWARES BY FILENAMES radio.php admin-ajax.php .1235512.css 8sjdakSJ3.php wso.php cmd.php shell.php reverse_shell.php admin.php The list is actual on July 15th, 2025. The latest data is the article Is my site infected? VULNERABILITIES SCANNER AMONG INSTALLED PLUGINS AND THEMES Plugin checks installed plugins and themes for known (published) vulnerabilities. If finds vulnerable plugin/theme, it sends an Email notification and shows data in the Critical updates tab. List of the most recent vulnerabilities found and published by CleanTalk Research team, CVE-2025-5921 – SureForms – Unauthenticated XSS – POC, 200k+ installs. CVE-2025-3582 – Newsletter – Stored XSS to JS Backdoor Creation – POC, 300k+ installs. CVE-2025-2560 – Ninja Forms – Stored XSS to JS Backdoor Creation – POC, 700k+ installs. The list is effective on July 18th, 2025. Updates are avaible on https://research.cleantalk.org/. MISCELLANEOUS SECURITY OPTIONS Send additional HTTP headers option. There are several additional http-headers which added to the every http-requests by the plugin if this option is enabled: “X-Content-Type-Options” improves the security of your site (and your users) against some types of drive-by-downloads. “X-XSS-Protection” header improves the security of your site against some types of XSS (cross-site scripting) attacks. “Strict-Transport-Security” response header (often abbreviated as HSTS) informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. “Referrer-Policy” make the Referer http-header transferring more strictly. Collect and send PHP logs. Collect and send PHP error logs to your CleanTalk Dashboard where you can list them. Prevent collecting of authors logins. Prevent visitors from collecting logins of the content authors from the website links (like example.com/?author=1). Also this function known as Stop User Enumeration. Prevent collecting of user login on password reset. The password reset error will not contain the data about selected username does not exist. Disable REST API for non-authenticated users. Turn this on to deny access to WordPress REST API for non-authenticated users. Denied requests will get a 401 HTTP Code (Unauthorized). Disable the WordPress endpoint “users” REST API. Disables access to /wp-json/wp/v2/users and /wp-json/wp/v2/users/”id_user”. Disable File Editor. By prohibiting file editing, you protect the site from malicious attacks that may try to change the code and gain access to the site or steal confidential information. TRANSLATE INTO YOUR LANGUAGE Thank you for helping translate the plugin! 感谢您帮助翻译这个插件! (Gǎnxiè nín bāngzhù fānyì zhège chājìan!) प्लगइन का अनुवाद करने में मदद के लिए धन्यवाद! (Plugin ka anuvaad karne mein madad ke liye dhanyavaad!) ¡Gracias por ayudar a traducir el complemento! Merci d’avoir aidé à traduire le plugin ! شكرًا لمساعدتك في ترجمة الإضافة! (Shukran limusaa’adatika fi tarjamat al-idafa!) প্লাগইন অনুবাদে সাহায্য করার জন্য ধন্যবাদ! (Plug-in onubade shahajjo korar jonno dhonnobad!) Спасибо за помощь в переводе плагина! (Spasibo za pomoshch v perevode plagina!) Obrigado por ajudar a traduzir o plugin! (Obrigada if female) پلگ ان کا ترجمہ کرنے میں مدد کرنے کا شکریہ! (Plug-in ka tarjuma karne mein madad karne ka shukriya!) Terima kasih telah membantu menerjemahkan plugin! Danke, dass du beim Übersetzen des Plugins geholfen hast! プラグインの翻訳を手伝ってくれてありがとうございます! (Puraguin no hon’yaku o tetsudatte kurete arigatou gozaimasu!) https://translate.wordpress.org/projects/wp-plugins/security-malware-firewall/