diff --git src/wp-includes/formatting.php src/wp-includes/formatting.php
index 4fb4135..47f8e5f 100644
--- src/wp-includes/formatting.php
+++ src/wp-includes/formatting.php
@@ -3168,7 +3168,7 @@ function wp_targeted_link_rel_callback( $matches ) {
 		preg_match( $attr_regex, $link_html, $rel_match );
 	}
 
-	if ( ! empty( $rel_match[0] ) ) {
+	if ( ! empty( $rel_match[0] ) && preg_match( '#(^\s*|\s+)rel\s*=#', $link_html ) ) {
 		$parts     = preg_split( '|\s+|', strtolower( $rel_match[2] ) );
 		$parts     = array_map( 'esc_attr', $parts );
 		$needed    = explode( ' ', $rel );
diff --git tests/phpunit/tests/formatting/WPTargetedLinkRel.php tests/phpunit/tests/formatting/WPTargetedLinkRel.php
index 8be254a..9a12df8 100644
--- tests/phpunit/tests/formatting/WPTargetedLinkRel.php
+++ tests/phpunit/tests/formatting/WPTargetedLinkRel.php
@@ -139,4 +139,37 @@ class Tests_Targeted_Link_Rel extends WP_UnitTestCase {
 		$this->assertEquals( $expected, wp_targeted_link_rel( $content ) );
 	}
 
+	/**
+	 * Ensure rel parameter in href is ignored when no rel attribute.
+	 *
+	 * @ticket 48261
+	 */
+	public function test_ignore_rel_param_in_href_when_no_rel_attribute() {
+		$content  = '<a href="https://www.somesite.com/index.php?v=yes&rel=0" target="_blank">Anchor Text</a>';
+		$expected = '<a href="https://www.somesite.com/index.php?v=yes&rel=0" target="_blank" rel="noopener noreferrer">Anchor Text</a>';
+		$this->assertEquals( $expected, wp_targeted_link_rel( $content ) );
+	}
+
+	/**
+	 * Ensure rel parameter in href is ignored when rel attribute exists.
+	 *
+	 * @ticket 48261
+	 */
+	public function test_ignore_rel_param_in_href_when_rel_attribute() {
+		$content  = '<a href="https://www.somesite.com/index.php?v=yes&rel=0" rel="noopener noreferrer" target="_blank">Anchor Text</a>';
+		$expected = '<a href="https://www.somesite.com/index.php?v=yes&rel=0" rel="noopener noreferrer" target="_blank">Anchor Text</a>';
+		$this->assertEquals( $expected, wp_targeted_link_rel( $content ) );
+	}
+
+	/**
+	 * Ensure rel parameter in href is ignored when rel is the first attribute.
+	 *
+	 * @ticket 48261
+	 */
+	public function test_ignore_rel_param_in_href_when_rel_first_attribute() {
+		$content  = '<a rel="test" href="https://www.somesite.com/index.php?v=yes&rel=0" target="_blank">Anchor Text</a>';
+		$expected = '<a rel="test noopener noreferrer" href="https://www.somesite.com/index.php?v=yes&rel=0" target="_blank">Anchor Text</a>';
+		$this->assertEquals( $expected, wp_targeted_link_rel( $content ) );
+	}
+
 }
