Description
Unlisted Posts adds an “Unlisted” toggle to posts and pages. Switch it on and the post is left out of everywhere WordPress lists content, while anyone with the link can still open it. Handy for sharing a page with clients, publishing documentation you don’t want in your blog feed, or keeping old content reachable without promoting it.
What gets hidden
- Blog home, category, tag, author and date archives
- Search results
- RSS and Atom feeds
- Core XML sitemaps
- Latest Posts, Query Loop and other blocks and widgets that list posts
- Previous / next post links
- The REST API lists used by the block editor and apps
Unlisted posts also send a noindex robots meta tag so search engines drop them, and the Posts and Pages admin lists show an “Unlisted” label next to each one.
Where the toggle lives
- Block editor: the post sidebar’s Summary panel, next to Status and Visibility
- Classic editor: a checkbox in the Publish box
The plugin stores a single _unlisted_post post meta value and keeps a small cached list of unlisted IDs, so there is no extra query cost on the front end.
Custom post types
Posts and pages are supported by default. Add other post types with the unlisted_posts_post_types filter. A post type must support custom-fields for the block editor toggle to save.
add_filter( 'unlisted_posts_post_types', function ( $types ) {
$types[] = 'product';
return $types;
} );
Installation
- Upload the plugin to the wp-content/plugins directory, or install it from the Plugins screen.
- Activate it from the Plugins screen.
- Edit any post or page and switch on “Unlisted” in the sidebar’s Summary panel (or the Publish box in the classic editor).
FAQ
-
Can people still see an unlisted post?
-
Yes. Anyone with the link can open it and share it like any other URL. It is only left out of lists, feeds and search engines. If you need real access control, use WordPress’s private or password-protected visibility instead.
-
Will Google index unlisted posts?
-
The page sends a
noindexrobots meta tag and is left out of the core XML sitemaps, so search engines that respect those signals will not index it. If an SEO plugin builds your sitemap, check that it honoursnoindex(most do) or exclude the post there as well. -
Does this work with the classic editor?
-
Yes. The classic editor gets a checkbox in the Publish box, and the block editor gets a toggle in the Summary panel.
-
I updated from 1.x. Do I need to do anything?
-
No. Existing unlisted posts are migrated automatically the first time the admin loads after updating.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Unlisted Posts” is open source software. The following people have contributed to this plugin.
Contributors“Unlisted Posts” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Unlisted Posts” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.0.0
- Native block editor toggle in the sidebar’s Summary panel replaces the old meta box. The classic editor gets a checkbox in the Publish box.
- Pages can now be unlisted too, and other post types can be added with the new
unlisted_posts_post_typesfilter. - Unlisted posts are now excluded from previous / next post links.
- “Unlisted” label in the Posts and Pages admin lists.
- The unlisted state is now stored as
_unlisted_postpost meta (exposed to the REST API), so it survives exports, imports and WP-CLI. Existing unlisted posts are migrated automatically. - Deleting a post now removes it from the unlisted list.
- The
noindextag uses thewp_robotsAPI instead of the deprecatedwp_no_robots()function, and is only added on the unlisted post itself. - No longer overwrites a
post__not_invalue set by other plugins or themes. - Uninstalling the plugin now removes its data.
- Text domain corrected to
unlisted-postsso translations from WordPress.org load. - Tested up to WordPress 7.1. Requires WordPress 5.7 or newer.
1.1.0
- Tested up to WordPress 5.9.
- Compatibility with Gutenberg.
- Converted the unlisted post option to a meta box.
1.0.0
- Initial Release.
