WordPress でファビコンが更新されない?その解決法
新しいサイトアイコンを設定したのに古いものが動かない。WordPress ではそれはほぼ必ずキャッシュ層(古い HTML を配信するページキャッシュプラグインや CDN)で、ブラウザ自身のファビコンキャッシュが第二の容疑者です。
cropped- のファイル名を読んでどのキャッシュか見極める
ソースを表示してアイコンの link を探します。そのファイル名は cropped- で始まり、アップロードした名前が付いています。新しい添付を指していれば HTML は正しく、ブラウザ内のキャッシュされたファビコンを見ています。まだ古い添付を指していれば、ページキャッシュか CDN が古い HTML を配信しています。
この一つの確認で問題がきれいに切り分けられます。ファイル名が正しければブラウザをクリア、間違っていればページキャッシュをクリアです。
正しい層をクリアする
- 1
ページキャッシュと CDN をパージする
cropped- のファイル名が古いなら、キャッシュプラグイン(WP Rocket、W3 Total Cache、LiteSpeed)と前段の CDN をすべてフラッシュし、新しいアイコンの link を含む新鮮な HTML が配信されるようにします。
- 2
サイトをプライベートウィンドウで開く
ファイル名がすでに新しいものなら、ブラウザがファビコンをキャッシュしています。プライベートウィンドウか別のプロファイルが真実を見せてくれます。
- 3
テーマの上書きを除外する
独自のアイコンタグを出力するテーマは、コアに勝つことがあります。両方のキャッシュをクリアしても間違ったアイコンが残るなら、ソース内の rel=icon タグの数を数えてください。
WordPress でファビコンが更新されない:よくある質問
サイトアイコンを変えたのにタブに古いものが表示されます。
ソースを表示して、アイコンの link にある cropped- のファイル名を確認します。新しい添付を指していれば HTML は問題なく、キャッシュされたファビコンなのでブラウザをクリアします。古いものを指していれば、ページキャッシュか CDN が古いです。
WordPress ではどのキャッシュが関わりますか?
最大で三つです。ページキャッシュプラグイン、サイトの前段の CDN、そしてブラウザ自身のファビコンキャッシュです。ソース内の cropped- のファイル名が、サーバー側のキャッシュをクリアすべきかブラウザをクリアすべきかを教えてくれます。
ルートに favicon.ico はまだ必要ですか?
ブラウザは link タグを読むので必須ではありませんが、一部のフィードリーダーやクローラーは HTML を読まずにパス指定で /favicon.ico をリクエストするため、ドメインルートのファイルは安上がりな保険になります。