つい最近当サイトのファビコン(favicon)を新しい画像に変更したのですが、iPhoneでファビコンが変更されず、一向に反映されませんでした。
元のファビコンを削除してもiPhoneには前のファビコンが表示され続けます...
なぜ~?と考え続け、3日間いろいろ試行したのですが一向に変更されず、結局諦めがつく結果が出たので記事にします。
どうやらSafariのキャッシュはファビコンの保持には関係ない様子です。
この記事の目次
iPhone(Safari)のファビコンが更新されない
もともと当サイトはある時期からファビコンを設定していたのですが、あまりに素朴なので少し加工して、以下のような新しいアイコンに変更しました。
そんなにこだわらないしイラストの技術も無いのでこれくらいで...
ファビコンを作ったら早速サイトに設定!当サイトはWordPressを使っているので、
管理画面左メニュー>外観>カスタマイズ>サイト基本情報
まで進み、ファビコンをアップロードしてサイトに設定します。
WordPress ver4.3からはサイトアイコン機能が実装されているので、サイトアイコンのところに「512px × 512px」以上の画像を1枚アップロードするだけで他のサイズは自動生成してくれます。
更にマルチアイコン(拡張子.ico)もサーバールートにアップロードしておきました。
iPhoneのファビコンが古いまま
ファビコンの設置は問題なく終わり、パソコンのブラウザなどに無事に反映されていることを確認。最後にiPhoneで確認して終わり!!と思ったら問題が発生しました。
手元にある実機のiPhone(12 mini)でホーム画面のサイトアイコン(ファビコン)を確認したところ、更新されておらず、一向に新しいファビコンが反映されません。
「ホーム画面に追加」をやり直しても変更されず...
以前の古いファビコンが表示されたままです。
ファビコンを更新させるために試したこと
その後、ファビコンを更新するために色々試しました。
結論から言うと以下は全部ダメで、一向にファビコンは変更されませんでした。
- Safariのキャッシュクリア
- Safariのスタートページのカスタマイズ変更
- iPhoneの再起動
- ホーム画面に追加のやり直し
- サイトをスーパーリロードで読み込み
- Safariのプライベートタブで読み込み
- URLでファビコンに直接アクセス
- サイトのファビコン設定の再確認
- ファビコンを他の画像に変更
- 3日間様子見で放置する
ことごとくダメ...どうやってもiPhoneのファビコンが変更されません...。
自分のサイトに現在設定されているファビコンについては、以下のようなファビコン確認サイトで確認することが出来ます。
外部リンク
【ファビコン確認サイト】
Favicon Generator for perfect icons on all browsers
念のため上記のサイトで確認しても新しいファビコンが設定できている様子...
Safariのキャッシュは関係なさそう
Webサイトの画像が変更されない・更新されない時はキャッシュが原因であることが大半です。そこでSafariのキャッシュを削除してみます。
設定>Safari>履歴とWebサイトデータを削除
に進んでSafariのキャッシュをクリアしてみます。これが一番効きそうな感じですが...
結果、Safariのキャッシュクリア後もファビコンは全く変更されず。効果ナシ。
念のためSafariのプライベートタブを使ってみたのですが、変化ナシ。
ファビコンはブラウザキャッシュに保存されているわけではないようです。
スタートページも触ってみるもダメ
キャッシュクリアでダメならSafariの「スタートページをカスタマイズ」の方を確認してみます。
Safariスタートページ>ページ下部の「編集」>スタートページのカスタマイズ
から色々オン、オフにしてみるも効果ナシ!...何が原因?
別のスマホではファビコンが変わっている!
3日間色々試して、その間もiPhoneのファビコンが一向に新しいものに変わらないので、別のiPhone(iPhone 13)で確認してみることに。すると…
おぉ!?新しいファビコンになってる~!
さらに別のスマホ(Android)で確認してみます。
Androidでもファビコンが新しい!
さらにファビコンが更新されないスマホで1か所だけサイトアイコンを表示したことがない箇所があったので、ここに新しいファビコンが出るか?確認してみました。
その場所がSafariのスタートページ。お気に入りの1番上に追加してみると...
新しいファビコンになっているぅー!
結論:iPhoneのファビコンは即反映されない
以上の内容から、iPhoneでは1度アクセスしたサイト、既存のファビコンを強制的に初期化して読み込みなおすのは無理?という事が分かりました。
iPhoneは初回アクセス時にサイトのファビコンを読み込みに行き、そのファビコンを“Safariの履歴以外のどこか”に保存していて、これを一定期間使い続けるのが仕様と考えるのが妥当そうです。
サイトの方でファビコンを変更し、設定を済ませていてもiPhoneはファビコンをすぐには反映してくれないんですね。そういえば以前に、忘れたころにファビコンが更新されたことがあるのを思い出しました。
色々試しましたが、iPhoneでファビコンを読み込み直して更新する方法は見つけられませんでした。自分のサイトのファビコンが変更されない時は待つしかないです。
追記:3か月後にファビコンが新しくなった
ここから後日追記です。
サイトファビコンの更新後、約3か月経ってから再びiPhoneでサイトをお気に入りに登録しなおすと、ファビコンが新しいものに更新されていました!
見たところファビコンは自動更新されるようではなく、再度ファビコンが表示される部分にサイトを登録しなおすことで反映されるようです。
登録し直さない限り旧ファビコンが残ったままになるのかも...。
いずれにしても旧ファビコンを保持し続けているiPhoneでも、3か月ほど待ってからファビコンを登録(取得)し直すとファビコンが更新されました。
まとめ
以上、iPhoneのファビコンが変更されない件についてでした。
結論
- iPhoneのファビコンはSafariの履歴には保存されていない。
- iPhoneは1度ファビコンを作成するとしばらく保持する様子。
- ファビコンを設定してもiPhoneのファビコンはすぐに変更されない。
- 具体的な対処法(ファビコンの初期化&強制読み込み)はないと思う。
- 3か月経った後でサイトを再登録したらファビコンが更新された。
iPhoneでファビコンを強制的に読み込みなおして更新することは出来ませんでしたが、他のデバイスには変更後のファビコンが配信されていることは確認できました。
記事中で紹介した「ファビコン確認サイト」にてファビコンが反映されているようであれば気にする必要ナシです!
可能なら別のiPhoneで確認しても良いかもですが、多分普通に反映されてます。
歯切れの悪い結果ですねぇ~。何かもっと対処法が見つかればよかったのですが...。
アプリだと即反映されるのにWebサイトはなぜすぐに反映されないのでしょうねぇ~
何かの参考になれば幸いです。ではではこのへんで・w・