{"id":389009,"date":"2026-10-24T13:47:21","date_gmt":"2026-10-24T13:47:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ms-password-protect-site-pages\/"},"modified":"2026-10-24T13:47:08","modified_gmt":"2026-10-24T13:47:08","slug":"matrixinn-password-protect","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/matrixinn-password-protect\/","author":23270254,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.1.0","stable_tag":"0.1.0","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"MatrixInn Password Protect \u2013 Site & Pages","header_author":"MatrixInn Solutions","header_description":"Put your whole site, or only the pages, categories and post types you choose, behind a password. Several named passwords, a branded password screen, logged-in and IP bypass, and no leaks through the REST API, feeds, sitemaps or search.","assets_banners_color":"0b101c","last_updated":"2026-10-24 13:47:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/matrixinnsolutions.com\/plugins\/matrixinn-password-protect","header_author_uri":"https:\/\/matrixinnsolutions.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":77,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.0":{"tag":"0.1.0","author":"matrixinnsolutions","date":"2026-10-24 13:47:08","revision":3763333}},"upgrade_notice":{"0.1.0":"<p>First version.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3763335,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3763335,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3763335,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3763335,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3763335,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3763335,"resolution":"1","location":"assets","locale":"","width":1440,"height":1100},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3763335,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3763335,"resolution":"3","location":"assets","locale":"","width":1440,"height":1700},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3763335,"resolution":"4","location":"assets","locale":"","width":1440,"height":860}},"screenshots":{"1":"Lock: the whole site with exceptions, or only chosen content.","2":"Passwords: one per person or group, with usage.","3":"Your own password screen, with a live preview.","4":"The password screen visitors see."}},"plugin_section":[],"plugin_tags":[802,1930,30794,31388,72334],"plugin_category":[54],"plugin_contributors":[269464],"plugin_business_model":[],"class_list":["post-389009","plugin","type-plugin","status-publish","hentry","plugin_tags-coming-soon","plugin_tags-password","plugin_tags-password-protect","plugin_tags-private-site","plugin_tags-protect-pages","plugin_category-security-and-spam-protection","plugin_contributors-matrixinnsolutions","plugin_committers-matrixinnsolutions"],"banners":{"banner":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/banner-772x250.png?rev=3763335","banner_2x":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/banner-1544x500.png?rev=3763335","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/icon.svg?rev=3763335","icon":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/icon.svg?rev=3763335","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/screenshot-1.png?rev=3763335","caption":"Lock: the whole site with exceptions, or only chosen content."},{"src":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/screenshot-2.png?rev=3763335","caption":"Passwords: one per person or group, with usage."},{"src":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/screenshot-3.png?rev=3763335","caption":"Your own password screen, with a live preview."},{"src":"https:\/\/ps.w.org\/matrixinn-password-protect\/assets\/screenshot-4.png?rev=3763335","caption":"The password screen visitors see."}],"raw_content":"<!--section=description-->\n<p><strong>MatrixInn Password Protect<\/strong> puts your WordPress site behind a password: the whole site while you build it or show it to a client, or only the pages, categories and post types you choose.<\/p>\n\n<p>Everything listed here is free. There is no trial and no limit.<\/p>\n\n<h4>Lock the whole site, or only what you choose<\/h4>\n\n<ul>\n<li><strong>Whole site<\/strong>, with exceptions: keep the home page, chosen pages or addresses such as <code>\/contact<\/code> or <code>\/landing\/*<\/code> public.<\/li>\n<li><strong>Only chosen content<\/strong>: pages (their child pages too), categories and other hierarchical taxonomies, whole post types, or addresses such as <code>\/members\/*<\/code>.<\/li>\n<li>A box on every edit screen locks a post, product or page with one click.<\/li>\n<\/ul>\n\n<h4>Several passwords, each with a name<\/h4>\n\n<ul>\n<li>Give each client or group their own password, with a label such as \"Client review team\".<\/li>\n<li>Remove one and only the people who used it must enter a password again.<\/li>\n<li>See how often and when each password was last used.<\/li>\n<li>Passwords are stored as WordPress password hashes, never as plain text.<\/li>\n<\/ul>\n\n<h4>Who can pass<\/h4>\n\n<ul>\n<li>Administrators always see everything.<\/li>\n<li>Every logged-in user, or only the roles you choose.<\/li>\n<li>IP addresses and ranges (CIDR), with safe support for Cloudflare and other proxies: a proxy header is only believed for requests that really come from the proxy addresses you list.<\/li>\n<\/ul>\n\n<h4>Your own password screen<\/h4>\n\n<ul>\n<li>Heading, message, button text, a line at the bottom, your logo and five colours, with a live preview.<\/li>\n<li>Shown on its own, without the theme, so no theme or page builder can break it or show locked content around it.<\/li>\n<li>\"Remember me on this device\" for as many days as you choose.<\/li>\n<\/ul>\n\n<h4>No side doors<\/h4>\n\n<p>Many lock plugins hide the page but leave the content readable elsewhere. This plugin also locks or leaves out locked content in:<\/p>\n\n<ul>\n<li>the REST API (<code>\/wp-json<\/code>), feeds, sitemaps (WordPress, Yoast SEO), search results, embeds (oEmbed), archives, comment lists and attachment pages.<\/li>\n<\/ul>\n\n<p>Login, the dashboard, WP-Cron, robots.txt and WooCommerce payment callbacks stay open, so nothing else breaks.<\/p>\n\n<h4>Works with page caches<\/h4>\n\n<ul>\n<li>Locked pages are sent with \"do not cache\" headers that WP Rocket, W3 Total Cache, WP Super Cache, LiteSpeed Cache and most hosts follow.<\/li>\n<li><strong>Caching check<\/strong>: one click asks your site for locked addresses the way a stranger would and tells you if a cache shows them.<\/li>\n<\/ul>\n\n<h4>Safe by design<\/h4>\n\n<ul>\n<li>The unlock cookie is signed with your site's secret keys, HttpOnly, Secure on HTTPS and SameSite.<\/li>\n<li>Wrong guesses are limited per visitor (5 tries, then 15 minutes, both adjustable).<\/li>\n<li>The password screen answers with status 401 and asks search engines not to index it.<\/li>\n<li>WordPress's own post passwords are never touched. Deactivate the plugin and everything is as it was.<\/li>\n<\/ul>\n\n<h4>For developers<\/h4>\n\n<ul>\n<li>WP-CLI: <code>wp minn-pp status<\/code>, <code>wp minn-pp lock --mode=site<\/code>, <code>wp minn-pp unlock<\/code>, <code>wp minn-pp password add \"Client team\"<\/code>, <code>wp minn-pp password list<\/code>.<\/li>\n<li>Shortcode <code>[minn_pp_logout text=\"Lock again\"]<\/code> for a log out link.<\/li>\n<li>Filters: <code>minn_pp_visitor_allowed<\/code>, <code>minn_pp_open_endpoint<\/code>, <code>minn_pp_rest_open_routes<\/code>. Action: <code>minn_pp_unlocked<\/code>.<\/li>\n<\/ul>\n\n<p>Setup guide, screenshots and FAQs: <a href=\"https:\/\/matrixinnsolutions.com\/plugins\/matrixinn-password-protect\">MatrixInn Password Protect documentation<\/a><\/p>\n\n<p>MatrixInn Password Protect is made by <a href=\"https:\/\/matrixinnsolutions.com\">MatrixInn Solutions<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from <strong>Plugins &gt; Add New<\/strong> (search for \"MatrixInn Password Protect\") or upload the <code>matrixinn-password-protect<\/code> folder to your plugins folder, then activate it.<\/li>\n<li>Open <strong>Settings &gt; MatrixInn Password Protect<\/strong>.<\/li>\n<li>On <strong>Passwords<\/strong>, add a password (or let the plugin create a strong one).<\/li>\n<li>On <strong>Lock<\/strong>, choose the whole site or only chosen content, then turn the lock on.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"i%20am%20logged%20in%20and%20do%20not%20see%20the%20password%20screen.\"><h3>I am logged in and do not see the password screen.<\/h3><\/dt>\n<dd><p>Administrators always pass, and by default every logged-in user does. Open the site in a private window to see what visitors see.<\/p><\/dd>\n<dt id=\"visitors%20still%20see%20a%20locked%20page.\"><h3>Visitors still see a locked page.<\/h3><\/dt>\n<dd><p>A page cache probably kept a copy from before the lock. Clear the cache, then run <strong>Settings &gt; MatrixInn Password Protect &gt; Advanced &gt; Caching check<\/strong>. If the check still finds the page, exclude visitors with the cookie <code>minn_pp_auth<\/code> in your cache plugin or Cloudflare rule.<\/p><\/dd>\n<dt id=\"are%20my%20images%20and%20pdfs%20locked%20too%3F\"><h3>Are my images and PDFs locked too?<\/h3><\/dt>\n<dd><p>Pages that show them are locked, but a file's direct address in the uploads folder is served by the web server without WordPress, so a visitor who already has the exact file address can still open it.<\/p><\/dd>\n<dt id=\"does%20it%20change%20wordpress%27s%20own%20post%20passwords%3F\"><h3>Does it change WordPress's own post passwords?<\/h3><\/dt>\n<dd><p>No. Posts with a WordPress post password keep working as before, with or without this plugin.<\/p><\/dd>\n<dt id=\"will%20search%20engines%20index%20my%20locked%20site%3F\"><h3>Will search engines index my locked site?<\/h3><\/dt>\n<dd><p>Locked pages answer with status 401 and a \"noindex\" header, so search engines do not index them.<\/p><\/dd>\n<dt id=\"i%20locked%20myself%20out%20of%20my%20own%20preview.\"><h3>I locked myself out of my own preview.<\/h3><\/dt>\n<dd><p>Log in at <code>\/wp-login.php<\/code>: logins are never locked. Or run <code>wp minn-pp unlock<\/code>.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>Its settings and passwords are removed. Nothing else on your site is changed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First version: whole-site or selected lock, named passwords, logged-in\/role\/IP bypass, branded password screen, REST API\/feed\/sitemap\/search\/embed protection, caching check, wrong-guess limit, WP-CLI.<\/li>\n<\/ul>","raw_excerpt":"Put your whole site, or only chosen pages, categories and post types, behind a password. Named passwords, your own password screen, no leaks.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/389009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=389009"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/matrixinnsolutions"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=389009"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=389009"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=389009"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=389009"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=389009"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=389009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}