WordPressでは、セキュリティのため外部リンクに「」が自動的に追加されます。
これをカスタムフィルターを使用して解除する方法を紹介します。

「」属性の自動付与を解除する

次の関数をfunctions.phpに追加することで、自動的に付与される「」を削除できます。

function remove_noreferrer_noopener($content) {
	$content = str_replace(
		['rel="noreferrer"', 'rel="noopener"', 'rel="noreferrer noopener"', 'rel="noopener noreferrer"'],
		'',
		$content
	);
	return $content;
}
add_filter('the_content', 'remove_noreferrer_noopener');
add_filter('wp_nav_menu', 'remove_noreferrer_noopener');
add_filter('widget_text', 'remove_noreferrer_noopener');

その他のオプション

以下のadd_filterを追加することで、WordPress内の他のコンテンツ部分からも「」を除去できます。

add_filter('widget_custom_html_conten', 'remove_noreferrer_noopener'); // 投稿の抜粋
add_filter('post_thumbnail_html', 'remove_noreferrer_noopener'); // カスタムHTMLウィジェット
add_filter('comment_text', 'remove_noreferrer_noopener'); // コメント内リンク

「」を使用したくないケース

「」を使用したくない、必要としないケースは、以下のような場面です。

  • 信頼できるサイト同士のリンク
  • リンク先にリファラー情報が必要な場合(SEOやアクセス解析において、リンク元情報が重要な場合)

サイト全体でリンク属性管理が必要な場合や、セキュリティ要件に応じた柔軟なカスタマイズを行う際に役立ちます。
ぜひお試しください。