wp_robots_no_robots( array $robots ): array

Adds noindex to the robots meta tag.

Description

This directive tells web robots not to index the page content.

Typical usage is as a ‘wp_robots’ callback:

add_filter( 'wp_robots', 'wp_robots_no_robots' );

Parameters

$robotsarrayrequired
Associative array of robots directives.

Return

array Filtered robots directives.

Source

function wp_robots_no_robots( array $robots ) {
	$robots['noindex'] = true;

	if ( get_option( 'blog_public' ) ) {
		$robots['follow'] = true;
	} else {
		$robots['nofollow'] = true;
	}

	return $robots;
}

Changelog

VersionDescription
5.7.0Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Two examples, both adding noindex to all Post Format archives:

    add_action( 
        'wp_head',
        function() {
            is_tax( 'post_format' ) && add_filter( 'wp_robots', 'wp_robots_no_robots' );
        },
        0
    );

    (Note: a priority of 0 otherwise the action runs too late.)

    add_filter(
        'wp_robots',
        function ( array $robots ) {
            if ( is_tax( 'post_format' ) ) {
                return wp_robots_no_robots( $robots );
            }
            return $robots;
        }
    );

You must log in before being able to contribute a note or feedback.