# Noindex Posts in Selected Categories

> Keeps posts from the categories you choose, such as internal news or short announcements, out of search engine results.

- Type: PHP
- Runs: Run everywhere
- Category: [SEO](https://wpide.com/library/category/seo/)
- Tags: noindex, categories, robots
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/noindex-posts-in-categories/

## Code

```php
// Category slugs to keep out of search results.
$wpide_noindex_categories = array( 'internal' );

add_filter( 'wp_robots', function ( $robots ) use ( $wpide_noindex_categories ) {
    if ( ( is_singular( 'post' ) && has_category( $wpide_noindex_categories, get_queried_object_id() ) ) || is_category( $wpide_noindex_categories ) ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
} );
```

## Notes

Use category slugs. The category archive pages themselves are noindexed too.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Noindex Posts in Selected Categories" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
