diff --git src/wp-includes/class-wp-site-query.php src/wp-includes/class-wp-site-query.php
index 5367fc7..09bad2d 100644
--- src/wp-includes/class-wp-site-query.php
+++ src/wp-includes/class-wp-site-query.php
@@ -125,11 +125,11 @@ class WP_Site_Query {
 	 *     @type string       $path              Limit results to those affiliated with a given path. Default empty.
 	 *     @type array        $path__in          Array of paths to include affiliated sites for. Default empty.
 	 *     @type array        $path__not_in      Array of paths to exclude affiliated sites for. Default empty.
-	 *     @type int          $public            Limit results to public sites. Accepts '1' or '0'. Default empty.
-	 *     @type int          $archived          Limit results to archived sites. Accepts '1' or '0'. Default empty.
-	 *     @type int          $mature            Limit results to mature sites. Accepts '1' or '0'. Default empty.
-	 *     @type int          $spam              Limit results to spam sites. Accepts '1' or '0'. Default empty.
-	 *     @type int          $deleted           Limit results to deleted sites. Accepts '1' or '0'. Default empty.
+	 *     @type mixed        $public            Limit results to public sites. Accepts boolean values. Default null.
+	 *     @type mixed        $archived          Limit results to archived sites. Accepts boolean values. Default null.
+	 *     @type mixed        $mature            Limit results to mature sites. Accepts boolean values. Default null.
+	 *     @type mixed        $spam              Limit results to spam sites. Accepts boolean values. Default null.
+	 *     @type mixed        $deleted           Limit results to deleted sites. Accepts boolean values. Default null.
 	 *     @type int          $lang_id           Limit results to a language ID. Default empty.
 	 *     @type array        $lang__in          Array of language IDs to include affiliated sites for. Default empty.
 	 *     @type array        $lang__not_in      Array of language IDs to exclude affiliated sites for. Default empty.
@@ -445,28 +445,28 @@ class WP_Site_Query {
 			$this->sql_clauses['where']['path__not_in'] = "path NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__not_in'] ) ) . "' )";
 		}
 
-		if ( is_numeric( $this->query_vars['archived'] ) ) {
-			$archived = absint( $this->query_vars['archived'] );
+		if ( ! is_null( $this->query_vars['archived'] ) ) {
+			$archived = wp_validate_boolean( $this->query_vars['archived'] ) ? 1 : 0;
 			$this->sql_clauses['where']['archived'] = $wpdb->prepare( "archived = %d ", $archived );
 		}
 
-		if ( is_numeric( $this->query_vars['mature'] ) ) {
-			$mature = absint( $this->query_vars['mature'] );
+		if ( ! is_null( $this->query_vars['mature'] ) ) {
+			$mature = wp_validate_boolean( $this->query_vars['mature'] ) ? 1 : 0;
 			$this->sql_clauses['where']['mature'] = $wpdb->prepare( "mature = %d ", $mature );
 		}
 
-		if ( is_numeric( $this->query_vars['spam'] ) ) {
-			$spam = absint( $this->query_vars['spam'] );
+		if ( ! is_null( $this->query_vars['spam'] ) ) {
+			$spam = wp_validate_boolean( $this->query_vars['spam'] ) ? 1 : 0;
 			$this->sql_clauses['where']['spam'] = $wpdb->prepare( "spam = %d ", $spam );
 		}
 
-		if ( is_numeric( $this->query_vars['deleted'] ) ) {
-			$deleted = absint( $this->query_vars['deleted'] );
+		if ( ! is_null( $this->query_vars['deleted'] ) ) {
+			$deleted = wp_validate_boolean( $this->query_vars['deleted'] ) ? 1 : 0;
 			$this->sql_clauses['where']['deleted'] = $wpdb->prepare( "deleted = %d ", $deleted );
 		}
 
-		if ( is_numeric( $this->query_vars['public'] ) ) {
-			$public = absint( $this->query_vars['public'] );
+		if ( ! is_null( $this->query_vars['public'] ) ) {
+			$public = wp_validate_boolean( $this->query_vars['public'] ) ? 1 : 0;
 			$this->sql_clauses['where']['public'] = $wpdb->prepare( "public = %d ", $public );
 		}
 
diff --git tests/phpunit/tests/multisite/siteQuery.php tests/phpunit/tests/multisite/siteQuery.php
index e6f958d..b8f8350 100644
--- tests/phpunit/tests/multisite/siteQuery.php
+++ tests/phpunit/tests/multisite/siteQuery.php
@@ -737,6 +737,137 @@ class Tests_Multisite_Site_Query extends WP_UnitTestCase {
 		) );
 		$this->assertEquals( $number_of_queries + 1, $wpdb->num_queries );
 	}
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_public_true_values() {
+
+		foreach( array( true, 'true', 1, '1' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'public'  => $value,
+	                ) );
+        	        $this->assertContains( ' public = 1 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_public_false_values() {
+		foreach( array( false, 'false', 0, '0' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'public'  => $value,
+	                ) );
+        	        $this->assertContains( ' public = 0 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_archived_true_values() {
+		foreach( array( true, 'true', 1, '1' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'archived'  => $value,
+	                ) );
+        	        $this->assertContains( ' archived = 1 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_archived_false_values() {
+		foreach( array( false, 'false', 0, '0' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'archived'  => $value,
+	                ) );
+        	        $this->assertContains( ' archived = 0 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_mature_true_values() {
+		foreach( array( true, 'true', 1, '1' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'mature'  => $value,
+	                ) );
+        	        $this->assertContains( ' mature = 1 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_mature_false_values() {
+		foreach( array( false, 'false', 0, '0' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'mature'  => $value,
+	                ) );
+        	        $this->assertContains( ' mature = 0 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_spam_true_values() {
+		foreach( array( true, 'true', 1, '1' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'spam'  => $value,
+	                ) );
+        	        $this->assertContains( ' spam = 1 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_spam_false_values() {
+		foreach( array( false, 'false', 0, '0' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'spam'  => $value,
+	                ) );
+        	        $this->assertContains( ' spam = 0 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_deleted_true_values() {
+		foreach( array( true, 'true', 1, '1' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'deleted'  => $value,
+	                ) );
+        	        $this->assertContains( ' deleted = 1 ', $q->request );
+		}
+        }
+
+        /**
+         * @ticket 37937
+         */
+        public function test_wp_site_query_by_deleted_false_values() {
+		foreach( array( false, 'false', 0, '0' ) as $value ) {
+	                $q = new WP_Site_Query();
+        	        $found = $q->query( array(
+                	        'deleted'  => $value,
+	                ) );
+        	        $this->assertContains( ' deleted = 0 ', $q->request );
+		}
+        }
 }
 
 endif;
