WordPress Hide Posts Plugin
A free plugin that hides posts or WooCommerce products from the home page, archives, search, feeds and more - without touching their URLs.
Publish it – without putting it everywhere. Hide Posts gives you a simple checklist on every post, page, or product that controls exactly where it appears: keep a post out of the homepage and archives, off the search results, out of your RSS feed and REST API, or invisible to XML sitemaps and Yoast SEO – while it stays perfectly reachable at its own URL.
Perfect for syndication-only articles, landing pages, evergreen content you don’t want cluttering the blog roll, or products that should only be found via direct link.
Choose exactly where a post is hidden:
- Site pages — homepage, blog page, category, tag, author, and date archives, search results, post navigation (previous/next), and the Recent Posts widget
- Feeds & APIs — RSS feed and the REST API
- Sitemaps & SEO — WordPress core XML sitemaps, Yoast SEO sitemap, Yoast breadcrumbs, and Yoast internal link suggestions
- WooCommerce — hide products from the shop page, product category pages, and the store REST API
Built for real editorial workflows:
- Full Block Editor support — a native sidebar panel with all hide options, plus the classic metabox
- Works with the Query Loop block and custom queries
- Enable hiding for any Custom Post Type from the settings page
- Bulk Edit and Quick Edit support for managing many posts at once
- “Hidden On” column in the posts list so you always see what’s hidden where
- Custom database table and layered caching — no postmeta bloat, no slow queries on busy sites
WordPress Hide Posts Plugin
Publish it – without putting it everywhere. Hide Posts gives you a simple checklist on every post, page, or product that controls exactly where it appears: keep a post out of the homepage and archives, off the search results, out of your RSS feed and REST API, or invisible to XML sitemaps and Yoast SEO – while it stays perfectly reachable at its own URL.
Perfect for syndication-only articles, landing pages, evergreen content you don’t want cluttering the blog roll, or products that should only be found via direct link.
Choose exactly where a post is hidden:
- Site pages — homepage, blog page, category, tag, author, and date archives, search results, post navigation (previous/next), and the Recent Posts widget
- Feeds & APIs — RSS feed and the REST API
- Sitemaps & SEO — WordPress core XML sitemaps, Yoast SEO sitemap, Yoast breadcrumbs, and Yoast internal link suggestions
- WooCommerce — hide products from the shop page, product category pages, and the store REST API
Built for real editorial workflows:
- Full Block Editor support — a native sidebar panel with all hide options, plus the classic metabox
- Works with the Query Loop block and custom queries
- Enable hiding for any Custom Post Type from the settings page
- Bulk Edit and Quick Edit support for managing many posts at once
- “Hidden On” column in the posts list so you always see what’s hidden where
- Custom database table and layered caching — no postmeta bloat, no slow queries on busy sites
The challenge
Site owners often need a post to exist without it being promoted - visible by direct link but absent from the home page, archives or feeds. Doing that reliably across WordPress and WooCommerce queries, without breaking pagination or SEO, is trickier than it sounds.
The approach
Hook the main query, not the templates
Visibility rules are applied at the query level, so every theme gets consistent behaviour for free.
Per-context controls
Each post gets simple checkboxes - home, categories, search, tags, authors, RSS, WooCommerce store - instead of one blunt "hide everywhere" switch.
Keep it lean
No settings pages full of options nobody needs: the plugin stays small, fast and compatible across WordPress versions.
Separate database table
Separate database table to map the post id to hidden flag. No bloating the wp_postmeta