I want to set up a private WordPress site, with only 2 users, all I need is a simple private site functionality, with visitors unable to see anything when trying to login, only being redirected to the login page. RSS should also be blocked.

I have found one plugin which does this, but it doesn't seem to be maintained, any others which do the same thing and are maintained?


  • Do you want the content to be public or private? Is it just the back-end features that you want to be private?
    – turbonerd
    Apr 16, 2012 at 10:59
  • no I am using P2 theme for WordPress and I want the site to be internal so we can collaborate without the content being accessible to anyone else.
    – urok93
    Apr 17, 2012 at 21:20

4 Answers 4


Use this :


A very simple way to quickly password protect your WordPress site with a single password. Integrates seamlessly into your WordPress privacy settings.

How can I change the WordPress logo to a different image?

Install and configure the Login Logo plugin by Mark Jaquith. This will change the logo on your password entry page AND also your admin login page.

enter image description here


If you can, use apache basic authentication, much easier than trying to do this with a WP plugin, especially if you only have 2 users for the site.

  • The advantage of this approach is that it provides umbrella security at a lower level. No need to worry about hackers working around wordpress security if you're using apache's security instead. Not sure if it's "easier" really. Setting up a htaccess file isn't exactly "point and click" easy. Also this approach is inelegant in some ways. The htaccess pop-up (depends on the browser but) generally feels crude and ugly. And this will mean the admin user(s) has to login twice. Once via the htaccess pop-up, and once with the wordpress login screen.
    – Harry Wood
    Jun 30, 2013 at 9:32

See WordPress › Absolute Privacy « WordPress Plugins. Full login control and blocking of RSS.


I've been working on this a little bit, and this solution adds a new set of options to the "Privacy" settings page.

function oxide_setup_options() {
    register_setting('oxide-privacy', 'blog_open');
    $blog_open = get_option('blog_open');
    if ( empty( $blog_open ) ) {
        add_option('blog_open', '0');
add_action('admin_init', 'oxide_setup_options');
function oxide_restrict_toggle() { ?>
<?php settings_fields('oxide-privacy'); ?>
<legend class="screen-reader-text"><span><?php _e( 'Site Access Restriction' ); ?> </span></legend>
<input id="blog-open" type="radio" name="blog_open" value="1" <?php checked('1', get_option('blog_open')); ?> />
<label for="blog-open"><?php _e( 'Allow access to all users.' );?></label><br/>
<input id="blog-closed" type="radio" name="blog_open" value="0" <?php checked('0', get_option('blog_open')); ?> />
<label for="blog-closed"><?php _e( 'Restrict access to logged in users.' ); ?></label>
<p class="description"><?php _e( 'Note: This option blocks access to your site &mdash; like a boss.' ); ?></p>
<?php do_settings_fields('oxide-privacy', 'default'); ?>
<?php }
add_action('blog_privacy_selector', 'oxide_restrict_toggle');
function oxide_restrict_access() {
    if ( !get_option('blog_open') && !is_user_logged_in() ) {
        wp_redirect( wp_login_url() ); exit;
add_action('parse_request', 'oxide_restrict_access');

screenshot of the Privacy Options screen after implementation

Just toss that code into your theme's functions.php file or create a simple plugin containing the code and you're well on your way!

  • I find it hard to believe that hacking around with php files is the best solution to this... but I can confirm I have tried this and it works. Thanks! Also it does block access to the RSS too.
    – Harry Wood
    Jun 30, 2013 at 9:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.