WordPress サイトアイコンと favicon.ico

WordPress 5.4より、カスタマイズからサイトアイコンを設定できるようになりました。favicon.ico にも適用されます。未設定の場合は、WordPress ロゴ (丸にWのマーク) がデフォルト アイコンとして favicon.ico に設定されます。

サイトアイコン

サイトアイコンが WordPress ロゴでは、企業サイトなどでは問題がある場合があります。とは言っても特にロゴなどのアイコンにするものが無い場合もあります。

そこで、ここではでサイトアイコンのデフォルトの WordPress ロゴを無効化する方法を紹介します。

デフォルト (WordPress ロゴ) のサイトアイコンを無効化

下記コードをテーマの functions.php に追記します。特に設定はありません。

add_filter( 'do_faviconico', function() { exit; } );

favicon.ico のリダイレクト

favicon.ico はブラウザにもよりますが、ページごとに毎回参照されます。この favicon.ico を、WordPress はリダイレクトします。リダイレクトは追加の往復により僅かではあるがパフォーマンスが低下します。

デフォルト アイコンの場合:

(サイトアドレス)/favicon.ico

(サイトアドレス)/wp-includes/images/w-logo-blue-white-bg.png
デフォルトのサイトアイコン ファイル

そこで、リダイレクトなしで favicon.ico を直にアクセスする方法を紹介します。

下記コードをテーマの functions.php に追記します。特に設定はありません。

add_filter( 'do_faviconico', function() {
	if ( $site_icon_id = get_option( 'site_icon' ) ) {
		if ( $type = get_post_mime_type( $site_icon_id ) ) {
			$url = wp_get_attachment_image_url( $site_icon_id, array( 32, 32 ) );
			if ( $image = file_get_contents( $url ) ) {
				header( 'Content-Type: ' . $type );
				header( 'Content-Length: ' . strlen( $image ) );
				echo $image;
			}
		}
	} else {
		// Default
		// wp_redirect( get_site_icon_url( 32, includes_url( 'images/w-logo-blue-white-bg.png' ) ) );
	}
	exit;
} );

※ このコードには、前章のデフォルトのサイトアイコンを無効化する処理も含まれています。

最後に

サイトアイコンは、サイトの顔のようなもので、重要な要素だと思います。なるべく設定されることをおすすめします。

コメントを残す

メールアドレスが公開されることはありません。

日本語でコメントを入力してください。(スパム対策)