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.
The next obvious thing to do is to mark the page noindex in your SEO plugin to stop search engines indexing it. But there's more work to do to keep it hidden.
You also need to remove the page from your XML sitemap, and 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).
Make sure that the settings for your social networking plugins won't automatically publish the hidden page to your social networks.
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.
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.