検索結果でファビコンが表示や更新されないことに関する記事ですが、内容の真偽に関して保証はできませんので読まれる方はその点留意ください。
ファビコン表示に関するGoogleのヘルプ
以降はこのページからの引用を交えて記載します。
検索結果にファビコンが表示や更新されない場合のチェックポイント(私案)
- robots.txtの画像検索よけ(User-agent: Googlebot-Image)の範囲にファビコン用画像ファイルが含まれていないか?
- ルートドメイン直下にページがあるか?(※詳細は後述)
- APIエンドポイントで表示されるか?(※詳細は後述)
- ファビコンの画像ファイル更新後、8-10日待ったか?(7日目に反映される場合を確認)
- ファイル名そのままで上書きして変更されない場合は、ファビコン画像のファイル名を変更する(呼び出し時のパラメーター付与でも可)
- それでも変更されない場合は、ジェネレーターなど画像の作成方法を変更して試す
以下補足。
- ファビコン画像ファイル名を同じにして上書きすると、更新されたと判断されずに反映されない可能性が高い
- ファビコン画像はルート直下に配置しなくても表示される
- Base64形式で指定しても表示される
- icoがgzip圧縮(content-encoding: gzip)されていても表示される
- サブドメイン型は個別に表示されるが、サブディレクトリ型はルートディレクトリ内のTOPページで指定したファビコンでしか表示されない
- 48の倍数ではなく16と32しかなくても表示されるが、どちらにせよBase64の16に変換されてしまうので結局ボケる
- ブラウザとサーチコンソールのファビコン表示状態には関連性がない
- 反映確認はスマホ実機でなくとも、PCのChromeなどのエミュレートで確認できる(目視で実機との明確なタイムラグは確認できず)
Googleが何を根拠にファビコンの更新を判断しているか明示されていませんが、同名上書き更新でファイルの日付が変わっている状態は更新と判断されない場合は多いので、ファイル名は変更しておいた方が無難です。
実験ではパラメーター付与でも反映を確認していますが、通常ファビコンにパラメーターをつけることはまずないと思われるので、今後Googleが何かする時に問題と判断される可能性も考えられなくはありません。
パラメーターをつけた場合、変更を確認したらパラメーター部分を削除した上で再度リクエストを送信する方がよいかもしれません。
ファビコンの URL は固定されている必要があります(URL は頻繁に変更しないでください)。
ヘルプには上記のように注意書きがありファイル名変更もあまり推奨されないように思われますが、やらないと更新が認識されないならやらざるを得ません。
変更確認時間
操作 | 確認できたおおよその時間 |
---|---|
新規追加 | 22時間/2日 |
上書き更新 | 10時間/12時間/24時間/2日/3日/5日/7日/14日(※1) |
削除 | 消えずに残り続ける(14日経過しても消えないことを確認) |
以下補足。
- 一度表示されると、削除やファビコン画像を上書き(同名上書きで更新とみなされないか、別の問題を抱えている状態)しても変更されず、元のファビコンがずっと表示される模様
- 現時点では、反映されないことを確認するには最低8日は待つしかない(他に確認方法がない)
- 反映速度はサイトごとに一定ではない(同じサイトでも10時間後-7日後まで幅がある)
- (※1)上書き更新で14日のものは、8日経過後に呼び出し記述にパラメーターを追加し、その後6日後に反映を確認したもの。パラメーター以外の部分は触っていない。
削除に関しては、1ヶ月、3ヶ月、1年など待てば消えるのかもしれませんが、意図的に消したい時に消せない状態になっているのは確かかと思います。
サーチコンソールとファビコン
以下たまたま確認できた少し関連性が薄い別件。
- サーチコンソールのURLの削除をファビコンに対して行っても効果がない(ファビコンを削除した状態で行っても14日消えないことを確認)
- サーチコンソールの「公開URLをテスト」の後の「テスト済みのページ」の「スクリーンショット」や「その他の情報」で画像が正常に表示されていても、ファビコンの表示や更新がされるかどうかに関係がない
- サーチコンソールでサイト名の横に出るファビコンの表示の有無と、検索結果での表示には関連なし
- サーチコンソールのファビコンは、無しから有りにした場合は追加後、最速5分以内で反映確認
- サーチコンソールのファビコンは、上書き変更した場合は12時間程度で反映確認
- サーチコンソールのファビコンは、登録したURL直下に置かないと反映されない?(置いても反映されない場合ありなので不明)
- サーチコンソールのファビコンは、Base64では表示されないが登録したURL直下のパスでアクセスできる位置にファビコン画像を置けば表示される(pngだとファビコン画像だと判断ができないのでおそらくico形式のみ?)
サーチコンソールの方のファビコンは以下のように記述されています。
<img class="KTIGIb DFxoh" jsname="I5H5Sd" src="https://www.google.com/s2/favicons?sz=32&domain=https://webutubutu.com/">
サイズごとに更新タイミングが違います。
例えば16と32のみのicoに48を追加して上書きした場合、16と32は古いままでszに48を指定した時だけ上書き後のファビコンが表示される状態を確認しました。
時間経過でどのサイズも最新データに上書きされますが、その時点で全サイズが変更されるわけではない模様です(ブラウザキャッシュの問題も考えられるもののスーパーリロードでは変化なし)。
その他問題点や疑問点など
ヘルプではわからないことなどの色々を記載。
結局ボケる
16pxの画像を16pxのサイズで表示しているため、高精細画面のスマホで検索結果を見た際にファビコンは結局ボケるようです。
スマホなどのモバイルで閲覧されるのですから高精細画面である可能性が高いわけで、ここにボケるサイズで画像を用いる意図はよくわかりません。
確認に時間がかかる
Google では、ホームページをクロールするたびにファビコンの有無、またはファビコンの更新の有無を確認します。ファビコンを変更し、Google にその変更を知らせたい場合は、サイトのホームページのインデックス登録をリクエストできます。更新が検索結果に反映されるまで、数日かかることがあります。
上記のように反映タイミングの範囲が曖昧に書かれていて何日も待たねばならず、確認用ツールもないためエラー内容もわからず、何をすればどうなるのかを自分で調べることが困難です。
また「ファビコンの更新の有無を確認します」とありますが、ファビコン画像のファイル名を変更しないと更新されないこともあり、何をもって更新の有無を判断しているのかも不明です。
確認方法の候補?
A good resource to check what icon is picked by Google is the following url: https://www.google.com/s2/favicons?sz=32&domain=https://yvoschaap.com (replace ‘yvoschaap.com’ with your own domain).
上記のようにGoogleドメイン下のファビコンに関するAPIエンドポイントらしきものが利用できると書かれていました。
根拠は書かれていないように見えますが書かれていたらごめんなさい。
これはサーチコンソールや検索結果上のサイトのトラフィック表示などでファビコンを表示させる際に用いられている仕組みですが、szの部分で以下のようにサイズが指定できます。
//48pxサイズのFavicon
https://www.google.com/s2/favicons?sz=48&domain=https://webutubutu.com
//32pxサイズのFavicon
https://www.google.com/s2/favicons?sz=32&domain=https://webutubutu.com
//16pxサイズのFavicon
https://www.google.com/s2/favicons?sz=16&domain=https://webutubutu.com
ここが意図道理に表示されていても検索結果に表示されているわけではないので、このURLで確認できたところであまり意味はないように思います。
ただし表示されない場合、Googleがファビコンを認識できていない状態だと考えることができるため、ファビコンへのパスなど何らかの問題発生を推測する手段には使えると考えられます。
どれが表示されるのかわからない
- “shortcut icon”
- “icon”
- “apple-touch-icon”
- “apple-touch-icon-precomposed”
上記がlinkタグで指定可能な種類として書かれていますが、疑問は以下の通り。
- apple-touch-iconだけがあった場合、それがファビコンとして使われるのか?
- 複数種類を設置した場合の優先順位はどうなっているのか?
apple-touch-iconが表示される事例
フォーラムの上記ページでは「タッチアイコン(おそらくapple-touch-icon)」が表示されているという書きこみがあります。
残念ながら該当ページがどこなのかわからず目視で状況を確認できませんが、icoに問題があったのでapple-touch-iconが採用されたということなのかもしれません。
なんら確証のない推測にすぎませんが以下のような状態だったのかなと思います。
- 初期からrel="icon"で指定した画像に問題ありとして除外されていた
- icoを更新しても変更されない場合は、問題ありのままだったか、同名での上書きのため更新と見なされていなかった
ファビコンが表示されるか否か
なお、すべてのガイドラインが満たされても、ファビコンが検索結果に表示されるかは保証されません。
ファビコンのサイズが 48 ピクセルの倍数になっていること(例: 48 x 48 ピクセル、96 x 96 ピクセル、144 x 144 ピクセルなど)。SVG ファイルの場合は、サイズに関して特別な指定はありません。有効なファビコン形式は、すべてサポートされています。Google では画像サイズを 16 x 16 ピクセルに変換するため、その解像度で適切に表示されるか、あらかじめご確認ください。16 × 16 ピクセルのファビコンは指定しないでください。
表示されない理由として明示的なのは以下の説明しかなく、実際に表示されていないサイトに対する説明もないので改善の方法は自分で調べるしかありません。
わいせつな表現やヘイト表現に関連するシンボル(例: かぎ十字章)などの不適切なファビコンは表示されません。該当する表現がファビコン内で見つかった場合は、デフォルトのアイコンに置き換えられます。
ルートドメイン直下のページの必要性
- https://example.com でアクセスできるページ内に記載されたファビコンへのパスを元に検索結果に表示される
- https://example.com/sub/ など下層にしかページがない場合、おそらくファビコンは表示されない
サイトの作り方としてルートドメインにはページを置かないサブディレクトリ型のみの運用もあり得ますが、この場合はファビコンが表示されないはずです。
調べた範囲でしかないので方法があるのかもしれませんが、ルートドメインへのアクセスを禁止にしなければならないサイトの場合は、検索結果へのファビコン表示は諦めた方がよいかもしれません。
サブドメインとサブディレクトリ
あくまで現状を調査した上でしかないので今後変わるのかもしれませんが、以下の状態になる模様です。
- サブドメイン形式なら、ファビコンはそれぞれ独立して設定できる
- サブディレクトリ形式なら、ファビコンはそれぞれ独立して設定できない(ルートにあるTOPページで指定したファビコンに固定される)
上記から以下のように考えられます。
- ファビコンはページ単位ではなくルートドメイン単位で設定され、サブディレクトリ型で構成されたサイト群は全て同じファビコンになる
例えばアメブロで個々のブログが独自のファビコンを設定できているのであれば違う推測が成り立つかもしれませんが、しばらく調べてもファビコンが違う状態を見つけられませんでした。
ファビコンのパス内の文字が影響する可能性
当記事でのコメント欄内でのやりとりで浮かんできたのが以下の問題点です。
- ファビコンのパスでドメイン以外の部分に.(ドット)が含まれると、ファビコン画像が取得されない
通常ディレクトリにドットは使わないため特殊な事例だとは思いますが、この件をきっかけにAPIエンドポイントによるチェックが有効ではないかと思えました。
APIエンドポイントで表示を確認できても検索結果に表示されるわけではありませんが、APIエンドポイントで表示されない場合はファビコン画像がGoogleに認識される状態ではないと考えられるためです。
結び
利用者としてはファビコンの表示は歓迎するものの、作る側としては問題の原因特定や解決が困難でサイト構成には縛りが増えたという印象です。
なお、スマホはそれほど違和感なかったですが、PCでの検索結果では少し違和感が残ります。時間経過でなれるとは思いますが。
Googleに言いたいこと
- サーチコンソール内に、現状と、表示されない場合の詳細表示
- ヘルプに、問題があり反映されないと確定できる具体的日数の明示
- ブラウザ表示用のファビコンを利用するなら、ブラウザでは表示されているのに検索結果には表示(更新反映)されないという状態にしない
ともかく最低限上記はやってもらいたいです。ファビコン反映クイズなどやりたくないので。
調査依頼
この記事に書いている方法を試してだめな場合は役に立てない可能性が高いですが、一応有料調査も可能ですので、ご希望の方はCONTACTのページから依頼ください。
43人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。
モバイル検索結果にファビコンが表示されず、どうしたものかと色々試している者です。
ブラウザのタブには表示されるのに『なんでやねん❢』とやっていました。
ディレクトリ別にホームページとWordPressを設置しているので、『WordPressのサイトアイコンと競合しているのでは?』と試したり、48、96、144を増やしてみたり。
けど表示されませんね。
shortcut-iconとapple-touch-iconの両方をlinkさせてますが、表示されません。
情報が少なくてどうしようかなとやっていました。
ここまで調べて頂いてありがとうございます。
今のところ原因不明ですが、知ることができただけでも貴重でした。
コメントいただきありがとうございます!
この件は不具合があった時にはいろいろ大変ですよね。
Googleには真っ当で現実に即したヘルプ内容への拡充と、エラーチェックツールの設置を求めたいところです…。
私も最初から表示されないサイトがありましたが、この場合はいずれもGoogleが画像(icoファイル)を取得できないからでした。
apple-touch-iconもという点も考えますと、可能性とては画像ファイル単体ではなく、icoとapple-touch-iconが設置されているディレクトリに対するなんらかの処理がほどこされているのでは、と考えられます。
おそらくすでに何度も確認されていると思いますが、もしもまだでしたらrobots.txtの他に.htaccess、ディレクトリやクローラーに影響を与えるプラグインをお使いの場合はその設定の確認をお勧めします。
加えて根拠は薄いのですが、反映待ち時間の3日おき程度にサーチコンソールからリクエスト送信をされると反応があるかもしれません。
Favicon表示に関しては不明な点ばかりなので、以降も追記を続けることになると思います。今後何かの情報がお役に立つことがあれば良いのですが…。
初めまして。
私もやっぱりファビコン大事さんと同じ状態で、検索結果にだけファビコンが表示されません。
レンタルサーバーを作って最初にwordpressをインストールする際に間違ってサブディレクトリを作ってしまいそちらにインストールしてしまったようです(サブディレクトリなしのサイトは存在しません)。
サブディレクトリを作らなかったサイトは同じ作り方でも表示されているので、サブディレクトリに作ると検索結果に上手く表示されないのかななどと思ってたりしてます。
FTPを使ってドメイン直下に何かコピーすることで表示できるようにならないですかね。
サブディレクトリにあるheader.phpをコピーしてみましたがだめでした。
もし何か分かったら教えてください。
コメントありがとうございます!
すでに確認された事柄が含まれるとは思いますが、思うところを記載ます。
1.robotx.txtの確認
最初からファビコンが表示されない場合、その理由は「Googleがファビコン画像を取得できないから」というパターンしか確認できていません(他にないとは言い切れませんが)。
そのため旧サーチコンソールの「robots.txt テスター」で問題がないことを確認します。
2.,htaccessやその他プラグインなどの設定確認
robots.txt以外でクローラーに影響を与えそうなものがあれば、その設定を確認します。
3.APIでの確認
https://www.google.com/s2/favicons?sz=32&domain=https://example.com
念のため上記URLでAPIを利用して表示されるかどうかを確認します。
ここが表示されていても検索結果に表示されるわけではないのですが、ここが表示されないなら画像に問題がある可能性が疑えるかもしれません。
4.別ジェネレーターで画像を再作成し、名称も変更してリクエスト送信
問題を切り分けて確認することができなくなりますが、表示さえできればというのであれば画像の再作成などをいっぺんに行うのも手です。
※サブディレクトリ
調査した範囲では、サブディレクトリにWPをインストールしたことが原因で発生する問題はないはずです。
header.phpの設置場所も問題ではなく、<link rel="icon" href="">のhrefで指定したURLが正しいかどうかが問題になります。
ただし、同階層にサブディレクトリが複数存在し、それぞれに違うファビコンを指定した場合はどうなるのかわかりません。
この場合に安全なのは「すべてのサイトで同じファビコン画像指定する」という方法になると思います。
以上です。
うまく表示されるとよいのですが…。
お早いお返事ありがとうございます。
APIでの確認というやり方を知らなかったので教えていただき助かります。
サブディレクトリだから検索結果に表示されないということはないのですね。
いくつか作ったサイトの中の最初に作った二つのサイトで表示されず、それがサブディレクトリなんですよね。
サブディレクトリが悪いわけではなく、もしかしてルートディレクトリに何もないのが問題なのでしょうか?
問題となっているのがhttps://reha.blue/reha.blue/というアドレスなのですが、https://reha.blue/というサイトは存在しません。
もう一つ表示されないのも同じような形です。
1.robotx.txt:今やってみたところ大丈夫でした。
2.,htaccessやその他プラグイン:表示できているサイトと比較して同じ設定にしてみました。
3.APIでの確認:表示されませんでした。地球儀のマークでした。
APIで表示できないとなると何を直せばよいのでしょうか?
ファビコンのURLはこれなのですがこれに問題があるのでしょうか?
https://reha.blue/reha.blue/wp-content/uploads/2019/07/favicon.ico.png
情報をいただきありがとうございます。
現状気になったのはこれですね。
https://reha.blue/reha.blue/wp-content/uploads/2019/07/favicon.ico.png
png形式もサポートされているはずですが(https://en.wikipedia.org/wiki/Favicon#File_format_support)、私自身はpngを使った状態での調査はしていないので情報を持っていません。
HTML的には以下のようなtype属性が抜けているなど不備があるように思いますが、ここが影響しているのかどうか…。
<link rel="icon" type="image/png" href="https://example.com/image.png">
APIで取得できていない点から見ても、安全策としてico形式で作成して用いることをお勧めします。
icoにして設定後、APIで表示を確認し(数時間待つ必要があるかもしれません)、問題がなければ7-10日待つ感じですね。
ご回答ありがとうございます。
他のサイトは全部png形式でサイズも適当にやっても表示されていたのですがなんででしょう・・・。
とりあえずicoにしてみました。
simplicty(テーマ)の設定項目のところはicoでは設定できなかったので、wordpress自体の設定からしてみました。
パソコンの上のタブにはでるのですがやはりAPIで表示されません・・・。
困りました・・・。
APIの反映は必ずしも即時ではないので、少し時間を置いてから確認された方が良いかなと思います。
その上でダメなら以下の2点を調査する事になると思います。
1.すでにファビコンが表示されているサイトに、今回作ったicoファイルを設定する(ファイルが正常か確認)
2.すでにファビコンが表示されているサイトのファビコンを、問題のサイトに適用する(サイトの設定や状態が正常か確認)
少しずれますが、サブディレクトリのディレクトリ名に「.(ドット)」を使っているのを初めて見まして、ここが問題になっている可能性もあるのかもしれないなと。
この観点から調査したことはないので根拠はまったくありませんが、他の表示されていないサイトのディレクトリ名も同じ状態であればこの点を疑えるかもしれません。
場合によっては、ファビコンをルートに置いてそちら向けたパスに変えると良いかもしれません。
現状では私が調査して理解している部分からは原因がわからないため、ここからはサイトの状態を細かく見ていくしかないですね…。
※追記
https://wp-simplicity.com/favicno-etc-change/
上記見ますとSimplicityでもicoファイルで設定できている模様ですね。できない場合はテーマ作成者の方に設定の仕方を質問するのが良いかと思います。
ドットを使うことってないのですか。
表示されないもう一つの方もドットが入ってます。
それが原因の可能性もあるのですね。
simplicityでもicoファイル行けるのですか。
とりあえず表示されている方のサイトのwordpressにicoの画像入れてみました。
PCの上のアイコンはすぐ変わりましたが、APIは変わりませんでした。
やっぱりすぐには変わらないのですね。
スマホのシークレットモードもすぐ変わると思っていたのですがそっちも変わらなかったです。
表示されていない方ももしかしたら表示される前なだけかも知れないので、ico形式の画像で様子をみてみます。
icoファイルをルートディレクトリに直接設置するだけでも読み込まれると書いてあったのでやってみたのですが、こちらはPCで表示されるファビコンもでなかったので全く読み込まれないようでした。
ありがとうございました。
またよろしくお願いします。
もう一つのサイトもドットが入っていましたか。可能性が出てきましたね…。
ディレクトリ名にドットを使うのは、先頭につけて隠しファイルにする時ぐらいかもしれません。
仮説ですが、ディレクトリ名にドットが含まれていることでGoogle側で正規のURLとして認識されないのかもしれません。
この場合やはり以下の方法が良いかもしれません。
・https://reha.blue/favicon.icoのようにルートにファビコンを置き、パスをつなぐ
上記状態であれば、ディレクトリのドットの影響を受けないファビコンへのパスを指定することができます。
これでAPIの方が反応すれば、少なくともGoogleに認識される状態にできたと判断できると思います。
仮説が正しい場合はかなり特殊な事例になりそうですが、とりあえずルートに変更した場合の動き次第ですね。
『ルートにファビコンを置きパスをつなぐ 』とは場合はどのようにすればいいでしょうか?
ルートにicoファイルをそのまま置くのはやってみたのですが今のところ変化はないです。
https://reha.blue/favicon.icoを入れるというのはルートにicoファイルをそのまま置くということですか?
icoファイルをルートの直接置いて、さらにicoファイルを指定するようなheader.phpも同じところにコピーする感じでしょうか?
をヘッダーに入れるというようなことが書いてあるサイトが多いのですが、ルートにはwordpressをインストールしていないためヘッダーも何もないので、ルートに入れるとなると何かしらファイルを作らなければいけません。
ルートに何をどのように入れたらいいのでしょうか?
何度もすいません。
よろしくお願いします。
このあたりはテーマ製作者の方に伺っていただきたい事柄になります。
または、私の方に仕事としてご依頼いただくという方法もありますが。
ただ、先ほど記載したURL(https://wp-simplicity.com/favicno-etc-change/)のページに情報が載っていますので、そのページの以下の文章とその下のスクリーンショットの箇所を参考に設定できると思います。
"最後に、Wordpress管理画面の「外観→カスタマイズ」の「その他の設定」項目にある「テーマ側でファビコンを設定」にチェックを入れれば設定したファビコンが反映されます。"
すでにサーバー内のルートにicoファイルを設置されているとのことなので、あとは入力欄に「https://reha.blue/favicon.ico」と記載すれば(icoファイル名は実際のファイル名に合わせてください)、記載したパスで出力されるのではないでしょうか。
いろいろありがとうございました。
テーマがsimplicity2でsimplicityとは仕様が異なるようでファイル名を手打ちで入力できないようでメディアにアップロードをした画像から選択するしかないようです。
なんとなくやらなければいけないことは分かったので、simplicity2でURLを手入力する方法を探してみます。
そのような状態のテーマでしたか。
テーマごとに設定方法に違いがあるため具体的な方法はお伝えできませんが、ともかくパスさえ設定できればドットが原因かどうか概ね確認できますので、まずはそこからですね。
これで表示されない場合は、ここまでで書きましたとおりサイトの状態をさらに調べるという困難な作業が必要になりますので、可能ならパス変更で解決できることを願っています!