特定のページでなぜかfaviconが表示されない不具合があった。
他のページと変わらず、faviconの設定がしてあり、faviconファイルについてもリンクを辿るとしっかり存在している。
ただ、Chromeのネットワークの「その他」から見ると、そのfaviconファイルが読み込まれておらず、302リダイレクト (WordPressサイトだったので、デフォルトのアイコンが読み込まれていた)されていた。
ほかにもそのサイトにはいろいろ不具合があったので、その影響かと頭を悩ませたが、原因は実にシンプルだった。

headタグ内に「U+00A0」文字列(文字実体参照では だが、数値文字参照として書くことで特定のエディター上などでは空白と見分けがつかなくなる)が入力されていることで、ブラウザの処理によってheadタグ内に文字列が含まれていた場合、headタグを閉じbodyタグをスタートさせてしまったので、faviconが読み込まれなかったということである。

CSSやJSはbodyタグにあっても適切に動作する場合があるが、faviconは反応しなくなる。とてつもない落とし穴だった。

信用できないブログなどでこのような見えない数値文字参照を書かれていて、コードを壊すなどのハッキング事例もあるため、注意したい。

今回の場合は「\u00a0」で検索し数値文字参照を削除することで対応した。