Analyse technique · Août 2026

Google Map disséqué : 72 signaux de ranking, 395 méthodes et l'architecture qui relie le Web,
les lieux et l'IA

Du leak de 2024 à Geostore, nous avons reconstruit la manière dont Google consolide un lieu, mesure son importance, comprend une requête, sélectionne les résultats, les affiche sur la carte et commence désormais à les personnaliser avec l'IA.

Powered by RESONEO

En 2024, une fuite de documentation interne avait ouvert une fenêtre sur les systèmes de Google. Pendant deux ans, c'était la meilleure source disponible pour comprendre ce qui se cachait derrière Google Maps.

Depuis, nous avons mis la main sur un binaire récent embarquant un scope Geostore non public, puis recoupé ce matériau avec les protocoles de Google Maps, ses échanges réseau, ses index Web, ses services annexes, ses tables de styles et plusieurs composants exécutés localement.

Le résultat change sensiblement l'image que l'on pouvait avoir de Maps. Nous disposons maintenant de noms de messages, de numéros de champs, d'énumérations complètes, de centaines de méthodes d'API, de signaux de ranking, de structures d'indexation et de mesures réalisées directement sur le moteur.

Et le calendrier est intéressant. Le 6 août 2026, Google annonçait une vague de fonctions IA dans Maps. Nous avions le code de la veille et celui du lendemain.

Google Maps n'est plus seulement une carte et un moteur local. Il devient aussi un moteur de réponses. Pour comprendre ce que cette évolution signifie, il faut d'abord comprendre la machine qui se trouve dessous.

Sommaire

Le socle
Le pont vers le Web
Oyster Rank
La recherche
Les services et la fiche
L'IA et le contexte personnel
La carte
Ce que cela change

Dix points, si vous ne lisez que ça

1. Google Maps ne repose pas sur une base de fiches. Au centre se trouve Geostore, un référentiel bien plus général qui modélise des entités géographiques canoniques appelées Feature.

2. Une Feature mélange des informations de sources différentes. La provenance peut être conservée au niveau du champ. Le nom, le téléphone, une catégorie ou une géométrie peuvent avoir des origines différentes.

3. Lorsqu'elles se contredisent, les sources sont arbitrées. Geostore expose un système de conflation, de priorité, de confiance, de droits, et même de critères qu'une future modification devra satisfaire pour remplacer une valeur existante.

4. Geostore possède son propre système de ranking, et il porte un nom. Oyster Rank. Nous avons retrouvé l'énumération complète visible de 72 signaux, dont 25 explicitement dépréciés. Les signaux présents incluent les avis, le volume de requêtes Web, les impressions de fiche, les ouvertures de fiche, les demandes d'itinéraire, les clics vers le site, l'appartenance à une chaîne, la popularité, la proéminence et l'usage de la voirie.

5. Nous avons les noms des signaux, pas leurs coefficients. Le schéma indique qu'ils sont combinés avec des poids, mais les quinze champs les plus intéressants de RankDetailsProto sont retirés du scope que nous avons pu récupérer.

6. Ce rang n'est pas le classement final d'une requête Maps. Search/Places ajoute ensuite compréhension sémantique, contexte géographique, génération de candidats, pertinence et serving.

7. Le Web et Maps sont bien plus liés qu'il n'y paraît. Les documents Web sont attachés aux entités via leur MID, avec topicalité, confiance et métadonnées géographiques stockées dans l'index. Une couche, Webref, décide document par document de quelle entité parle une page.

8. Le moteur n'est pas un tri par distance. Dans les zones denses, nous observons un objectif de 20 résultats et un rayon qui s'adapte à la requête. À Paris, 0,98 km suffisent pour pharmacie, contre 12,44 km pour Carrefour. La même requête pharmacie vaut 32,96 km en Lozère.

9. Une partie de l'intelligence géographique est calculée sur le téléphone. Une couche embarquée infère les lieux fréquents, le domicile, le travail, les trajets et une ChainAffinity, c'est-à-dire une affinité envers une enseigne. Attention au niveau de preuve : l'étage segmenteur est nommé, l'étage persona ne l'est pas.

10. L'annonce IA du 6 août 2026 est surtout un allumage serveur. Sur les six volets annoncés, cinq n'ont aucune contrepartie de code nouvelle. Le seul code réellement neuf est le service de consentement, parce que c'est la seule brique qu'on ne peut pas allumer à distance.

Comment nous avons travaillé

Trois niveaux de preuve, tenus du début à la fin. C'est la grille de lecture de toute l'étude.

Déclaré dans les schémas

Un nom de champ, un numéro, une énumération ou un commentaire établit que le système prévoit cette information.

Si SIGNAL_GOOGLE_REVIEWS existe dans l'énumération de ranking, nous pouvons affirmer que les avis appartiennent au vocabulaire de ranking de Geostore. Nous ne pouvons pas en déduire leur poids actuel dans une recherche.

Observé en conditions réelles

Nous avons interrogé les services, capturé des réponses, comparé des classements, fait varier la localisation et le zoom, décodé des tuiles et mesuré les résultats.

C'est à ce niveau que nous pouvons affirmer que le moteur renvoie 20 résultats dans certaines conditions, ou que la priorité transmise dans la tuile reprend exactement l'ordre des résultats.

Frontière inconnue

Lorsqu'une donnée manque, nous le signalons. C'est particulièrement important pour les poids du ranking.

Le but de cette étude n'est pas de transformer des noms internes en mythologie SEO. C'est de séparer ce que les données démontrent de ce qu'elles ne permettent pas de savoir.

Les données, en accès libre

10 936 déclarations Geostore, consultables et téléchargeables

Messages, champs, énumérations complètes, tags retirés du scope client et prose de mars 2024 en regard. Un moteur de recherche pour creuser les types, les attributs et les signaux, et un dump complet pour ceux qui préfèrent leurs propres outils.

Ouvrir l'archive Tout télécharger
01

Ce qui a changé depuis le leak de 2024

La documentation récupérée en 2024 avait une qualité rare : elle expliquait le rôle de milliers de modèles et d'attributs, en prose.

Mais elle avait une faiblesse.

Les énumérations y étaient largement abstraites. Nous pouvions comprendre les concepts, beaucoup moins facilement reconstruire leurs valeurs réelles.

Le binaire récent change cela.

Carte d'identité du corpus
 1 623  descripteurs protobuf
 4 013  messages
 1 359  énumérations
17 757  valeurs d'énumération
   433  types Geostore (300 messages + 133 enums)

Parmi les grandes énumérations retrouvées :

RankSignalProto.Signal              72
RankDetailsProto.SignalMixerType    35
FeatureProto.TypeCategory          371
EstablishmentProto.TypeCategory    374
DataSourceProvider.Provider        793
SuggestSubtype                     852  dans la version mesurée
localsearch.lite.IntentType        446

La comparaison avec 2024 est plus instructive encore.

Sur 3 585 valeurs d'énumération comparées, 3 471 n'étaient pas retrouvables dans l'archive 2024, dont 70 des 72 signaux de ranking. Aucun modèle Geostore documenté en 2024 n'a en revanche disparu du corpus récent.

Ce n'est donc pas une nouvelle architecture remplaçant celle de 2024.

C'est plutôt comme si nous avions obtenu les plans électriques d'un bâtiment dont nous connaissions déjà les pièces.

02

La première chose à oublier : une fiche Google Maps n'est pas une ligne dans une base

Un modèle mental utile de Google Maps commence par une distinction.

Geostore n'est pas Google Maps.

Geostore est la couche qui maintient l'identité et l'état canonique d'une entité géographique. Search et Places viennent ensuite.

Une Feature Geostore peut être :

un établissement
une ville
un pays
une route
une intersection
un bâtiment
une zone
une station
un élément de transport
un objet 3D
… et beaucoup d'autres types d'entités spatiales

Le POI que nous voyons dans Google Maps n'est donc qu'une projection de cet objet beaucoup plus riche.

Anatomie d'une Feature
extrait du FeatureProto récupéré
message geostore.FeatureProto {
  id                                = 1;
  bound                             = 2;
  rank                              = 3;
  name[]                            = 4;
  address[]                         = 5;
  point[]                           = 6;
  polyline[]                        = 7;
  polygon[]                         = 8;
  child[]                           = 9;
  center                            = 10;
  source_info[]                     = 12;
  related_feature[]                 = 13;
  parent[]                          = 14;
  type                              = 15;
  synthetic_geometry                = 16;
  access_point[]                    = 17;
  geometry_precision_meters         = 20;
  rank_details                      = 24;
  covering                          = 26;
  data_source                       = 33;
  establishment                     = 51;
  status                            = 67;
  website[]                         = 69;
  raw_gconcept_instance_container   = 70;
  internal                          = 71;
  social_reference                  = 74;
  knowledge_graph_reference         = 75;
  kg_property[]                     = 79;
  business_chain                    = 91;
  operations                        = 103;
  experimental_data[]               = 118;
  feature_originators[]             = 123;
  existence_confirmations[]         = 126;
  metadata                          = 300;
}
104 champs visibles dans ce scope, 25 emplacements retirés. Un champ retiré laisse son numéro de tag derrière lui : c'est ainsi que l'on compte les absents.

Le champ 70 mérite son nom complet : raw_gconcept_instance_container. Ce n'est pas une liste de catégories, c'est un conteneur d'instances de concepts. La nuance porte tout ce qui suit sur les catégories.

03

Une entité possède une identité distincte de sa position

L'identifiant fondamental de Geostore est composé de deux valeurs de 64 bits :

FeatureId
├── cell_id   64 bits
└── fprint    64 bits

Le cell_id correspond approximativement à la position de la Feature lors de sa création.

Ce détail est important.

Il ne doit pas être interprété comme la position actuelle du commerce. La géométrie réelle se trouve ailleurs dans la Feature.

Et il ne s'agit pas d'une alternative à deux branches. Le schéma en décrit trois états :

1.  cellule exacte        position de création
2.  cellule randomisée    entités sans lieu propre
3.  champ absent          "As of Mar 2017, the cell ID
                           field of the feature ID
                           might not be set"
Le troisième état est celui qui casse les outils : un identifiant peut ne porter aucune information de position.

Cette séparation permet à une entité de déménager, d'être corrigée ou de changer de géométrie sans perdre son identité.

Elle permet aussi de comprendre les différents identifiants que l'on rencontre autour de Maps.

IdentifiantCe qu'il représente
Feature ID / ftidl'identité Geostore
Place IDsérialisation de cette identité
CIDle fprint de la Feature
MIDl'identité d'entité dans le Knowledge Graph
gcidune classification sémantique
identifiant de listing marchandla fiche administrée par le commerçant

Ce couple de 64 bits est exactement ce que l'on manipule sans le savoir dans les outils publics. Un ftid de la forme 0x47e66e2964e34e2d:0x8ddca9ee380ef7e0 affiche le cell_id puis le fprint en hexadécimal ; le CID est ce même fprint en décimal ; et un Place ID commençant par ChIJ en est la forme sérialisée puis encodée. Trois écritures, une seule identité Geostore.

La distinction est fondamentale pour le SEO local. Le commerce, la fiche administrée par le commerçant, son type sémantique et l'entité Knowledge Graph ne sont pas le même objet.

Oyster, le nom interne

Geostore est le nom que lui donne Google : c'est celui qui préfixe chaque type du schéma, geostore.FeatureProto. Ce référentiel porte, dans la documentation, un second nom : Oyster.

On le retrouve sur l'identifiant, sur le type d'entité côté index, et surtout sur le système de ranking lui-même.

// sur l'identifiant
the oyster feature id

// sur le type d'entité, côté index Web
RepositoryWebrefOysterType.featureType
  "a value of the enum geostore.FeatureProto.TypeCategory"

// sur le système de ranking
RankSignalProto.rank
  "A value in the range [0, 1] estimating Oyster Rank
   according to this signal."

Le système dont nous détaillons plus loin les 72 signaux, Oyster Rank, a donc un nom, et ce n'est pas PlaceRank.

04

Google construit une vérité à partir de plusieurs sources

Une intuition fréquente consiste à penser qu'une fiche appartient à une source.

source = Google Business Profile

Ce n'est pas le modèle que décrit Geostore.

La provenance peut être attachée au niveau du champ.

Nom ---------------------- Source A
Téléphone ---------------- Source B
Horaires ----------------- Source C
Catégorie ---------------- Source D
Géométrie ---------------- Source E

Geostore peut conserver, pour un chemin de champ :

field_path
provider
dataset

Le catalogue découvert contient 793 fournisseurs. Il inclut des sources cartographiques, des pipelines automatiques Google et l'édition humaine interne.

Une correction humaine apparaît donc dans la même philosophie générale : une observation issue d'une source possédant une priorité et un niveau de confiance, plutôt qu'une vérité magique située en dehors du système.

DataSourceProvider.Provider 793
05

Quand deux sources se contredisent : la conflation

C'est l'une des découvertes les plus utiles pour comprendre Maps.

Le schéma expose trois méthodes génériques :

CONFLATION_PICK_FIRST_VALUE
CONFLATION_UNION_CSV
CONFLATION_SUM

Et la valeur par défaut est :

CONFLATION_PICK_FIRST_VALUE

Autrement dit, dans ce mécanisme générique, lorsque plusieurs valeurs concurrentes existent, le système ne fait pas nécessairement voter les sources.

Il peut simplement prendre la première valeur admissible selon l'ordre de priorité.

Cela fait de la priorité des sources une donnée essentielle.

Ce mécanisme ne prouve pas que tous les attributs de Google Maps sont consolidés de cette manière. Il prouve que Geostore dispose explicitement de cette mécanique de fusion.

Pour un commerçant, la conséquence est importante

Modifier une donnée dans Google Business Profile ne signifie pas nécessairement :

ancienne valeur
    ↓
nouvelle valeur définitive

Le modèle ressemble davantage à :

nouvelle observation
      +
observations déjà connues
      +
provenance
      +
priorité
      +
confiance
      ↓
valeur canonique

C'est une différence de nature, pas de degré.

06

Google modélise aussi la confiance et la résistance à la modification

Le niveau de confiance visible dans le schéma possède six paliers :

UNKNOWN          0
BLOCKED         16
NOT_TRUSTED     32
YP_FEEDS        40
TRUSTED         48
SUPER_TRUSTED   64
YP_FEEDS désigne les flux d'annuaires professionnels, les yellow pages : les données achetées ou reprises aux pages jaunes et à leurs équivalents. Elles valent mieux qu'une source inconnue, moins qu'une source jugée fiable.

Mais le plus intéressant n'est pas cette liste.

Pour une Feature en sortie, la structure de confiance peut aussi définir les critères qu'une nouvelle édition devra satisfaire pour être acceptée.

Un attribut peut donc conceptuellement avoir trois caractéristiques différentes :

D'où vient-il ?
PROVENANCE

À quel point cette source est-elle fiable ?
TRUST

À quel niveau doit se situer une future
modification pour la remplacer ?
EDIT BARRIER

Cette troisième dimension explique pourquoi certaines erreurs cartographiques sont difficiles à corriger, même en s'y prenant correctement.

Nous n'avons pas récupéré la formule. TrustSignalsProto contient quatre emplacements retirés du scope.

07

Les catégories ne sont pas de simples libellés

Google sépare plusieurs niveaux.

1. Le type structurel

La Feature appartient à l'une des 371 catégories structurelles.

FeatureProto.TypeCategory 371

2. L'ancien type d'établissement

Une seconde taxonomie possède 374 valeurs. Mais sa propre documentation indique qu'elle est dépréciée au profit des GConcepts.

EstablishmentProto.TypeCategory : deprecated in favor of gconcepts 374

3. Les GConcepts

C'est la couche ontologique.

Le gconcept_id du schéma est le gcid: que transportent les réponses du moteur. Et ce n'est pas une donnée cachée : c'est la catégorie que vous lisez sous le nom de l'établissement dans Google Maps. Quand la fiche du Louvre affiche « Musée d'art », c'est gcid:art_museum. Quand un restaurant affiche « Restaurant de ramen », c'est gcid:ramen_restaurant.

Les attributs suivent la même convention : AttributeIdProto.id est décrit comme « a stripped format of the gcid », tandis qu'une valeur d'attribut énumérée est elle-même un gcid, du type gcid:attval_yes.

Les catégories, les attributs et leurs valeurs vivent dans le même espace de noms.

Un concept peut porter une prominence :

NON_PRIMARY  =    0
PRIMARY      = 1000
Deux valeurs, pas une échelle. La proéminence d'un GConcept est binaire.

La documentation donne l'exemple :

« une station-service avec supérette et distributeur. Les trois GConcepts sont très pertinents, mais gas_station est le plus proéminent. »

Le trafic confirme la lecture. La liste de gcid servie place la catégorie principale en tête, puis les 8 à 16 secondaires strictement triées par ordre alphabétique, sur 6 entités sur 6.

Le tri alphabétique est la preuve qu'aucun ordre sémantique n'est transporté. La fiche du Louvre porte 16 valeurs : la première est celle qui s'affiche, les quinze suivantes sont rangées de art à vacances.

La fiche du Louvre dans Google Maps : sous le nom, la note, puis la mention « Art museum »
« Art museum » sous le nom, et rien d'autre. C'est le premier gcid de la liste ci-contre, et lui seul remonte à l'écran.
les 16 gcid servis pour cette entité
gcid:art_museum   ← affiché

gcid:art
gcid:attraction
gcid:culture
gcid:education_and_culture
gcid:entertainment_and_recreation
gcid:establishment
gcid:establishment_poi
gcid:feature
gcid:museum
gcid:places_of_interest
gcid:public_api_establishment
gcid:tourism
gcid:tourist_attraction
gcid:travel
gcid:vacances
Quinze valeurs par ordre alphabétique strict. museum n'est pas derrière feature parce qu'il décrirait moins bien le lieu : il est derrière parce que m vient après f.

Il faut en tirer la limite tout de suite : il n'existe aucune gradation entre catégories secondaires. Seul le basculement PRIMARY est un fait porté par le schéma.

Dernier point, souvent contre-intuitif : le gcid est une donnée de la réponse de recherche, pas de la fiche. Il est absent de cinq réponses GetPlace sur sept, qui transportent l'ontologie /geo/type/… à la place.

La même enseigne, deux catégories principales

C'est le fait le plus actionnable de cette section. Le basculement PRIMARY n'est pas homogène à l'intérieur d'une chaîne.

Sur 21 magasins d'une même enseigne dans une même métropole, appariés un à un :

11  gcid:pharmacy
10  gcid:drugstore
Ce ne sont pas des lieux à deux catégories. Ce sont des magasins de la même enseigne dont la catégorie principale diffère.

À rapprocher de BusinessChainProto.canonical_gconcepts, qui déclare « l'état idéal des GConcepts des membres de cette chaîne », avec la règle isRequired : « must be true for a primary gconcept ».

L'état idéal est déclaré. L'état réel diverge à l'intérieur de la même enseigne, dans la même ville.

Exemple ramen · 1 sur 5

Un mot, plusieurs concepts

Nous suivrons le même exemple, la chaîne ramen, d'un bout à l'autre de cette étude. Première étape, la classification.

La requête rend 20 résultats, et chacun porte un seul gcid :

ramen_restaurant               6
asian_restaurant               5
restaurant                     4
japanese_restaurant            4
japanese_authentic_restaurant  1
Résultats de la requête ramen dans Google Maps : sous le premier nom la mention « Ramen », sous le second la mention « Japanese »
Les deux premiers résultats de la même requête portent déjà deux libellés différents : « Ramen » puis « Japanese ». C'est la distribution ci-dessus, telle qu'elle arrive à l'écran.

Vingt établissements que le même mot fait remonter, répartis sur cinq concepts différents.

08

Le pont entre Maps, le Knowledge Graph et le Web

C'est l'un des résultats les plus structurants pour le SEO.

Le pont entre Geostore et l'écosystème d'entités de Google Search n'est pas le Place ID.

C'est le MID du Knowledge Graph.

Une Feature contient :

knowledge_graph_reference
         ↓
        MID

Côté index Web, les documents transportent eux-mêmes des encodedMid[].

L'Oyster ID géographique circule autour de cette entité, mais le pivot conceptuel est le MID. Son statut demande de la précision, et le corpus pose lui-même la nuance : sur CountryLocationInfo, l'oyster_id est un payload « cleared during index creation » ; sur WebrefMustangAttachment, il est bien stocké. Selon le message, le même identifiant est transporté ou conservé. Une phrase unique sur son sort serait fausse dans un cas sur deux.

                       MID
                        │
              ┌─────────┴─────────┐
              │                   │
      KNOWLEDGE GRAPH         INDEX WEB
              │                   │
              │         documents liés à l'entité
              │         topicalité
              │         confiance
              │         scores documentaires
              │
              └──────── GEOSTORE
                            │
                         Feature

En sens inverse, Geostore ne stocke pas les identifiants de chaque page Web. Il récupère des signaux agrégés :

SIGNAL_WEBSCORE
SIGNAL_GOOGLE_WEB_QUERYVOL

C'est une architecture asymétrique.

Le Web sait parler des entités. Geostore sait combien le Web semble parler d'elles, sans devenir lui-même un index de pages.

Combien de MID sur une fiche

Une fiche d'établissement ne porte pas un MID, elle en porte une famille : un par plat de menu, un par sujet d'avis, un par attribut, plus la marque, la classe et les types de repas.

Sur un corpus de captures couvrant cinq requêtes et une fiche complète, nous relevons 221 MID distincts.

Le même type d'identifiant revient à plusieurs endroits de la fiche, dans des rôles différents.

Ce sont ces rôles qui rendent la fiche lisible par une machine : un plat de menu n'est pas une ligne de texte, c'est une entité ; un sujet d'avis non plus.

Exemple ramen · 2 sur 5

Le mot n'est pas écrit, il est identifié

Sur une fiche de restaurant, ramen n'existe pas comme chaîne de caractères. Il existe comme entité, et il apparaît à trois endroits dans trois rôles différents.

les rôles de ramen sur une fiche « ramen » PLAT DE MENU Tonkotsu ramen une entité, pas un libellé ANCRE D'AVIS avis n° 12, car. 48–53 offsets dans le texte TAG DE PHOTO 3 photos taguées par plat et le même sujet d'avis revient d'une fiche à l'autre fiche A fiche B fiche C un sujet d'avis ne dépend pas du restaurant qui le porte

Un avis qui dit « le ramen était trop salé » n'est pas stocké comme une phrase. Il est stocké avec le sujet identifié et les positions de caractères où il en est question.

C'est ce qui permet à un système de compter les mentions, de leur attacher un sentiment, et de citer l'extrait exact. Sans identification, il faudrait relire le texte à chaque question.

09

Webref : comment un document devient une preuve sur une entité

La frontière entre le monde documentaire et le monde géographique n'est pas une métaphore. Elle a un nom, et on peut la compter.

Dans le leak de 2024, sur 14 025 attributs de documentation, 25 commentaires citent un type ou un chemin geostore, dont 8 ponts venus de l'extérieur. Cinq des huit sont dans RepositoryWebref*.

Et ce qui traverse le plus n'est pas l'identifiant, c'est le type d'entité : FeatureProto.TypeCategory franchit la frontière trois fois, par trois modèles indépendants.

Là où les représentations se rejoignent

RepositoryWebrefDomainSpecificRepresentation.entityData déclare pouvoir contenir :

freebase.Topic
repository_wikipedia.WikiJoin
ocean.WorkMetadata*
geostore.Feature
* ocean est le corpus Google des publications : livres numérisés, articles académiques et scientifiques. Une même entité peut donc être décrite par un topic Freebase, une page Wikipédia, une publication et un lieu.

Webref est la couche où les représentations d'une même entité, venues de sources différentes, se rejoignent.

Ce que l'attachement porte, par document
encodedMid[]     "sorted by topicality score"
topicalityE2     virgule fixe /100
confidenceE2     virgule fixe /100
oysterId
featureType
latE7 / lngE7    "same format as geostore.PointProto"
Les MID d'un document sont triés par topicalité. L'ordre porte de l'information.
Et le classement inverse est déclaré

C'est le point que le SEO doit retenir. Webref ne se contente pas de dire de quelle entité parle un document. Il range aussi les documents entre eux, pour une entité donnée.

RepositoryWebrefDetailedEntityScores.docScore
  "relative ranking signal between different
   documents for an entity"

normalizedTopicality   part du document qui parle de l'entité,
                       somme 1 sur toutes les entités
connectedness
relevanceScore

isAuthor
isPublisher
isReferencePage
La table de calibration des confiances

RepositoryWebrefMention.confidenceScore publie sa propre calibration. Elle vaut d'être lue attentivement, parce qu'elle éclaire toutes les confiances du corpus.

0,3  →  75 %
0,5  →  87 %
0,7  →  89 %
0,9  →  94 %
1,0  →  98 %
Ce ne sont pas des probabilités. Ce sont des rangs monotones fortement compressés vers le haut : entre 0,5 et 0,9, la précision ne gagne que sept points.
Et c'est là que le SEO Web rejoint le local

Le Knowledge Graph n'est pas alimenté par les fiches.

Webref est la couche qui décide, document par document, de quelle entité parle une page, à quel point, et avec quelle confiance, puis range ces documents entre eux pour cette entité.

Une page magasin ne se bat pas seulement pour un mot clé. Elle se bat pour être un document de référence de l'entité.

10

Oyster Rank : les 72 signaux de ranking de Geostore

Le système a un nom, une énumération complète, et une frontière nette là où s'arrête ce que nous savons.

Une Feature peut transporter des détails de ranking.

Le pipeline documenté ressemble à ceci :

OBSERVATION BRUTE
      │
      ▼
SignalExtractor
      │
      ├── raw_scalar
      └── raw_string
      │
      ▼
NORMALISATION [0,1]
      │
      ▼
RankSignalProto.rank
      │
      ▼
SignalMixer
      │
      ▼
FeatureProto.rank

Chaque signal peut donc porter :

RankSignalProto
type
rank          "A value in the range [0, 1] estimating
              Oyster Rank according to this signal."
raw_scalar
raw_string
metadata
La donnée brute et sa version normalisée sont séparées. Le nombre d'avis est une mesure ; sa contribution est une valeur entre 0 et 1.

La documentation indique ensuite que le ranking est produit par une somme pondérée de plusieurs signaux.

Nous avons retrouvé 72 valeurs dans RankSignalProto.Signal. L'énumération n'a aucun reserved_range : elle est complète pour le scope que nous possédons.

RankSignalProto.Signal 72

Vingt-cinq de ces 72 valeurs sont explicitement dépréciées. Une valeur dépréciée n'est pas un facteur de ranking actuel : c'est la trace d'un facteur qui a existé.

11

Les signaux qui intéressent directement les SEO et les commerces

Le bloc le plus parlant se situe dans la famille 3100 à 3504.

SIGNAL_WIKIPEDIA_ARTICLES
SIGNAL_KML_PLACEMARKS
SIGNAL_KML_SOURCES
SIGNAL_GOOGLE_MAPSHOP_USERS
SIGNAL_GOOGLE_RBL_CLICKS
SIGNAL_GOOGLE_RBL_CLICK_FRACTION
SIGNAL_GOOGLE_AUTHORITYPAGE_PAGERANK_CONFIDENCE
SIGNAL_GOOGLE_REVIEWS
SIGNAL_GOOGLE_WEB_QUERYVOL
SIGNAL_GOOGLE_LISTING_IMPRESSIONS
SIGNAL_GOOGLE_INFOWINDOW_VIEWS
SIGNAL_GOOGLE_DIRECTION_REQUESTS
SIGNAL_GOOGLE_HOMEPAGE_CLICKS
SIGNAL_GOOGLE_CHAIN_STORES
SIGNAL_GOOGLE_LEANBACK_TOURS
SIGNAL_GOOGLE_LOCALSEARCH_PLACERANK
SIGNAL_WIKIPEDIA_WIKI_SCORE
SIGNAL_PLACE_INSIGHTS_LANDMARK
SIGNAL_PLACE_INSIGHTS_POPULARITY
SIGNAL_PLACE_INSIGHTS_PROMINENCE
SIGNAL_PLACE_INSIGHTS_APPROACHABILITY
SIGNAL_PLACE_INSIGHTS_TOTAL_ROAD_SEGMENT_USAGE

Et quelques survivants historiques sont explicitement dépréciés :

SIGNAL_GOOGLE_MAPS_NAVBOOST_CLICKS             [DEPRECATED]
SIGNAL_GOOGLE_MAPS_NAVBOOST_CLICKTHROUGH_RATE  [DEPRECATED]
SIGNAL_GOOGLE_AUTHORITYPAGE_PAGERANK           [DEPRECATED]
SIGNAL_GOOGLE_WEBPAGE_REFERENCE_DOMAINS        [DEPRECATED]
Ce que cette liste dit

Elle fait apparaître plusieurs familles d'importance :

PRÉSENCE ET AUTORITÉ SUR LE WEB
WebScore, Wikipedia, références externes,
confiance de page d'autorité
                    +
DEMANDE
volume de requêtes Web sur l'entité
                    +
ENGAGEMENT AVEC LA FICHE
impressions, ouvertures de fiche, avis
                    +
ACTIONS
demandes d'itinéraire, clics vers le site
                    +
STRUCTURE COMMERCIALE
appartenance à une chaîne
                    +
ENVIRONNEMENT PHYSIQUE
voirie, accessibilité, usage des segments routiers
                    +
IMPORTANCE DU LIEU
popularité, proéminence, caractère de landmark

L'importance d'un lieu chez Google est un objet hybride, à la fois Web, cartographique, comportemental et physique.

Mais il faut immédiatement ajouter une précaution. Nous savons que ces éléments appartiennent au vocabulaire du rang Geostore. Nous ne connaissons pas leur poids actuel dans le ranking final d'une requête Maps.

12

Popularité et proéminence ne sont pas la même chose

Google les représente par deux signaux différents :

3501  PLACE_INSIGHTS_POPULARITY
3502  PLACE_INSIGHTS_PROMINENCE

Un lieu peut être très fréquenté sans être un repère important. Inversement, un monument peut posséder une forte proéminence sans que cette notion soit identique à son volume de fréquentation.

Trois autres signaux complètent cette famille :

LANDMARK
APPROACHABILITY
TOTAL_ROAD_SEGMENT_USAGE

APPROACHABILITY, littéralement la facilité d'accès d'un lieu — la manière dont on l'atteint, dont on s'en approche — pose une question ouverte. Le nom est explicite, nous n'avons pas sa formule.

TOTAL_ROAD_SEGMENT_USAGE montre quelque chose de très concret : l'environnement routier associé à un lieu peut entrer dans son vocabulaire de ranking.

Le ranking d'une entité ne regarde donc pas seulement ce qui se passe sur sa fiche ou sur le Web. Il peut aussi regarder le monde physique autour d'elle.

13

D'où peut venir la popularité ?

Nous avons trouvé une autre pièce du puzzle, cette fois dans une couche embarquée du système.

Plusieurs pipelines portent des noms explicites :

deidentified-store-visits
deidentified-historical-busyness
deidentified-wifi-place-visits
deidentified-cycling-activity

Ils correspondent à des agrégations de visites en magasin, d'affluence historique, de visites détectées via Wi-Fi et d'activité cycliste. La cadence de remontée par défaut visible dans la configuration est de 6 heures.

Un dossier pulptraining montre également que cette couche participe au réentraînement de modèles.

Il faut être précis sur ce que cela prouve. Nous observons :

détection sur l'appareil
        ↓
agrégation
        ↓
remontée dés-identifiée

Et, ailleurs :

SIGNAL_PLACE_INSIGHTS_POPULARITY

Nous n'avons pas la formule qui relie les deux. La filière de mesure existe. La causalité exacte vers le signal de ranking n'est pas démontrée.

14

PlaceRank n'est pas un signal

Autre piège de vocabulaire.

MIXER_PLACERANK apparaît dans une énumération de 35 mixers. Un mixer est le régime utilisé pour combiner les signaux selon la nature de l'entité.

Pour les lieux :

MIXER_PLACERANK = 18
RankDetailsProto.SignalMixerType 35

Deux détails de cette liste méritent d'être notés, parce qu'ils disent quelque chose de la manière dont l'énumération a vécu. Elle contient un MIXER_MANAGER à 10000 et cinq MIXER_TEST_1..5 juste après. Et les valeurs 25 et 26 sont absentes sans être réservées : deux mixers ont existé, ont disparu, et n'ont pas laissé de trou déclaré.

Conceptuellement :

Avis ──────────────────────┐
Volume de requêtes Web ────┤
Itinéraires ───────────────┤
Clics vers le site ────────┤
Popularité ────────────────┤
Proéminence ───────────────┤
Approachability ───────────┤
Usage de la voirie ────────┤
WebScore ──────────────────┤
…                          │
                           ▼
                    MIXER_PLACERANK
                           │
                           ▼
                   importance du lieu

PlaceRank n'est donc pas « le facteur PlaceRank ». C'est un mode de combinaison de facteurs.

15

La partie que nous n'avons pas : les poids

C'est la frontière la plus importante de cette étude.

RankDetailsProto expose :

signal[]
signal_mixer_type

Mais 15 autres tags ont été retirés du scope. La documentation du champ parent indique précisément que cette structure contient les signaux et leurs poids.

la porte et la clé
RankDetailsProto        15 champs retirés
FeatureProto            25 champs retirés
TrustSignalsProto        4 champs retirés
Ce sont des trous numérotés, pas des suppositions. Le compilateur laisse le numéro de tag derrière lui.

Nous ne connaissons pas :

les coefficients
les fonctions de normalisation
les seuils
les transformations
les calibrations par marché
les interactions entre signaux
les versions de modèle
Pourquoi cette partie manque

Google développe dans un dépôt unique, google3, qui contient le code de presque tous ses produits à l'exception de Chrome et Android. Search, YouTube, Maps, Assistant et Lens y cohabitent, et la quasi-totalité des ingénieurs y ont accès. C'est un choix inhabituel à cette échelle, et il a ses raisons : collaboration entre équipes, uniformité des outils, refactorisations massives possibles.

Une petite fraction du code, de l'ordre de 0,1 %, échappe à cet accès général. Elle est isolée pour des raisons de confidentialité, principalement autour de l'anti-spam, et porte le nom de HIP, pour High-value Intellectual Property. C'est là qu'on s'attendait, en 2024, à trouver des composants comme NSR ou PageRankNS.

Ce que nous observons ici est de la même famille, un cran plus bas : les descripteurs compilés pour un client ne contiennent que les champs de son périmètre, et ceux qui en sortent laissent une trace, un numéro de tag réservé.

L'hypothèse, que nous ne pouvons pas démontrer : les signaux comportementaux les plus sensibles, ceux dont l'existence même a fait débat après 2024, sont probablement du côté fermé de cette frontière. Le schéma laisse d'ailleurs un indice indirect, puisque les deux signaux Navboost du vocabulaire géographique sont présents mais dépréciés : ce qui est encore actif dans ce domaine ne s'appelle plus comme ça, et a été protégé.

Nous formulons cela comme une hypothèse, pas comme un résultat. Ce qui est mesuré, c'est l'emplacement du trou et sa taille.

Notre analyse du leak de 2024 est ici.

16

Et surtout : ce n'est toujours pas le ranking final d'une recherche Maps

Geostore calcule ou transporte une notion d'importance d'entité. Mais une recherche Google Maps pose une autre question :

« Parmi toutes ces entités, lesquelles répondent le mieux à cette requête, depuis cet endroit, maintenant ? »

Un modèle plus réaliste est :

                   GEOSTORE
                      │
          entité + attributs + importance
                      │
                      ▼
             COMPRÉHENSION REQUÊTE
                      │
                      ▼
             MATCHING SÉMANTIQUE
                      │
                      ▼
             GÉNÉRATION CANDIDATS
                      │
              ┌───────┴────────┐
              │                │
        importance          proximité
         qualité            géographie
              │                │
              └───────┬────────┘
                      ▼
                  RERANKING
                      │
                      ▼
                    TOP 20

C'est l'une des séparations essentielles de toute l'étude.

Geostore explique très bien ce qu'est un lieu et quels signaux peuvent caractériser son importance. Il n'explique pas à lui seul pourquoi ce lieu est numéro 3 pour une requête donnée.

17

Google comprend la requête avant d'interroger les lieux

Les réponses du moteur exposent une classification sémantique de la requête.

Exemple observé pour une marque de restauration :

fast_food_restaurant   0.913505
restaurant             0.676
hamburger              0.568
breakfast              0.509
coffee_shop            0.367
sandwich               0.348
american               0.287
+ entité Knowledge Graph scorée

Une hiérarchie géographique scorée accompagne aussi la requête :

quartier
ville
comté
état
pays
Le test multilingue

Nos tests multilingues montrent que des termes synonymes dans différentes langues récupèrent des ensembles d'entités communs. Ce qui se passe en face est plus net encore.

Des termes de sens différent ne récupèrent pas « pratiquement aucune » entité commune. Ils en récupèrent exactement zéro :

Jaccard moyen                    0,0000
paires comparées                  5 193
paires à recouvrement non nul       0 %

La récupération n'est donc pas purement lexicale. Le terme est d'abord résolu vers une représentation conceptuelle, puis cette représentation oriente l'accès aux candidats.

Pour le SEO local, la conséquence est directe. Il ne suffit pas d'avoir le mot recherché quelque part. Il faut que Google puisse relier l'établissement aux concepts correspondant à l'intention.

Exemple ramen · 3 sur 5

Le même mot, cinq destinations conceptuelles

Reprenons la distribution de concepts vue plus haut. Vingt résultats pour ramen, et un seul gcid par établissement.

Concept porté par le résultat Résultats
ramen_restaurant 6
asian_restaurant 5
restaurant 4
japanese_restaurant 4
japanese_authentic_restaurant 1
Total 20

Aucun de ces établissements ne porte les cinq concepts. Le moteur n'a pas élargi la catégorie de chacun : il a rassemblé cinq catégories différentes autour d'une intention.

Et la plus fréquente ne représente que six résultats sur vingt. Le concept qui porte exactement le mot tapé est minoritaire dans sa propre réponse.

C'est la raison pour laquelle « ajouter le mot ramen sur la fiche » et « être compris comme un ramen_restaurant » sont deux problèmes distincts.

18

Une recherche locale ne fonctionne pas avec un rayon fixe

Dans les zones suffisamment peuplées, nous observons 20 résultats. Le moteur adapte ensuite l'emprise nécessaire pour les obtenir.

À Paris :

rayon médian du résultat le plus éloigné · Paris · même point de requête
× 12,7
  • pharmacie0,98 km
  • boulangerie1,15 km
  • supermarché5,66 km
  • Total7,24 km
  • Carrefour12,44 km

Même point d'interrogation, même ville. Facteur 12,7 entre deux requêtes.

Pour pharmacie, la distance joue très fortement. Pour une marque ou une catégorie plus ambiguë, la pertinence peut pousser le moteur beaucoup plus loin alors que des centaines d'établissements existent plus près.

Et la même requête ailleurs

Le chiffre le plus parlant n'est pas dans le tableau. Il apparaît quand on sort de Paris avec la même requête.

pharmacie   Paris          0,98 km
pharmacie   Lozère        32,96 km
Facteur 34 sur le rayon, pour une densité d'établissements qui varie d'un facteur voisin de mille.

Le rapport des rayons est proche de la racine du rapport des densités. C'est la signature d'une recherche à nombre de voisins constant : le moteur ne cherche pas dans un cercle, il cherche jusqu'à avoir rempli ses vingt places.

C'est pourquoi la question :

« Quel est le rayon de Google Maps ? »

n'a pas une bonne réponse unique. Le rayon est en partie le résultat du processus, pas un paramètre fixe posé avant la recherche.

19

Nous avons aussi réussi à retirer la géographie

Une surface de recherche ouverte que nous avons instrumentée possède une propriété intéressante. En omettant la pondération géographique, elle expose un état impossible à obtenir avec l'API Places classique.

Nous avons réalisé :

 5 083  appels
86 584  résultats

Lorsque deux listes partagent les mêmes entités, leur ordre ne bouge pratiquement pas :

Spearman médian   +1,000
Spearman moyen    +0,984

Changer le point d'origine de plusieurs milliers de kilomètres ne modifie quasiment plus cet ordre.

Il ne correspond ni :

au cell_id
au CID
à l'ordre lexical de l'identifiant
à une distance vers un point géographique caché

Cela révèle l'existence d'un ordre non géographique très stable derrière la récupération.

Ce que nous ne pouvons pas dire
ordre observé = FeatureProto.rank
ordre observé = MIXER_PLACERANK

Nous n'avons pas ce lien. Il pourrait s'agir d'un prior de qualité, d'un ordre documentaire interne ou d'un mécanisme voisin.

Le phénomène est mesuré. Sa nature exacte reste opaque.

20

Testez le moteur vous-mêmes

Le même appel que celui de la section précédente, avec et sans pondération géographique.

48.8566, 2.3522

La surface utilisée ici est expérimentale et non documentée. Elle ne doit pas être confondue avec l'API commerciale Google Places.

Le paramètre géographique que nous utilisons ne définit pas simplement un rayon maximal. Lorsqu'une pondération est activée, la géographie influence le ranking. Sans elle, on observe l'ordre non géographique obtenu plus haut, une fois la géographie retirée. Le plafond de 20 résultats demeure dans les deux cas.

Le rayon que ce formulaire affiche sera souvent différent de celui des rayons médians mesurés plus haut, et ce n'est pas une contradiction : le tableau donne une médiane sur des dizaines de points d'origine, alors qu'ici vous interrogez un point unique. Sur pharmacie au centre de Paris, la médiane est à 0,98 km et ce point-là monte à 5,68 km, parce que trois pharmacies éloignées entrent dans le top 20 devant des dizaines de plus proches. C'est précisément le phénomène d'une recherche locale sans rayon fixe, et c'est plus convaincant de le voir que de le lire.

21

Suggest connaît déjà la nature de ce que vous tapez

Avant même que l'utilisateur valide sa recherche, Maps appelle son service Suggest à chaque caractère.

Cette section ne présente pas un catalogue. Elle démontre une seule chose.

À chaque caractère frappé, le système qualifie ce que vous êtes en train d'écrire, et il sait déjà si la réponse sera locale ou non.

Sur 199 suggestions mesurées côté cartographique :

établissement            125
catégorie                 29
enseigne                  21
localité                  11
requête locale, réponse web  9

Le catalogue distingue des cas très fins. Parmi les valeurs :

SUBTYPE_MAPS_ESTABLISHMENT_POI
SUBTYPE_MAPS_CATEGORY
SUBTYPE_MAPS_CHAIN
SUBTYPE_MAPS_LOCALITY
SUBTYPE_MAPS_LOCAL_WEB
SUBTYPE_MAPS_POLITICAL
SUBTYPE_MAPS_ROUTE
SUBTYPE_MAPS_STREET_NUMBER
SUBTYPE_MAPS_TRANSIT_STATION
SUBTYPE_MAPS_TRANSIT_LINE
SUBTYPE_MAPS_DISH
SUBTYPE_MAPS_AD
SUBTYPE_MAPS_PLUS_CODE
SUBTYPE_MAPS_LAT_LNG
SUBTYPE_MAPS_SYNTHETIC_PLACEID
SUBTYPE_MAPS_CRISIS
Le numéro de voie qui tombe dans un trou

Pour les numéros de rue, le catalogue va jusqu'à :

STREET_NUMBER
  OUTSIDE_SEARCH_RANGE
  OUTSIDE_MINMAX
  IN_RANGE
  IN_GAP

Google sait donc représenter un numéro qui tombe dans un trou de la plage d'adresses connue. Ce n'est ni une adresse valide, ni une adresse hors zone : c'est un troisième état.

Ask Maps était déjà dans le catalogue
SUBTYPE_MAPS_ASK_MAPS
SUBTYPE_MAPS_ASK_MAPS_PROMPT
SUBTYPE_MAPS_ASK_MAPS_PROMPT_FALLBACK
SUBTYPE_MAPS_ASK_MAPS_QUERY_MIRROR
SUBTYPE_MAPS_ASK_MAPS_QUERY_MIRROR_FALLBACK
Cette famille est présente dans le catalogue avant l'existence publique de la fonctionnalité. Nous y reviendrons avec l'infrastructure IA déjà en place.
Exemple ramen · 4 sur 5

Une réponse, cinq destins

Une seule réponse d'autocomplétion sur ramen. Toutes ses suggestions commencent par les mêmes cinq lettres, et pas une seule ne reçoit la même qualification.

Autocomplétion sur ramen : les suggestions à gauche, et à droite les données que la réponse transporte pour chacune, dont gcid:ramen_restaurant, le type de recherche, la portée géographique, l'entité enseigne et les coordonnées précises
La première est une catégorie, avec son gcid en clair. La deuxième bascule en recherche de proximité. La troisième porte une portée géographique. La quatrième est une enseigne, et son « See locations » est le rendu visible de cette qualification. La cinquième est un établissement précis, avec ses coordonnées.

Le libellé « See locations » n'est donc pas une décision d'interface. C'est la conséquence d'une qualification faite en amont, à la frappe.

22

Google Maps est désormais un ensemble de centaines de services

Le client mobile parle à une architecture de services gRPC sur HTTP/3. Le catalogue que nous avons reconstruit contient 115 services et 395 méthodes.

Catalogue des méthodes

Ce catalogue montre à quel point parler du « moteur Google Maps » au singulier devient trompeur.

La recherche, les fiches, la carte, l'UGC, la publicité, les données personnelles et l'IA sont des couches distinctes qui communiquent autour d'identités communes.

23

Le résultat final n'est pas une Feature : c'est un PlaceProto composite

Quand Google renvoie un résultat, il ne transmet pas le FeatureProto de Geostore. Il construit une vue de serving beaucoup plus riche.

Nous avons retrouvé dans PlaceProto :

identité Geostore        note
nom                      nombre d'avis
adresse                  site Web
coordonnées              horaires
téléphone                photo principale
gcid                     MID
attributs ontologiques   recherches associées

La fiche complète ajoute ensuite :

avis individuels          menus
photos contribuées        prix
topics KG dans les avis   questions / réponses
affluence par heure       réponses du propriétaire
et par jour               taxonomies guidées
                          contenu éditorial

Search et GetPlace utilisent la même structure de lieu, mais avec des niveaux de remplissage différents. Le client demande explicitement les sous-champs dont il a besoin via un FieldMask.

             GEOSTORE FEATURE
   identité, géométrie, provenance,
    catégories, existence, ranking
                    │
       ┌────────────┼─────────────┐
       │            │             │
       ▼            ▼             ▼
 Knowledge Graph   UGC       données produit
   marques         avis          menus
   concepts        photos        prix
   plats           Q&R           horaires
   attributs
       │            │             │
       └────────────┼─────────────┘
                    │
            personnalisation
                    │
                    ▼
                PlaceProto
                    │
                    ▼
                  FICHE

Une fiche Google Maps est un document composé à la volée autour d'une entité, pas une copie de la base géographique.

24

Et la fiche contient déjà des objets conçus pour l'IA

Le contenu servi par Maps va beaucoup plus loin que les anciennes informations de POI. Nous retrouvons :

des résumés génératifs
des thèmes extraits des avis
du sentiment par thème
un score de pertinence par avis
des justifications
des offsets reliant les phrases aux concepts
des attributs confirmés ou non confirmés

C'est exactement le type de matériau nécessaire à une interface conversationnelle.

Ask Maps n'arrive donc pas au-dessus d'une table contenant uniquement :

Nom
Adresse
Étoiles
Horaires

Il arrive au-dessus d'une représentation déjà fortement enrichie et sémantisée des lieux.

À quoi ressemble cette représentation

Voici ce que la réponse porte réellement autour d'une seule requête et d'un seul établissement, remis à plat.

Graphe de la requête ramen à droite, reliée à ses résultats, et d'un établissement à gauche, relié à ses plats, ses cuisines, ses gammes de prix et ses moments de repas
À droite, la requête et les établissements qu'elle rend. À gauche, un seul de ces établissements, éclaté en ce qu'il sert, ce qu'il est, et quand on y va. Les arêtes portent leur relation : serves, cuisine, is-a.

Ce n'est pas une fiche avec des champs. C'est un voisinage d'entités reliées par des relations nommées, et c'est là-dessus qu'une question en langage naturel peut se poser.

Exemple ramen · 5 sur 5

Ce que l'agent lit déjà

La fiche de restaurant que nous suivons depuis le début de ce fil ramen porte, sans qu'aucun modèle génératif n'intervienne au moment de la lecture : les plats du menu identifiés par leur MID, les avis ancrés sur des sujets identifiés avec leurs offsets de caractères, les photos taguées par plat, et les attributs séparés en confirmés et non confirmés.

Sur une autre fiche de notre corpus, une chaîne de restauration cette fois, la couche thématique est présente et se lit directement :

thème "wait time"
  mentions    87
  positives    2
  négatives   85

Quatre-vingt-cinq mentions négatives sur quatre-vingt-sept, et le compte est déjà fait avant qu'une question soit posée. S'y ajoute un score de pertinence par avis et des justifications avec leurs offsets.

Ask Maps n'invente pas cette matière. Il la lit.

L'exemple se referme ici. La chaîne ramen ne désignait pas un mot clé. Elle désignait un point d'entrée dans une ontologie, et un établissement gagne ou perd selon les concepts auxquels le système sait le relier.

25

L'IA n'arrive pas demain dans Maps : son infrastructure est déjà là

Nous avions le code de la veille et celui du lendemain d'une annonce. Ce que le diff montre pèse plus lourd que la date.

Google présente Ask Maps le 12 mars 2026, dans un billet officiel : questions complexes sur le monde réel, recommandations personnalisées, interaction conversationnelle avec la carte, déploiement initial aux États-Unis et en Inde sur Android et iOS, desktop annoncé pour plus tard (source).

Cinq mois plus tard, le 6 août 2026, une seconde annonce élargit l'ensemble (source). Six volets :

1  ouverture à 160 nouveaux pays
2  connexion sécurisée à Gmail, Agenda « bientôt »
3  partenaires de commande de repas
4  comparaison de prix d'hôtels
5  détection d'horaires sur photo d'enseigne
6  fréquentation et alertes transport

La commande de repas, elle, était déjà là mi-juillet :

ASK_MAPS_FOOD_ORDERING_AGENT
END_TO_END_ACTION_FOOD_ORDERING

L'annonce est presque entièrement un allumage serveur d'une infrastructure livrée avant.

Ce que le catalogue portait déjà
FetchLlmResult
GetKnowBeforeYouGoSummaries
CallKnowBeforeYouGoAgent
PrototypeCallAskMapsAgent
PrototypeCallAskMapsAgentStreamed
CreateSharedAskMapsHistoryThread
GetSharedAskMapsHistoryThread

Cela permet de distinguer plusieurs fonctions :

GÉNÉRATION       →  résultats LLM
AGENT            →  Ask Maps
MÉMOIRE          →  historique des conversations
CONTEXTE LIEU    →  Know Before You Go

Ask Maps est donc moins un chatbot posé devant Maps qu'une nouvelle interface vers les couches sémantiques, géographiques et transactionnelles déjà présentes.

26

Personal Intelligence est également visible dans Maps

Une valeur parlante apparaît dans le code :

PERSONAL_INTELLIGENCE = 45   sur 138 types de contenus de fiche

Nous retrouvons également un service :

personalitem
  ListPersonalPlaces
  UpdatePersonalIntelligence
  UpdatePersonalNotes

Et plusieurs sources portent des noms sans ambiguïté :

KBYG_GMAIL_FLIGHT_RESERVATION
KBYG_GMAIL_HOTEL_RESERVATION
KBYG_GMAIL_RESTAURANT_RESERVATION
TIME_TO_LEAVE_FOR_GMAIL_*
KBYG = Know Before You Go

Une autre configuration, PLACESHEET_PERSONAL_INTELLIGENCE_MODULES, montre que cette couche peut alimenter des modules de la fiche elle-même, pas uniquement une réponse conversationnelle.

Le cadre public de Google va dans la même direction : les Search services, dont Maps, peuvent, avec le consentement de l'utilisateur, accéder à des applications comme Gmail, Agenda et Google Photos afin de produire des expériences plus personnalisées.

Deux personnes peuvent désormais consulter la même entité géographique sans recevoir exactement la même composition informationnelle autour d'elle.

27

Google calcule une partie de votre géographie directement sur le téléphone

L'idée reçue veut que tout se joue entre le téléphone et le serveur, le premier envoyant une requête et le second renvoyant une réponse :

téléphone
   │
   ▼
serveur Google
   │
   ▼
réponse

Une couche système embarquée révèle un autre étage. Une partie de l'intelligence géographique est calculée localement sur l'appareil.

Nous avons retrouvé deux grandes couches.

CSL / segmenteur

Cet étage est tagué : 102 messages nommés, champs numérotés. Nous lisons les noms directement.

SemanticSegment
Visit
PlaceCandidate
PlaceInfo
MobilePlacePopularity
CslStateSnapshot
DeviceGenericPersona
PULP / HULK

Cet étage est compilé en WebAssembly. Ses 85 tables de parsing sont localisées et leurs tags exacts sont connus, mais aucune n'est nommable : nous connaissons les noms de types par RTTI, pas la correspondance type ↔ table.

PulpCalculationInputs
FeatureWeights
Persona
ChainAffinity
UserLocationProfile
FrequentPlace
FrequentTrip
PlaceAggregates
AliasedLocationLite

La distinction compte. Sur CSL, nous pouvons citer un nom de message et dire qu'il existe. Sur Pulp, nous pouvons dire qu'une table de 85 entrées existe et donner ses tags, sans pouvoir affirmer que telle table correspond à tel type.

28

Pulp fabrique littéralement un persona géographique

Le pipeline visible ressemble à ceci :

SIGNAL DE LOCALISATION
        │
        ▼
INFÉRENCES POINT PAR POINT
        │
        ▼
SEGMENTATION
        │
        ▼
BEAM SEARCH
        │
        ▼
SEGMENTS SÉMANTIQUES
        │
        ▼
VISITES / LIEUX CANDIDATS
        │
        ▼
PULP / HULK
        │
        ├── domicile
        ├── travail
        ├── lieux fréquents
        ├── trajets fréquents
        ├── modes de déplacement
        └── persona

Le profil contient :

Persona
├── ChainAffinity
├── LocationAffinity
└── TravelModeAffinity

FrequentPlace
FrequentTrip
Visit
Activity
PlaceCandidate
SemanticSegment

Le champ le plus frappant pour les marques est celui-ci.

Persona.ChainAffinity

L'affinité d'un utilisateur pour une enseigne peut être calculée et conservée comme une donnée de son profil géographique local.

Il faut distinguer cette information d'un facteur de ranking universel. Il s'agit d'une donnée de personnalisation sur l'appareil.

Mais pour comprendre où Google Maps se dirige, c'est un signal architectural.

29

Même domicile et travail passent par la sémantique du lieu

Le composant de labellisation domicile / travail embarque en dur une série d'identifiants de catégories.

housing              indoor_lodging
residential_area     guest_house
apartment            motel
apartments           luxury_hotel
apartment_complex    budget_hotel
condominium          resort_hotel
student_housing_...  boarding_school
building_society     college
cottage_village      university
                     kindergarten
                     library
                     station
                     transit

Et juste à côté apparaissent des états comme :

tp-poi-suitable-for-home
tp-poi-not-suitable-for-home
tp-poi-suitable-for-work
tp-poi-not-suitable-for-work
tp-no-prominent-category

La nature sémantique du lieu participe donc à la décision de savoir s'il est plausible comme domicile ou comme lieu de travail.

La dernière valeur mérite d'être lue deux fois : tp-no-prominent-category. Un lieu sans catégorie proéminente est un cas traité explicitement, pas un cas oublié.

30

Il existe aussi un deuxième scorer, entièrement offline

Ce scorer est à ne pas confondre avec les 72 signaux Geostore. Il appartient au moteur de recherche embarqué et n'est pas utilisé lorsque le ranking vient du serveur.

Sa structure :

  8 signaux
× 13 paliers
+  8 bases
─────────────
112 fonctions

Quatre dimensions de sa famille principale ont pu être caractérisées expérimentalement :

CodeComportement observé
c-Lproéminence locale de base
c-Rcorrespondance textuelle requête / nom
c-Ccorrespondance de catégorie
c-Acomposante adresse / position

Le palier dépend de l'échelle du viewport. Lorsque nous faisons varier uniquement le zoom, tous les signaux changent de palier ensemble.

Cela donne une séparation supplémentaire :

RANKING GEOSTORE
72 signaux, importance d'entité
              ≠
RANKING SERVEUR PLACES
requête + géographie + pertinence
              ≠
SCORER OFFLINE DU CLIENT
8 signaux × 13 paliers

Parler du « ranking Google Maps » comme d'une seule formule masque donc plusieurs mécanismes différents.

31

Être classé n'est pas encore être visible sur la carte

Il reste une dernière étape. Même si une entité existe et même si elle est candidate, Google doit décider ce qui sera réellement écrit sur la carte.

Le moteur de rendu mapcore est partagé entre plusieurs environnements. Nous avons retrouvé une table de :

50 998 styles
12 936 styles de labels

Un style peut changer selon le zoom. Le mécanisme d'apparition du texte est simple :

font.size = 0
      ↓
label invisible

font.size > 0
      ↓
label affichable

Sur 1 386 styles commençant avec une taille nulle, les niveaux d'apparition varient fortement. Et 593 styles ne deviennent jamais du texte, quel que soit le zoom étudié. Ils restent des représentations sans nom écrit.

Un exemple qui rend le mécanisme concret

Sur le style global 7557, « Restaurant & Bar », les deux entrées de zoom sont identiques champ pour champ, à une exception près :

style 7557  « Restaurant & Bar »
  zoom  0     font.size =  0 px
  zoom 11     font.size = 11 px

  tous les autres champs : identiques
La bascule est l'apparition. Il n'y a pas de seuil de score caché à cet étage : il y a une taille de police qui passe de zéro à onze.

La visibilité du nom d'un commerce n'est donc pas simplement :

score du commerce > seuil

Le serveur attribue d'abord un style. Ce style détermine à partir de quel zoom son texte est éligible.

32

Le serveur transmet même l'ordre directement au moteur de labels

Chaque LabelRenderOp contient :

texte
géométrie
style
rang de priorité
CID / Feature ID
représentations alternatives

Sur la couche où les 20 résultats de recherche sont injectés dans la carte, nous retrouvons exactement :

résultat  #1   →  16383
résultat  #2   →  16382
résultat  #3   →  16381
              …
résultat #20   →  16364

L'ordre du classement serveur devient donc directement un ordre de priorité pour l'affichage des résultats injectés.

Le client reçoit beaucoup plus de labels qu'il ne peut en afficher. Son travail consiste ensuite à :

résoudre les collisions
        ↓
essayer une représentation alternative
        ↓
texte
        ↓
icône seule
        ↓
suppression si nécessaire

Il ne recalcule pas la pertinence du commerce. L'essentiel de la décision a été pris en amont.

33

La carte complète ressemble finalement à ceci

La chaîne Google Maps reconstruite : des sources au Geostore, du Geostore à la recherche, de la recherche à la carte visible, puis aux couches personnelles et à l'IA
La chaîne Google Maps reconstruite, des sources jusqu'à la réponse conversationnelle. Ouvrir en grand

La bonne manière de penser Maps n'est donc plus :

BASE DE LIEUX
    ↓
ALGORITHME
    ↓
RÉSULTATS

mais :

SYSTÈME DE VÉRITÉ
       +
GRAPHE D'ENTITÉS
       +
INDEX DOCUMENTAIRE
       +
MOTEUR DE RECHERCHE
       +
MOTEUR CARTOGRAPHIQUE
       +
MODÈLES EMBARQUÉS
       +
PERSONNALISATION
       +
IA GÉNÉRATIVE
34

Ce que cela change pour les SEO et les enseignes

Il serait tentant de transformer les 72 signaux en une nouvelle checklist de facteurs de ranking. Ce serait une mauvaise lecture de l'étude.

L'enseignement le plus important est architectural.

1. Arrêtez de penser « fiche », pensez « entité »

Google essaie de construire une identité cohérente du lieu à travers :

Maps · Knowledge Graph · Web · Merchant data
UGC · géographie · chaîne · historique

Le premier travail consiste à réduire l'ambiguïté autour de l'entité. Nom, adresse, téléphone, catégorie, URL, marque, établissement et relations doivent raconter la même histoire.

2. Votre site web n'est pas déconnecté de Maps

Le lien document ↔ MID est présent dans l'index. La topicalité de la page envers l'entité est elle-même représentée, et Webref range les documents entre eux pour cette entité. Des scores Web agrégés reviennent ensuite dans le vocabulaire Geostore.

Une bonne page locale doit répondre sans ambiguïté à :

Quel lieu ?
Quelle enseigne ?
Quelle adresse ?
Quelle catégorie ?
Quels services ?
Quels produits ?
Quelle zone desservie ?
Quelle relation avec les autres établissements ?
3. Les catégories sont une couche sémantique, pas un champ

Google raisonne avec des concepts, une catégorie principale et des relations ontologiques. Une enseigne doit couvrir correctement son territoire sémantique réel, en fournissant assez d'informations cohérentes pour que Google puisse relier le lieu aux bons concepts.

Une précision qui coupe court à une mauvaise déduction : le schéma ne connaît aucune gradation entre catégories secondaires. Seul le basculement en catégorie principale est un fait porté par les données, et nous l'avons vu diverger d'un magasin à l'autre au sein d'une même enseigne. Empiler des catégories secondaires pour « renforcer la pertinence » n'a aucun appui ici.

4. La demande de marque peut compter à plusieurs endroits

SIGNAL_GOOGLE_WEB_QUERYVOL appartient explicitement au vocabulaire de ranking Geostore. Parallèlement, le moteur de requête sait reconnaître une marque comme entité et lui associer des catégories.

Cela renforce une idée difficile à mesurer en SEO local : la notoriété et la demande autour de l'entité peuvent compter autant que l'optimisation textuelle de sa fiche.

Ce n'est pas une invitation à générer artificiellement des recherches de marque. Cela signifie que le local ne vit pas dans un silo séparé de la demande globale.

5. Les avis ont plusieurs rôles

SIGNAL_GOOGLE_REVIEWS existe dans le vocabulaire de ranking. Mais les avis servent aussi à produire des thèmes, extraire du sentiment, identifier des concepts, fournir des justifications, alimenter des résumés génératifs et répondre à des questions conversationnelles.

Avec Ask Maps, un avis devient un corpus de preuves sur :

le service · le produit · l'attente · le bruit
l'ambiance · l'accessibilité · la qualité
le prix · les plats · les situations d'usage

Pour les marques, la stratégie d'avis devient aussi une stratégie de couverture informationnelle.

6. Les actions réelles font partie du vocabulaire
LISTING_IMPRESSIONS
INFOWINDOW_VIEWS
DIRECTION_REQUESTS
HOMEPAGE_CLICKS

Cela montre au minimum que Google sait conserver et normaliser ces familles d'interactions dans le cadre du ranking d'entité. Le bon objectif n'est pas de les manipuler : c'est de créer un lieu qui génère naturellement de la demande et des actions réelles.

7. Une chaîne est un objet à part entière

BusinessChainProto existe. SIGNAL_GOOGLE_CHAIN_STORES existe. Persona.ChainAffinity existe côté utilisateur. Maps distingue une chaîne d'un établissement précis dès Suggest.

Et la mesure rend le point concret : sur 21 magasins d'une même enseigne dans une même métropole, 11 portent gcid:pharmacy et 10 portent gcid:drugstore en catégorie principale, alors que canonical_gconcepts déclare un état idéal pour les membres de la chaîne.

ENTITÉ ENSEIGNE
      │
      ├── magasin A
      ├── magasin B
      ├── magasin C
      └── magasin D

Pour une enseigne multi-sites, il faut donc travailler les deux niveaux, et non considérer chaque fiche comme une île.

8. La proximité ne suffit pas

Nos mesures montrent qu'une requête de marque peut faire chercher beaucoup plus loin qu'une catégorie locale dense. Et que la même requête, hors métropole, s'étend d'un facteur 34.

Il faut arrêter de raisonner uniquement en :

« je suis à 800 mètres, donc je dois être devant »

Google cherche à équilibrer ce que l'utilisateur veut, ce qui existe autour de lui, et l'importance et la qualité des candidats. La distance est centrale. Elle n'est pas souveraine.

Cela ne veut pas dire que la demande de proximité est ignorée : elle est mesurée. Le leak de 2024 documentait un attribut clickRadius50Percent, le rayon dans lequel se produisent la moitié des clics sur une requête. Autrement dit, Google sait pour chaque requête à quelle distance ses utilisateurs acceptent d'aller, et ce rayon est appris, pas fixé.

9. Le monde physique compte réellement
APPROACHABILITY
TOTAL_ROAD_SEGMENT_USAGE
ROAD_PRIORITY

Une adresse physique possède des caractéristiques réelles : accès, voirie, flux, position, environnement, transport. Tout n'est pas optimisable depuis un CMS.

Le meilleur emplacement commercial et le meilleur emplacement pour le SEO local ne sont probablement pas deux problèmes totalement indépendants.

10. La fraîcheur et l'existence sont des objets de premier ordre

Geostore possède des états pour :

closed · removed · moved · rebranded
duplicate · replaced · spam

Il conserve aussi des confirmations d'existence avec leur origine et leur horodatage. Une entreprise doit donc surveiller les doublons, les déménagements, les anciens établissements, les changements de marque, les fermetures temporaires et les incohérences d'adresse.

Une erreur d'identité est plus grave qu'un champ mal optimisé.

11. Il faut optimiser pour un lieu qui sera lu par une IA

Ask Maps modifie la sortie du système. Avant :

requête
  ↓
liste de lieux

Maintenant :

question complexe
       ↓
compréhension du besoin
       ↓
sélection de lieux
       ↓
lecture des attributs
       ↓
lecture des avis
       ↓
Knowledge Graph
       ↓
contexte personnel éventuel
       ↓
synthèse
       ↓
recommandation argumentée

Un commerce doit donc fournir de quoi répondre à des questions comme :

Quel restaurant conviendrait à six personnes avec des enfants et une personne végétarienne ?

Quel magasin est pratique sur mon trajet et encore ouvert après mon rendez-vous ?

Où déjeuner rapidement près de mon hôtel avec de bons avis récents sur le service ?

Quelle boutique correspond le mieux aux marques que j'aime déjà ?

Ce ne sont plus des requêtes de catégorie. Ce sont des problèmes à résoudre à partir d'attributs, de relations et de preuves.

35

La prochaine bataille du local SEO sera probablement la complétude sémantique

Pendant longtemps, le SEO local s'est structuré autour de trois grandes idées :

proximité
pertinence
proéminence

Ces notions restent utiles. Mais les mécanismes observés suggèrent une lecture plus riche.

Pour recommander un établissement, l'IA doit pouvoir déterminer :

ce qu'il est
ce qu'il propose
où il est
comment on y accède
qui l'apprécie
pour quelles raisons
dans quelles situations
avec quelles contraintes
à quel moment
et avec quel niveau de confiance

La compétition ne porte donc plus uniquement sur la meilleure fiche. Elle porte progressivement sur la meilleure représentation de l'entité.

36

Ce que le leak de 2024 montrait, et ce que les câbles montrent

La découverte la plus importante de cette étude n'est pas un signal particulier.

Ce n'est pas GOOGLE_REVIEWS. Ce n'est pas POPULARITY. Ce n'est pas PROMINENCE. Ce n'est même pas MIXER_PLACERANK.

C'est l'architecture entière.

GEOSTORE construit la vérité géographique
KNOWLEDGE GRAPH donne un sens aux entités
WEBREF / INDEX relie les documents aux entités
SEARCH / PLACES comprend la requête et choisit les candidats
OYSTER RANK / PRIORS caractérisent leur importance
SERVING compose la fiche finale
MAPCORE décide ce qui peut apparaître sur la carte
PULP / HULK / CSL construisent une partie du contexte géographique personnel
PERSONAL INTELLIGENCE ajoute le contexte utilisateur
ASK MAPS transforme enfin tout cela en conversation

Le leak de 2024 nous avait montré une partie des plans. Le binaire récent et les mesures réalisées autour de Maps permettent désormais de suivre une grande partie des câbles.

Et c'est probablement au moment où Google ajoute Gemini au-dessus de cette infrastructure que cette compréhension devient la plus utile.

Google Maps n'est pas un moteur de recherche local auquel on ajoute de l'IA.

Il devient un système capable de construire une représentation du monde physique, de la relier au Web et aux entités, de l'observer à travers les comportements, de la contextualiser pour un utilisateur, puis de répondre en langage naturel.

Pour les SEO et les enseignes, cela change la question. Il ne s'agit plus seulement de savoir :

« Comment mieux classer ma fiche ? »

La question devient :

« Quelle représentation Google possède-t-il réellement de mon établissement, de ma marque et de ce qu'ils peuvent apporter à cet utilisateur précis ? »

C'est probablement là que commence la prochaine génération du local SEO.

Tout ce que cette étude cite se vérifie ligne à ligne dans l'archive : 10 936 déclarations, la documentation de mars 2024 en regard, et le dump complet à emporter.

Explorer l'archive

Autres sources et études

Août 2026 Google Map disséqué : 72 signaux de ranking et l'architecture qui relie le Web, les lieux et l'IA Juil 2026 Ce que ChatGPT récupère, ce qu'il montre, ce qu'il cite Juil 2026 ChatGPT experiments tracker : ce qu'OpenAI teste avant de le déployer Juil 2026 Comment votre téléphone Google vous tracke pour « mieux vous servir » Juin 2026 3 729 456 URLs internes de Google, sans en ouvrir aucune Juin 2026 Ce que Google construit vraiment Juin 2026 Dans la tête de l'algorithme Pinterest Juin 2026 Comment Chrome classe les sites en interne Mai 2026 Le téléphone IA de demain, vu de l'intérieur d'un APK Google Mai 2026 Classement des principales Google Preferred Sources More stuffs...
RESONEO