web-dev-qa-db-fra.com

Images codées en Base64 et disponibilité de leurs métadonnées pour Googlebot

Si j'incorpore une image dans une page sous la forme img-src avec un URI de données au format base64, les métadonnées de l'image (EXIF, IPTC, XMP) sont-elles encore disponibles pour le robot Imagebot de Google?

9
Evgeniy

Google n'indexe pas les images URI des données pour la recherche d'images Google. Google John Mueller le dit ici et dans les commentaires ci-dessous. Étant donné que les images URI de données ne sont pas indexées dans la recherche d'images Google, les données EXIF ​​qu'elles contiennent ne sont pas pertinentes.

Vous pouvez vérifier que ces images ne sont pas indexées. J'ai cherché dans Google images "data uri" et vérifié les résultats. Toutes les images que j’ai visionnées étaient des fichiers d’image, et non des images URI codées en base64. On pourrait penser que si Google était capable d’indexer des images de données URI, certaines d’entre elles figureraient dans les résultats de la recherche pour ce terme.

Si Google décide d'indexer des images URI de données, il devrait pouvoir en obtenir les données EXIF. Données uri est le fichier entier codé en base64 (sans espaces ni nouvelles lignes) avec le préfixe data:image/png;base64,. Toutes les métadonnées du fichier seraient toujours présentes dans la version de l'URI des données codées en base64.

J'utilise des images URI de données sur l'un de mes sites Web. Je le fais parce que les utilisateurs ne consultent généralement qu'une page du site pour obtenir toutes les informations dont ils ont besoin. L'inclusion de toutes les données CSS, JS et d'image en ligne dans la page améliore considérablement les performances. Les images sont toutes petites, la technique fonctionne donc particulièrement bien.

Internet Explorer 7 et les versions antérieures de mon site génèrent un trafic important qui ne prend pas en charge les images URI de données. Par conséquent, je dois les servir conditionnellement. J'ai également les images sur le serveur et je choisis d'URL d'image standard ou d'URI de données en fonction de l'en-tête User-Agent. Je traite les bots (y compris Googlebot) de la même manière que IE 7, c'est-à-dire que je sers les images sous forme d'URL HTTP. Je le fais parce que l'inclusion d'images URI de données augmente considérablement la taille de la page. La plupart des bots n'ont pas besoin de télécharger les images, donc c'est plus efficace pour eux. J'ai également remarqué que Google Webmaster Tools signalait que Googlebot explorait mon site beaucoup plus lentement avec les images URI de données activées. Techniquement, cela pourrait être considéré comme une dissimulation, mais ce serait un moyen d'obtenir vos images URI de données indexées.

6
Stephen Ostermiller

Bien que Google utilise les images comme URI de données codées en Base64 sur son propre serveur SERP, il n'indexe pas ces images sur d'autres sites Web. Merci à @dan, qui m'a dirigé vers la discussion de Google Groupes, où John Mueller explique ce problème . Cela signifie également que la question de l’existence de données EXIF ​​dans de telles images n’est pas pertinente.

Cette explication montre clairement à quelles images cette technique d'optimisation des performances est préférable: des petites images, telles que des icônes, des icônes et des boutons, et ces images, qui n'apportent aucune valeur supplémentaire au contenu du site.

Sur l’autre site, si l’on doit catégoriquement incorporer une image AVEC une valeur de contenu supplémentaire en tant qu’URI de données codé en base64, la seule bonne pratique pour fournir les métadonnées de l’image consiste à utiliser le balisage de Schema.org, où il est possible de négocier des données EXIF, par exemple. avec ce type de balisage.

Un autre type de balisage prometteur pour négocier des données ressemblant à "propriété: valeur", comme EXIF, a pour le moment un statut de proposition. Mais cet article du blog de Google affiche des extraits structurés, qui peuvent être générés par la proposition de balisage i liée ci-dessus.

2
Evgeniy