Every now and then, I find the need to create a page on my blog that is easily accessible, but not widely publicised. Say I want to make a special offer available via a URL on a business card, in a presentation or in an interview. I don’t want to keep the page highly secure, but I don’t want casual browsers on the internet to find it either; a bit like an Unlisted YouTube video.
What I want is a hidden page. Typical example uses are:
- ClickBank Thank You pages
- Bonus promotions in advertising literature: “For a special bonus offer, visit site.com/bonusoffer“
- Marketing promotions on business cards and in audio files
- Any time you want to make a page with non-sensitive content easily accessible, but not widely promoted
Links to a hidden page should not appear on the site, nor be widely promoted in the usual traffic source channels like search engines and social media. It is accessible to any visitor who knows the URL, but you don’t want any links to it on the site itself or elsewhere on the Internet generally.
WordPress supports several different page visibilities, but a hidden page differs from them like this:
Public: A hidden page isn’t widely advertised. They don’t get added automatically to menus even if that option is selected, but they can still be included in menus manually.
Private: A hidden page’s content is accessible to anyone who knows the URL, regardless of their authorisation level.
Password Protected: A hidden page requires no password to access.
So we have a little work to do in order to hide a page:
On Your Blog
Firstly, I wouldn’t recommend creating a hidden post. Hidden pages should be for meta functionality, not for hiding information. Make it a page, not a post.
To stop the page appearing on the front page of your blog, in your archives, and in your local search results, install the WP Hide Post plugin, and select all the Hide options under Post Visibility on the post editor sidebar.
Search Engines
The next obvious thing to do is to mark the page noindex in your SEO plugin to stop search engines indexing it. In the Yoast SEO plugin, you can do this under SEO Advanced settings in the post editor. But there’s more work to do to keep it hidden.
Site Maps
You also need to remove the page from your XML sitemap. Yoast SEO will do this automatically for you once the post is marked not for indexing. You also need to remove it from your human readable sitemap, if you have one. Find out the page’s number, and exclude it explicitly in the settings for your sitemap generator(s).
Search Results
WP Hide Post will exclude hidden posts from your search results for you, but you can also use the Simply Exclude plugin.
Social Networks
Make sure that the settings for your social networking plugins won’t automatically publish the hidden page to your social networks.
Social Bookmarking
I don’t have social bookmarking buttons enabled on my pages; it’s my posts I want people to share, not the meta information about the site itself. If you do have social bookmarking buttons on your pages, you’ll need to disable them to stop legitimate visitors from sharing the page on their social networks.
Check the settings for your Facebook Like button, and your other social bookmarks.
Cross Linking
Check that the settings for any automatic cross-linking plugins like SEO Smart Links Pro won’t generate links to your hidden page. On the page editor, select Do not link to this page.
Hidden pages offer a weak but nonetheless useful level of security. The content of a hidden page should not be damaging if publicly released as nothing stops a visitor from publishing a hidden page’s URL on the Internet once they know what it is.
Creating a hidden page isn’t currently as easy as you might first think. To make it easier in future, add your vote to this idea on for adding a “hidden” page visibility to the WordPress core.
10 Comments
Tess Robinson - Go Viral Now · March 31, 2014 at 3:41 pm
Thanks for this. I will definitely vote for a proper hidden post/page. I have been trying to create different types of posts for individual clients (eg. when one needs their own payment button because they need to pay me via credit card). Since Paypal doesn’t support email buttons any more, I find it easier to do a web button on a hidden page. The problem is that if it’s password protected (my best option here), the excerpt is still available in the blog archive (unless I go to the trouble of removing it) so you have to be careful where things pop up!
Voted (even though it’s a bit late).
Nancy Wirsig McClure · March 3, 2013 at 8:56 am
Yes! Thanks for telling me how to get around the WP community’s intransigence! (I arrived here after voting on your Idea over there.)
Ankit · February 22, 2013 at 9:54 pm
Are you sure the hidden page will not be indexed by any search engine.
Graham · December 6, 2014 at 11:46 am
That’s why you mark it noindex.
Gartenhaus Shop Besitzer · July 11, 2012 at 10:33 pm
This is an excellent hint. I can imagine doing a lot of stuff with a hidden page in terms of special promotions or eMail Marketing. Thanks for the inspiration, Graham!
Tony Clingan · December 5, 2011 at 5:41 am
Hi Graham
Really useful content, have always had issues with squeeze pages and thank you pages getting indexed so I found this helpful
Thanks for sharing Tony
flower mound real estate · November 26, 2011 at 8:49 am
Nice plugin. This is exactly what I was looking for with my real estate website. I need to be able to be able to promote certain items when clients submit items from my lead pages and this will work for me.
Graham · November 26, 2011 at 10:41 am
Great; glad you found it helpful. Cheers, Graham
Gabriel Johansson · October 26, 2011 at 12:19 pm
Hey thanks for this tip!
I was trying to set up a hidden page for when
people comment on my blog so I can thank them.
Thanks again,
-Gabriel Johansson
Graham · October 26, 2011 at 1:52 pm
Thanks Gabriel. I hope you voted on the idea for adding hidden pages to the WordPress core. Cheers, Graham