Index: src/bp-blogs/bp-blogs-cache.php
===================================================================
--- src/bp-blogs/bp-blogs-cache.php
+++ src/bp-blogs/bp-blogs-cache.php
@@ -28,7 +28,7 @@
 		'object_ids'    => $blog_ids,
 		'object_type'   => buddypress()->blogs->id,
 		'object_column' => 'blog_id',
-		'cache_group'   => 'blog_meta',
+		'cache_group'   => 'bp_blog_meta',
 		'meta_table'    => buddypress()->blogs->table_name_blogmeta,
 	);
 
Index: src/bp-blogs/bp-blogs-filters.php
===================================================================
--- src/bp-blogs/bp-blogs-filters.php
+++ src/bp-blogs/bp-blogs-filters.php
@@ -135,3 +135,28 @@
 	return $sizes;
 }
 add_filter( 'site_icon_image_sizes', 'bp_blogs_register_custom_site_icon_size' );
+
+/**
+ * Filters the column name during blog metadata queries.
+ *
+ * This filters 'sanitize_key', which is used during various core metadata
+ * API functions: {@link https://core.trac.wordpress.org/browser/branches/4.9/src/wp-includes/meta.php?lines=47,160,324}.
+ * Due to how we are passing our meta type, we need to ensure that the correct
+ * DB column is referenced during blogmeta queries.
+ *
+ * @since 3.1.0
+ *
+ * @see bp_blogs_delete_blogmeta()
+ * @see bp_blogs_get_blogmeta()
+ * @see bp_blogs_update_blogmeta()
+ * @see bp_blogs_add_blogmeta()
+ *
+ * @param  string $retval
+ * @return string
+ */
+function bp_blogs_filter_meta_column_name( $retval ) {
+	if ( 'bp_blog_id' === $retval ) {
+		$retval = 'blog_id';
+	}
+	return $retval;
+}
\ No newline at end of file
Index: src/bp-blogs/bp-blogs-functions.php
===================================================================
--- src/bp-blogs/bp-blogs-functions.php
+++ src/bp-blogs/bp-blogs-functions.php
@@ -175,7 +175,7 @@
 	foreach ( (array) $blogs as $blog ) {
 
 		// Ensure that the cache is clear after the table TRUNCATE above.
-		wp_cache_delete( $blog->blog_id, 'blog_meta' );
+		wp_cache_delete( $blog->blog_id, 'bp_blog_meta' );
 
 		// Get all users.
 		$users = get_users( array(
@@ -1302,20 +1302,22 @@
 
 	// Legacy - if no meta_key is passed, delete all for the blog_id.
 	if ( empty( $meta_key ) ) {
-		$keys = $wpdb->get_col( $wpdb->prepare( "SELECT meta_key FROM {$wpdb->blogmeta} WHERE blog_id = %d", $blog_id ) );
+		$keys = $wpdb->get_col( $wpdb->prepare( "SELECT meta_key FROM {$wpdb->bp_blogmeta} WHERE blog_id = %d", $blog_id ) );
 		$delete_all = false;
 	} else {
 		$keys = array( $meta_key );
 	}
 
 	add_filter( 'query', 'bp_filter_metaid_column_name' );
+	add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
 
 	$retval = false;
 	foreach ( $keys as $key ) {
-		$retval = delete_metadata( 'blog', $blog_id, $key, $meta_value, $delete_all );
+		$retval = delete_metadata( 'bp_blog', $blog_id, $key, $meta_value, $delete_all );
 	}
 
 	remove_filter( 'query', 'bp_filter_metaid_column_name' );
+	remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
 
 	return $retval;
 }
@@ -1338,7 +1340,9 @@
  */
 function bp_blogs_get_blogmeta( $blog_id, $meta_key = '', $single = true ) {
 	add_filter( 'query', 'bp_filter_metaid_column_name' );
-	$retval = get_metadata( 'blog', $blog_id, $meta_key, $single );
+	add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
+	$retval = get_metadata( 'bp_blog', $blog_id, $meta_key, $single );
+	remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
 	remove_filter( 'query', 'bp_filter_metaid_column_name' );
 
 	return $retval;
@@ -1361,7 +1365,9 @@
  */
 function bp_blogs_update_blogmeta( $blog_id, $meta_key, $meta_value, $prev_value = '' ) {
 	add_filter( 'query', 'bp_filter_metaid_column_name' );
-	$retval = update_metadata( 'blog', $blog_id, $meta_key, $meta_value, $prev_value );
+	add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
+	$retval = update_metadata( 'bp_blog', $blog_id, $meta_key, $meta_value, $prev_value );
+	remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
 	remove_filter( 'query', 'bp_filter_metaid_column_name' );
 
 	return $retval;
@@ -1382,7 +1388,9 @@
  */
 function bp_blogs_add_blogmeta( $blog_id, $meta_key, $meta_value, $unique = false ) {
 	add_filter( 'query', 'bp_filter_metaid_column_name' );
-	$retval = add_metadata( 'blog', $blog_id, $meta_key, $meta_value, $unique );
+	add_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
+	$retval = add_metadata( 'bp_blog', $blog_id, $meta_key, $meta_value, $unique );
+	remove_filter( 'sanitize_key', 'bp_blogs_filter_meta_column_name' );
 	remove_filter( 'query', 'bp_filter_metaid_column_name' );
 
 	return $retval;
Index: src/bp-blogs/classes/class-bp-blogs-component.php
===================================================================
--- src/bp-blogs/classes/class-bp-blogs-component.php
+++ src/bp-blogs/classes/class-bp-blogs-component.php
@@ -63,7 +63,7 @@
 		);
 
 		$meta_tables = array(
-			'blog' => $bp->table_prefix . 'bp_user_blogs_blogmeta',
+			'bp_blog' => $bp->table_prefix . 'bp_user_blogs_blogmeta',
 		);
 
 		// Fetch the default directory title.
@@ -347,7 +347,7 @@
 
 		// Global groups.
 		wp_cache_add_global_groups( array(
-			'blog_meta'
+			'bp_blog_meta'
 		) );
 
 		parent::setup_cache_groups();
Index: tests/phpunit/testcases/blogs/cache.php
===================================================================
--- tests/phpunit/testcases/blogs/cache.php
+++ tests/phpunit/testcases/blogs/cache.php
@@ -30,12 +30,12 @@
 		$b2_last_activity = bp_blogs_get_blogmeta( $b2, 'last_activity' );
 
 		// Clear caches (due to _get_)
-		wp_cache_delete( $b1, 'blog_meta' );
-		wp_cache_delete( $b2, 'blog_meta' );
+		wp_cache_delete( $b1, 'bp_blog_meta' );
+		wp_cache_delete( $b2, 'bp_blog_meta' );
 
 		// Caches should be empty
-		$this->assertFalse( wp_cache_get( $b1, 'blog_meta' ) );
-		$this->assertFalse( wp_cache_get( $b2, 'blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) );
 
 		bp_blogs_update_meta_cache( array( $b1, $b2 ) );
 
@@ -74,12 +74,12 @@
 
 		// The cache may contain more than just this, so loop through
 		// and check only relevant keys
-		$b1_found = wp_cache_get( $b1, 'blog_meta' );
+		$b1_found = wp_cache_get( $b1, 'bp_blog_meta' );
 		foreach ( $b1_expected as $k => $v ) {
 			$this->assertSame( $v, $b1_found[ $k ] );
 		}
 
-		$b2_found = wp_cache_get( $b2, 'blog_meta' );
+		$b2_found = wp_cache_get( $b2, 'bp_blog_meta' );
 		foreach ( $b2_expected as $k => $v ) {
 			$this->assertSame( $v, $b2_found[ $k ] );
 		}
@@ -120,12 +120,12 @@
 		$b2_last_activity = bp_blogs_get_blogmeta( $b2, 'last_activity' );
 
 		// Clear caches (due to _get_)
-		wp_cache_delete( $b1, 'blog_meta' );
-		wp_cache_delete( $b2, 'blog_meta' );
+		wp_cache_delete( $b1, 'bp_blog_meta' );
+		wp_cache_delete( $b2, 'bp_blog_meta' );
 
 		// Caches should be empty
-		$this->assertFalse( wp_cache_get( $b1, 'blog_meta' ) );
-		$this->assertFalse( wp_cache_get( $b2, 'blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) );
 
 		bp_has_blogs( array(
 			'user_id' => $u,
@@ -166,12 +166,12 @@
 
 		// The cache may contain more than just this, so loop through
 		// and check only relevant keys
-		$b1_found = wp_cache_get( $b1, 'blog_meta' );
+		$b1_found = wp_cache_get( $b1, 'bp_blog_meta' );
 		foreach ( $b1_expected as $k => $v ) {
 			$this->assertSame( $v, $b1_found[ $k ] );
 		}
 
-		$b2_found = wp_cache_get( $b2, 'blog_meta' );
+		$b2_found = wp_cache_get( $b2, 'bp_blog_meta' );
 		foreach ( $b2_expected as $k => $v ) {
 			$this->assertSame( $v, $b2_found[ $k ] );
 		}
@@ -214,20 +214,20 @@
 		$b2_last_activity = bp_blogs_get_blogmeta( $b2, 'last_activity' );
 
 		// Clear caches (due to _get_)
-		wp_cache_delete( $b1, 'blog_meta' );
-		wp_cache_delete( $b2, 'blog_meta' );
+		wp_cache_delete( $b1, 'bp_blog_meta' );
+		wp_cache_delete( $b2, 'bp_blog_meta' );
 
 		// Caches should be empty
-		$this->assertFalse( wp_cache_get( $b1, 'blog_meta' ) );
-		$this->assertFalse( wp_cache_get( $b2, 'blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) );
 
 		bp_has_blogs( array(
 			'update_meta_cache' => false,
 		) );
 
 		// Caches should be empty
-		$this->assertFalse( wp_cache_get( $b1, 'blog_meta' ) );
-		$this->assertFalse( wp_cache_get( $b2, 'blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b1, 'bp_blog_meta' ) );
+		$this->assertFalse( wp_cache_get( $b2, 'bp_blog_meta' ) );
 
 		$this->set_current_user( $old_user );
 	}
@@ -304,7 +304,7 @@
 
 		// prime cache
 		bp_blogs_get_blogmeta( $b1, 'url' );
-		$this->assertNotEmpty( wp_cache_get( $b1, 'blog_meta' ) );
+		$this->assertNotEmpty( wp_cache_get( $b1, 'bp_blog_meta' ) );
 
 		// updating blog details should purge cache
 		update_blog_details( $b1, array(
@@ -312,6 +312,6 @@
 		) );
 
 		// assert cache is purged
-		$this->assertEmpty( wp_cache_get( $b1, 'blog_meta' ) );
+		$this->assertEmpty( wp_cache_get( $b1, 'bp_blog_meta' ) );
 	}
 }
