Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Password Protect a Page or Post in WordPress

Have you ever thought about creating a blog post just for close friends or family members? Or publish a post just for editors on your WordPress site? As a content publishing platform, WordPress comes with some basic content visibility options that most beginners overlook. In this article, we will show you how to create a password protected page or post in WordPress.

When writing posts, there is an option called Visibility, which is set to Public by default. If you click Edit, then you will see options such as Password Protected and Private.

Making posts Private or Password Protected in WordPress

Simply click on Password Protected to add a password to your post. Doing so, only the friends, family members, or users you share this password with will be able to see this post.

A private post in WordPress is visible only to logged in users with the Editor or Administrator level user role in WordPress.

The same trick works for password protecting a page in WordPress as well.

Hiding Password Protected Posts Completely From Homepage and Archives

All your password protected posts may appear among rest of your posts on the homepage, or archives of your site. If you want to hide them completely, then use this code in your theme’s functions.php or in a site-specific plugin.


// Hide protected posts

function exclude_protected($where) {
	global $wpdb;
	return $where .= " AND {$wpdb->posts}.post_password = '' ";
}

// Where to display protected posts
function exclude_protected_action($query) {
	if( !is_single() && !is_page() && !is_admin() ) {
		add_filter( 'posts_where', 'exclude_protected' );
	}
}

// Action to queue the filter at the right time
add_action('pre_get_posts', 'exclude_protected_action');

That’s all. Your protected posts will not appear in the site’s homepage or archives. You can send the post’s URL to users with the password.

We hope this article helped you password protect posts in WordPress. You may also want to check out how to make a whole WordPress site password protected without user registration.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Google+.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

31 CommentsLeave a Reply

  1. MJ

    Once enter the password in on the password-protected page and it displays the protected information, how can I log out again to see what the page looks like to non-logged-in visitors?
    Thank you

    • WPBeginner Support

      The simplest method would be to use an incognito/private browser window :)

      Admin

  2. Noreen

    I have set the Blog page to password protected. The site is juliananoreen.com.
    Saved.
    It still is visible! Had a friend test from a cell phone. Visible there too.
    Is there an additional setting that I am overlooking?
    I am expecting to see a message and password section but the test posts are completely visible.
    Thanks for your insights!
    N

    • WPBeginner Support

      Hi Noreen,

      The blog page is a place holder to display your WordPress blog posts. Unlike regular WordPress pages which show page content, this page shows your blog posts list. Normally, the WordPress password protect feature works on the content of a post or page. However, a blog page has no content of its own. This is why before the password protection can kick in, the blog posts get displayed.

      Admin

      • Noreen

        Oh, darn!
        Have any ideas how to fully lock it down so I can add content and all elements are hidden? I did initially try password protecting the posts – not an option b/c the title and feature images are still visible. Hmmmmm….?
        TY!

  3. Mary Ann

    I have password protected a pages (and children pages…not posts). I want it to prompt the user to reinsert the password when they leave the page…
    I saw that you can set the post_password_expires to 0 but where would I do it for a page?

  4. Ben

    My password protection is not working. It keeps referring back to the password prompt. Yes i have the correct password. Any ideas?

  5. ellen

    I made sometime ago a Password protected post, but I can’t remember the password.

    Can you help me with this ?

    thanks in advance

    • ellen

      I just found it…!!!

  6. Diao

    If I dont know the password, how to read a protected post?

  7. Justin

    Is there a way to change the default text to these password protected pages? I would like to leave a link in this text if it’s possible?

    Thanks,
    J

  8. Stephanie

    Hi, I use password protection for a specific page. However, whenever I use the password to access the page, a pop-up window appears and wants my admin credentials. How can I make this issue disappear. That shouldn’t happen. I used passwort protection before and it worked fine, but now it doesn’t anymore.

  9. Mark

    I have pages not posts that are password protected. Being pages i have no issue with them showing up in archives etc. I have them on my menu. I want only the main page not any of its children to show up in my custom menu until the user logs in. Is that possible?

  10. Mark Gason

    the default WP expiry of the login is 10 days!! That is not much use on a private computer. I found if I used this plugin ‘Protected Posts Logout Button’ and added the logout button to every page with the password it logged out of all of them when I clicked one. It also allows setting auto logout time/cookie expiry. So I set 30 minutes in case a user does not logout.

  11. Ian

    Static page – I set visibility to “password” and set a password. Worked a treat for a few weeks. In the last couple of days when entering password page results to “Forbidden”. Password is correct. have disabled Plugins, activated default themes and still same result – cannot access password protected content.

    Any thoughts…

    Is this a server host issue or WP issue?

    • Amanda

      I’m having the same issue.

  12. Naomi

    I tried this and find the following error: when someone wants to use it, they fill in the password (on a page) and they are redirected to the captcha and directed to my wordpress login in. That should not be the case? I do not understand this.

  13. tom

    this was working great until a recent update now I just get a 404 page..

    • WPBeginner Support

      Try updating your permalinks. Simply go to Settings > Permalinks and click on the save changes button.

      Admin

      • Tom

        Yes, first thing I did, was surprised when that didn’t fix it.

        • WPBeginner Support

          We tested the code again with the latest version. It worked fine on our end. Have you tried troubleshooting steps like deactivating all plugins, switching to default theme, deleting and regenerating .htaccess file?

  14. Sean Vandenberg

    Hi, interesting – I’ve never seen this before (I don’t think!). …Will this be bad for SEO purposes? Can search engines still crunch the content?

  15. Maryam

    So this was pretty cool – it protects the page. I enter the correct password, and the page shows up fine. Now, when I Refresh the page, it still shows up. When does the password prompt come up again?

  16. Justin

    I am unable to access the private blog from my iphone as it only allows me to type the password in capital letters, yet my password is all lowercase.
    Also any text entry like subscribe box is all in caps too.

    how can I resolve this apart from changing the password to all caps.

    thanks
    Justin

  17. Thomas Stahl

    I think it’s a great feature. How can I open the password protected Page with a Query String? So I can send a Link to my friends. Thanks for any ideas.

    Thomas

  18. Zeeshan

    Hello sir,
    i added a link in my site and i want that whenever anybody click on in there then by Clicking this link will bring up a password prompt, if user successfully enters password they are allowed to access a password-protected page.

    Thanks in advance

  19. Ryan

    This works great EXCEPT the post is still showing up in the “Latest Posts” widget. Any code change to fix that?

  20. mdfaizan

    is there any way to make it available to logged in users. By default even a logged in admin cannot see this password protected post.

    Is there any way we can make it available to all logged in users?

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.