diff --git src/wp-includes/formatting.php src/wp-includes/formatting.php
index e690948..1727c72 100644
--- src/wp-includes/formatting.php
+++ src/wp-includes/formatting.php
@@ -3040,7 +3040,9 @@ function wp_rel_nofollow_callback( $matches ) {
 function wp_targeted_link_rel( $text ) {
 	// Don't run (more expensive) regex if no links with targets.
 	if ( stripos( $text, 'target' ) !== false && stripos( $text, '<a ' ) !== false ) {
-		$text = preg_replace_callback( '|<a\s([^>]*target\s*=[^>]*)>|i', 'wp_targeted_link_rel_callback', $text );
+		if ( ! is_serialized( $text ) ) {
+			$text = preg_replace_callback( '|<a\s([^>]*target\s*=[^>]*)>|i', 'wp_targeted_link_rel_callback', $text );
+		}
 	}
 
 	return $text;
diff --git tests/phpunit/tests/formatting/WPTargetedLinkRel.php tests/phpunit/tests/formatting/WPTargetedLinkRel.php
index 08f8ac1..929c04f 100644
--- tests/phpunit/tests/formatting/WPTargetedLinkRel.php
+++ tests/phpunit/tests/formatting/WPTargetedLinkRel.php
@@ -101,4 +101,16 @@ class Tests_Targeted_Link_Rel extends WP_UnitTestCase {
 
 		$this->assertEquals( $expected, $post->post_content );
 	}
+
+	/**
+	 * Ensure entirely serialized content is ignored.
+	 *
+	 * @ticket 46402.
+	 */
+	public function test_ignore_entirely_serialized_content() {
+		$content  = 'a:1:{s:4:"html";s:52:"<p>Links: <a href="/" target="_blank">No Rel</a></p>";}';
+		$expected = 'a:1:{s:4:"html";s:52:"<p>Links: <a href="/" target="_blank">No Rel</a></p>";}';
+		$this->assertEquals( $expected, wp_targeted_link_rel( $content ) );
+	}
+
 }
