web-dev-qa-db-ja.com

Base64でエンコードされた画像とGooglebotのメタデータの可用性

Base64データURIを持つimg-srcとしてページに画像を埋め込む場合、Googleのimagebotで画像のメタデータ(EXIF、IPTC、XMP)を引き続き使用できますか?

9
Evgeniy

Googleは、Google画像検索のデータURI画像のインデックスを作成しません。 Googleの John Mueller はそう言います here と以下のコメントで。データURI画像はGoogle画像検索でインデックス付けされないため、それらのEXIFデータは無関係です。

これらの画像がインデックス付けされていないことを確認できます。 Google画像で「data uri」を検索し、結果をスポットチェックしました。私が見た画像はすべて画像ファイルであり、base64でエンコードされた画像URIではありません。 GoogleがデータURIイメージのインデックスを作成できた場合、それらの一部がその用語の検索結果に表示されると考えるでしょう。

GoogleがデータURIイメージのインデックスを作成することに決めた場合、それらはそれらからEXIFデータを取得できるはずです。データuriは、data:image/png;base64,プレフィックスを使用して、base64でエンコードされたファイル全体(スペースまたは改行なし)です。ファイル内のメタデータは、base64でエンコードされたデータURIバージョンに引き続き存在します。

ウェブサイトの1つでデータURI画像を使用しています。ユーザーがサイト上の1つのページを表示するだけで、必要なすべての情報を取得できるためです。すべてのCSS、JS、および画像データをページにインラインで含めると、パフォーマンスが大幅に向上します。画像はすべて小さいため、この手法は特にうまく機能します。

私のサイトは、データURIイメージをサポートしないInternet Explorer 7以前からかなりの量のトラフィックを受け取ります。したがって、条件付きで提供する必要があります。サーバーにも画像があり、User-Agentヘッダーに基づいて通常の画像URLまたはデータURIを選択します。ボット(Googlebotを含む)をIE 7と同じように扱います。つまり、画像をHTTP URLとして提供します。これを行うのは、データuri画像を含めるとページサイズが劇的に増加するためです。ほとんどのボットは画像をダウンロードする必要がないため、より効率的です。また、Google Webmaster Toolsが、GooglebotがデータURI画像を有効にしてサイトをクロールする速度がはるかに遅いと報告したことにも気付きました。これは技術的にはクローキングと見なすことができますが、データURIイメージにインデックスを付ける方法です。

6

Googleは、独自のSERPでbase64でエンコードされたデータURIとして画像を使用しますが、他のWebサイトではそのような画像のインデックスを作成しません。 @ -danに感謝します。彼はGoogleグループのディスカッションを示してくれました John Muellerがこの問題を説明しています 。また、そのような画像内のEXIFデータの存在についての質問は関係ないということです。

この説明は、アイコン、ファビコン、ボタンなどの小さな画像や、サイトのコンテンツに付加価値をもたらさない画像など、このパフォーマンス最適化手法の適用が適している画像を明確にします。

他のサイトで、base64エンコードされたデータURIとして追加のコンテンツ値を含む画像を明確に埋め込む必要がある場合、画像のメタデータを提供する唯一のベストプラクティスは、EXIFデータをネゴシエートできるSchema.orgのマークアップを使用することです この種のマークアップを使用

別の 有望なマークアップの種類 は、EXIFのように「property:value」のように見えるデータをネゴシエートするために、現時点で提案ステータスを持っています。しかし Googleのブログのこの記事 は、構造化されたスニペットを示しています。これは、上記でリンクしたマークアップ提案によって生成できます。

2
Evgeniy