How to change robots.txt in a WordPress multisite

WordPress dynamically creates robots.txt. To overwrite it during a normal, non-multisite installation, you can simply upload a static robots.txt file to the server. In a multi-site installation, this will overwrite the robots.txt file for all sites, which is not always the desired result. In this post, we will discuss how you can change the robots.txt for individual multisite sites.

WordPress has a do_robots() function and a do_robotstxt filter that allows you to change the output of a dynamically generated robots.txt file. The is_multisite() function allows you to check if multisite is enabled on the site. Function get_current_blog_id() returns the ID of the current site, which we can use to check the specific site and add rules to the robots.txt file. This is roughly what it might look like:

function wpz_robots_txt( $output, $public ) {

	if ( is_multisite() ) {
		if ( get_current_blog_id() === 1 ) {
			$output .= "Disallow: /account/\n";
			$output .= "Disallow: /cart/\n";
		} else {
			$output .= "Disallow: /category\n";
			$output .= "Disallow: /news\n";
		}
	}

	return $output;
}

add_filter( 'robots_txt', 'wpz_robots_txt', 20, 2 );

For the site with ID 1 (online store) added rules that close the account and shopping cart pages, and for all other sites closed categories and news.

How useful is the publication?

Click on a star to rate it!

Average score 5 / 5. Number of grades: 1

No ratings yet. Rate it first.

Similar posts

Why Files with Identical Content (*.js, *.php, *.css) Can Have Different Sizes?

When developers compare files with identical content but notice that their sizes differ, it can be perplexing. Let’s explore why this happens and what factors influence the size of files with extensions like *.js, *.php, and *.css. 1. File Encoding One of the key factors affecting file size is text encoding. The most common encodings…
Read more

How to transfer a site from dle to WordPress?

Transferring a website from DLE (DataLife Engine) to WordPress can be a complex process, especially if the site has a lot of content. Here’s a step-by-step guide: 1. Preparation 2. Export Data from DLE DLE uses its own database structure, so you’ll need to export data and convert it into a format compatible with WordPress:…
Read more