Le 5 mai 2024, 2.500 documents fuitent du hangar à contenu (API Content Warehouse) de Google. Ils mettent au jour quelque 14.000 attributs utilisés par l’algorithme de classement.
Ces documents, dont le porte-parole de Google David Thompson finira par reconnaître l’authenticité, permettent de mieux comprendre les critères de classement et d’optimiser les stratégies SEO. Découvrez ci-dessous une liste non-exhaustive des principales nouveautés avec un focus sur les éléments liés au contenu.
L’autorité du domaine est bien prise en compte
Les professionnels du SEO savent depuis longtemps que l’autorité d’un site constitue un critère de classement important, au même titre que l’expertise et la fiabilité. Depuis la fuite de documents, ce critère est désormais explicite, puisque les attributs « siteAuthority » et « authorityPromotion » sont intégrés dans l’algorithme de classement qualitatif :
- siteAuthority (type: integer(), default: nil) – site_authority: converted from quality_nsr.SiteAuthority, applied in Qstar.
- authorityPromotion (type: integer(), default: nil) – authority promotion: converted from QualityBoost.authority.boost
Il apparaît également que Google dresse des listes blanches (white lists) de sites de référence réputés sûrs dans certains secteurs comme la santé ou le voyage.
Dans le même ordre d’idées, les auteurs pourraient constituer un facteur de classement, car les attributs « isAuthor » et « authorName » sont intégrés à l’algorithme de Google :
- isAuthor (type: boolean(), default: nil) – True if the entity is the author of the document. This was mainly developed and tuned for news articles (e.g. /m/02x27qn on “www.vogue.com/article/flint-town-netflix”) but is also populated for other content (e.g. scientific articles). Important: the semantics of this field may change in the future or it might be removed and replaced with a different API. If you want to use this field, please reach out to ke-authors@ first.
Des dispositifs renforcés pour lutter contre le spam
En dépit des démentis de Google, la présence de l’attribut « hostAge » dans les documents fuités révèle bel et bien l’existence d’une « sandbox » (bac à sable). Celle-ci affecterait négativement les sites récents qui cherchent à se positionner plus rapidement via le spamdexing :
- hostAge (type: integer(), default: nil) – The earliest firstseen date of all pages in this host/domain. These data are used in twiddler to sandbox fresh spam in serving time. It is 16 bit and the time is day number after 2005-12-31, and all the previous time are set to 0. If this url’s host_age == domain_age, then omit domain_age Please use //spam/content/siteage-util.h to convert the day between epoch second. Regarding usage of Sentinel values: We would like to check if a value exists in scoring bundle while using in Ranklab AST. For this having a sentinel value will help us know if the field exists or has a sentinel value (in the case it does not exist). 16-bit
S’ils ont pu bénéficier d’un boost de classement par le passé, les noms de domaine qui correspondent exactement aux requêtes des utilisateurs risquent davantage d’être considérés comme spammés :
- exactMatchDomainDemotion (type: integer(), default: nil) – Page quality signals converted from fields in proto QualityBoost in quality/q2/proto/quality-boost.proto. To save indexing space, we convert the float values in [0, 1] to integers in range [0, 1023] (use 10 bits). exact_match_domain_demotion: converted from QualityBoost.emd.boost.
De plus, la vitesse à laquelle un site gagne ou perd des backlinks fait l’objet d’une surveillance attentive. Google souhaite en effet s’assurer qu’il s’agit bien d’une croissance naturelle et non d’une manipulation visant à faire remonter artificiellement un site dans les SERP.
Le comportement et les clics des utilisateurs sont déterminants
Malgré le démenti de Google, il semble que les données générées par les différents clics des utilisateurs soient utilisées par son algorithme. En effet, l’outil « navBoost » est mentionné à 36 reprises dans les documents fuités. Cet outil analyse les clics des utilisateurs et les catégorise en fonction de leur qualité (bons, mauvais, longs…) pour ajuster le classement d’un site.
En clair, plus les internautes visitent exhaustivement et qualitativement votre site, mieux il sera classé
- Les bons clics désignent les interactions positives des utilisateurs avec les résultats de recherche.
- A l’inverse, les mauvais clics désignent leurs interactions négatives.
- Les clics longs indiquent un long temps passé par l’utilisateur sur la page qu’il a choisie dans les SERP.
- Les impressions concernent le nombre de fois qu’un résultat de recherche apparaît à l’utilisateur.
- Les clics écrasés sont des clics de moindre qualité ou spammés.
- Les clics non écrasés sont considérés comme authentiques et plus qualitatifs.
- Les clics licornes sont censés réunir des caractéristiques exceptionnelles et indiquer des interactions de grande qualité.
- absoluteImpressions (type: float(), default: nil) – Thus far this field is only used for host level unsquashed impressions. When compressed (e.g., in perdocdata.proto, CompressedQualitySignals), this value is represented individually and thus is generally incompatible with the other values which are compressed as click-ratios.
- badClicks (type: float(), default: nil) –
- clicks (type: float(), default: nil) –
- goodClicks (type: float(), default: nil) –
- impressions (type: float(), default: nil) –
- lastLongestClicks (type: float(), default: nil) –
- unicornClicks (type: float(), default: nil) – The subset of clicks that are associated with an event from a Unicorn user.
- unsquashedClicks (type: float(), default: nil) – This is not being populated for the current format – instead two instances of CrapsClickSignals (squashed/unsquashed) are used. We are migrating to the new format where this field will be populated.
- unsquashedImpressions (type: float(), default: nil) – This is not being populated for the current format – instead two instances of CrapsClickSignals (squashed/unsquashed) are used. We are migrating to the new format where this field will be populated.
- unsquashedLastLongestClicks (type: float(), default: nil) –
En clair, plus les internautes visitent exhaustivement et qualitativement votre site, mieux il sera classé. « NavBoost » considère la préférence utilisateur plus significative que la qualité des contenus ou des backlinks.
L’importance croissante de « navBoost » démontre en tout cas combien l’intention de recherche mérite que l’on s’y intéresse de près.
Il convient encore de souligner le rôle déterminant des évaluations humaines (les Google Quality Raters et la plateforme EWOQ) dans l’estimation de la pertinence de nombreux contenus.
Les données collectées via Chrome sont utilisées pour affiner les SERP
Par le biais de son navigateur Chrome, Google récolte des données d’utilisation qui lui permettent de déterminer les URL les plus importantes et celles susceptibles de figurer dans les sitelinks.
Pourtant, Google s’est toujours défendu de récolter ces données utilisateurs via Chrome. Or, on retrouve les attributs suivants dans les documents fuités :
- uniqueChromeViews (type: integer(), default: nil) – Number of unique visits in Chrome.
- chromeInTotal (type: number(), default: nil) – Site-level Chrome views
De même, les SERP sont influencés par l’historique de navigation et par les données collectées via les cookies. On ne peut pas parler ici de grande nouveauté.
Attention aux contenus (trop) longs
Google utiliserait la métrique « numTokens », qui signifie qu’il peut gérer un nombre maximum de signes (tokens) et donc de mots par page. Tout ce qui dépasserait ce plafond ne serait pas pris en compte pour le classement :
- numTokens (type: integer(), default: nil) – The number of tokens, tags and punctuations in the tokenized contents. This is an approximation of the number of tokens, tags and punctuations we end up with in mustang, but is inexact since we drop some tokens in mustang and also truncate docs at a max cap.
Il convient dès lors de placer les éléments de contenu les plus importants au début des documents longs. Quant aux documents courts, l’attribut « OriginalContentScore » semble être utilisé pour évaluer la qualité de leur contenu :
- OriginalContentScore(type: integer(), default: nil) – The original content score is represented as a 7-bits, going from 0 to 127. Only pages with little content have this field. The actual original content score ranges from 0 to 512. It is encoded with quality_q2::OriginalContentUtil::EncodeOriginalContentScore(). To decode the value, use quality_q2::OriginalContentUtil::DecodeOriginalContentScore().
Perspectives et enjeux de la fuite SEO des secrets de l’algorithme de Google
En définitive, la divulgation des documents SEO de Google offre une perspective inédite sur les mécanismes internes de son algorithme de classement. Ces révélations mettent en lumière l’importance cruciale de l’autorité du domaine, des comportements des utilisateurs et de la qualité des contenus. Les informations sur les dispositifs anti-spam et l’utilisation des données issues de Chrome accentuent la nécessité d’une stratégie SEO rigoureusement élaborée et adaptable.
Sources
GoogleApi.ContentWarehouse.V1.Model.PerDocData — google_api_content_warehouse v0.4.0 (hexdocs.pm)
22 Things We Might Have Learned From The Google Search Leak (searchlogistics.com)
SEO : le leak du fonctionnement de Google résumé en 14 points (leptidigital.fr)