
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;
} );