Google Indexing API pour Magento 2

Le module Kowal Google Indexing API pour Magento 2 aide à soumettre plus efficacement à Google les URL qui ont été ajoutées, modifiées ou qui doivent être supprimées de l’index.
Compatibilité
2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.7, 2.3.6, 2.3.5, 2.3.4
61,50 €
Envoyer à un ami

Demander des informations sur ce produit

Description / Google Indexing API pour Magento 2

MAGENTO 2 · SOUMISSIONS D’URL · FILE D’ATTENTE · GOOGLE API

Gérez les soumissions d’URL dans une seule file d’attente Magento.

Kowal Google Indexing API

Collectez les adresses depuis le panneau d’administration et les intégrations, contrôlez les doublons, la planification et les limites d’envoi. Conservez l’historique des réponses de Google et distinguez clairement l’acceptation de la soumission de l’indexation de la page.

Dry Run · Retry et logs · Périmètre de l’API défini par Google

COMMENT CELA FONCTIONNE EN PRATIQUE

01 · Vous configurez l’accès et le périmètre
Vous vérifiez le compte de service, les hôtes et les Store View autorisées.

02 · Vous ajoutez des adresses à la file d’attente
Vous utilisez l’import, les actions de masse ou les boutons.

03 · Vous suivez le traitement
Cron gère l’envoi, les limites, le résultat et les nouvelles tentatives.

Qu’apporte ce module à votre boutique ?

Découvrez les fonctionnalités, les usages et les paramètres du module.

Informer Google plus rapidement des changements dans la boutique

Le module Kowal Google Indexing API pour Magento 2 aide à soumettre plus efficacement à Google les URL qui ont été ajoutées, modifiées ou qui doivent être supprimées de l’index. Au lieu d’attendre uniquement la revisite standard de la page par le robot Google, l’administrateur peut transmettre les adresses choisies à une file d’attente gérée par Google Indexing API.

Cette solution est particulièrement utile dans les boutiques où les contenus, l’offre, la disponibilité des produits, les pages CMS, les landing pages ou les articles de blog changent fréquemment. Le module structure tout le processus : il collecte les adresses depuis différents emplacements de Magento, les vérifie, supprime les doublons, contrôle les limites et enregistre l’historique des communications avec Google.

Google Indexing API est officiellement destinée aux pages contenant des données structurées JobPosting et BroadcastEvent. La soumission d’une URL via l’API ne garantit ni l’indexation, ni la position dans les résultats, ni l’acceptation de chaque adresse par Google. Le module est un outil de support pour la soumission technique d’URL, et non un substitut à un SEO technique correct, aux sitemap XML, canonical, robots, hreflang et au maillage interne.

Un meilleur contrôle des soumissions d’adresses

Le module offre à l’administrateur un emplacement unique pour gérer les URL en attente d’envoi à Google. Les produits, catégories, pages CMS, imports manuels d’URL et futures sources peuvent utiliser la même file d’attente. Il n’est donc pas nécessaire de créer des intégrations séparées pour chaque type de contenu.

Moins de travail manuel après les changements dans la boutique

Les adresses peuvent être ajoutées à la file d’attente directement depuis le panneau d’administration Magento. Le module met à disposition des actions de masse et des boutons sur les écrans d’édition de certaines entités, afin que l’administrateur puisse demander rapidement l’indexation d’une page individuelle ou d’un groupe d’adresses plus important.

Une utilisation plus sûre des limites de l’API

Google Indexing API fonctionne avec des limites. Le module prend en compte les limites quotidiennes et par minute, la taille du lot traité par cron ainsi que le délai d’envoi. Les adresses ne sont ainsi pas envoyées de manière chaotique et il est plus facile de réduire le risque de consommation inutile de la limite disponible.

Moins de doublons et de soumissions répétées

Avant d’enregistrer une adresse, le module normalise l’URL, la valide et vérifie si la même adresse n’attend pas déjà dans la file active. Si une soumission similaire existe déjà, le système peut la mettre à jour ou la marquer comme dédupliquée. Cela réduit le désordre dans la file d’attente et diminue le nombre de requests inutiles vers Google.

Plus de transparence pour l’équipe

Chaque soumission possède un statut, une source, une action, une priorité, un nombre de tentatives, une date d’envoi planifiée ainsi que des informations sur la réponse de Google. L’administrateur voit quelles adresses sont en attente, lesquelles ont été envoyées correctement, lesquelles nécessitent une nouvelle tentative et lesquelles se sont terminées par une erreur permanente.

Un diagnostic plus simple des problèmes

Le module enregistre les logs de communication avec Google API, notamment le type de request, l’adresse de l’endpoint, le payload, le statut HTTP, le contenu de la réponse et la durée. Cela facilite l’analyse des erreurs liées à la configuration, aux autorisations, aux limites ou aux URL soumises elles-mêmes.

Prêt pour la croissance de la boutique

L’architecture du module repose sur un scheduler et une file d’attente communs. Les nouvelles sources d’URL n’ont pas besoin de communiquer directement avec Google. Il suffit qu’elles transmettent les adresses à la file d’attente, et le processeur existant se charge de la validation, du calendrier, des limites, des nouvelles tentatives et de la journalisation.

Comment le module fonctionne en pratique

Le module agit comme une couche intermédiaire entre Magento et Google Indexing API.

  1. L’administrateur ou l’intégration choisit les URL à soumettre.
  2. Le module normalise et valide les URL, notamment selon le schéma, l’hôte et les sources autorisées.
  3. Les adresses correctes sont envoyées vers la file d’attente centrale avec le statut, l’action et la date d’envoi appropriés.
  4. Cron Magento récupère périodiquement les enregistrements prêts à être traités.
  5. Le processeur de file respecte les limites, priorités, délais et verrous d’enregistrements.
  6. Le module envoie la soumission à Google Indexing API ou effectue le traitement en mode dry-run.
  7. La réponse de Google est enregistrée dans l’enregistrement de file d’attente ainsi que dans les logs API.
  8. En cas d’erreurs temporaires, le module peut planifier une nouvelle tentative avec délai.

Ainsi, l’envoi des URL ne dépend pas d’un simple clic ni d’un request direct depuis le panneau d’administration. Tout le processus est mis en file, auditable et plus résistant aux problèmes temporaires avec l’API.

Fonctionnalités principales

  • file d’attente centrale d’URL pour différentes sources de contenu,
  • prise en charge des actions URL_UPDATED et URL_DELETED,
  • import manuel de plusieurs URL depuis le panneau d’administration,
  • actions de masse pour les produits et les pages CMS,
  • boutons de soumission d’indexation sur les écrans d’édition de produit, de catégorie et de page CMS,
  • intégration optionnelle avec Amasty Blog sous forme de module séparé,
  • normalisation et validation des URL,
  • whitelist des hôtes autorisés,
  • prise en charge des store view et identification de la source de la soumission,
  • déduplication des soumissions actives,
  • délai d’envoi, c’est-à-dire indexing lag,
  • priorités et action Transmit Now,
  • traitement par cron,
  • contrôle des limites quotidiennes et par minute,
  • nouvelles tentatives différées pour les erreurs temporaires,
  • statuts de file d’attente : scheduled, pending, processing, success, retry, failed_permanent, cancelled,
  • mode dry-run pour des tests sûrs sans envoyer de requests réels,
  • logs API et rétention des logs,
  • test credentials et metadata dans l’assistant de configuration.

À qui s’adresse ce module

Le module convient aux boutiques Magento 2 qui :

  • mettent fréquemment à jour leur offre produit,
  • publient ou modifient de nombreuses pages CMS,
  • mènent des actions SEO sur plusieurs types de contenus,
  • ont besoin de contrôler quelles URL ont été soumises à Google,
  • souhaitent réduire la gestion manuelle des soumissions,
  • travaillent dans un environnement multistore ou multilanguage,
  • ont besoin d’un audit lisible des requests envoyés à Google.

Cette solution est particulièrement utile pour les équipes e-commerce, SEO et administratives qui souhaitent disposer d’un processus commun et structuré pour soumettre à Google les changements de la boutique.

Produits nouveaux ou modifiés

Après l’ajout d’un nouveau produit ou une modification importante d’un produit existant, l’administrateur peut transmettre son adresse à la file d’attente. Le module prend en charge l’enregistrement de la soumission, le délai approprié, la déduplication et l’envoi ultérieur.

Mise à jour des pages CMS et des landing pages

Lorsque l’équipe marketing publie une nouvelle campagne, une promotion ou une page d’information, l’URL peut être ajoutée à la file d’attente sans travail manuel en dehors de Magento.

Organisation des adresses après les changements sur le site

Le module prend en charge non seulement les soumissions de mise à jour, mais aussi l’action URL_DELETED. Il est ainsi possible de transmettre à Google des informations sur les adresses qui devraient être supprimées de l’index, à condition que le scénario soit conforme aux règles d’utilisation de l’API.

Actions SEO de masse

Lors de changements importants dans la boutique, comme la mise à jour de nombreux produits, la migration de contenus ou le rafraîchissement des catégories, l’administrateur peut utiliser les actions de masse et suivre l’avancement dans la file d’attente.

Impact métier

La mise en œuvre du module donne à l’équipe un meilleur contrôle sur la soumission technique des changements à Google. Au lieu d’actions dispersées, manuelles et difficiles à vérifier, un processus unique est créé : l’adresse arrive dans la file d’attente, passe la validation, est envoyée dans le respect des limites, et le résultat est visible dans le panneau d’administration.

La valeur principale du module est de structurer le travail autour de l’indexation : moins de requests aléatoires, moins de doublons, un meilleur diagnostic et une responsabilité plus claire sur ce qui a été soumis à Google.

Périmètre officiel de Google Indexing API

Selon la documentation Google , l’API est destinée aux pages avec JobPosting ou BroadcastEvent intégré dans VideoObject. Les pages ordinaires de produits, catégories, CMS et articles de blog ne font pas partie du périmètre officiellement pris en charge, même si le module peut techniquement mettre leurs URL en file d’attente.

Une réponse HTTP 200 et le statut success indiquent que la soumission a réussi. Metadata confirme la notification, et non la date d’indexation ou de suppression de la page. Pour URL_DELETED, l’adresse doit renvoyer 404/410 ou contenir noindex.

Assistant de configuration et premier lancement

Stores → Configuration → Services → Google Indexing API couvre le compte de service, les hôtes, Store View, les limites et dry-run. Vous avez besoin d’une API active dans Google Cloud, d’une propriété Search Console vérifiée et des autorisations appropriées pour le compte de service.

Marketing → Google Indexing API donne accès à Setup Assistant, Indexing Queue et Import URLs. Commencez par dry-run ainsi que les tests credentials et metadata, vérifiez cron, puis activez l’envoi réel pour le périmètre approprié.

Intégration Amasty Blog et nouvelles sources

La prise en charge de l’action de masse pour Amasty Blog est un package séparé kowal/module-google-indexing-api-amasty-blog. Le module principal ne nécessite pas Amasty Blog.

Une nouvelle source peut transmettre l’URL, l’action URL_UPDATED ou URL_DELETED, la source, l’entité et le store ID via IndexingRequestSchedulerInterface. La file d’attente commune prend en charge la planification, la validation, la déduplication et les nouvelles tentatives.

Installation via Composer

Package kowal/module-google-indexing-api, module Kowal_GoogleIndexingApi. Après avoir configuré l’accès au dépôt Kowal, installez le package, activez le module, mettez Magento à jour et videz le cache. En production, prévoyez la compilation et le déploiement du contenu statique conformément au processus de la boutique.

De la configuration au résultat

1. Vous configurez l’accès et le périmètre
Vous vérifiez le compte de service, les hôtes et les Store View autorisées.

2. Vous ajoutez des adresses à la file d’attente
Vous utilisez l’import, les actions de masse ou les boutons.

3. Vous suivez le traitement
Cron gère l’envoi, les limites, le résultat et les nouvelles tentatives.

Contrôle du déroulement des soumissions

Vous importez les adresses autorisées par les règles de l’API et les vérifiez d’abord en dry-run. Dans la file d’attente, vous contrôlez la source, l’action et l’heure planifiée.

Après l’activation de l’envoi, vous analysez la réponse et les retry. Le statut success confirme l’acceptation du request, et non l’apparition de la page dans les résultats Google.

Structurez les soumissions et le diagnostic API

Vous souhaitez adapter le module à votre boutique ? Demandez la mise en œuvre de Kowal Google Indexing API et discutez de la configuration ou des extensions nécessaires.

Caractéristiques

Addtocart Description

DÉMO

nom d’utilisateur : indexing
mot de passe : M2Indexing

Compatibilité avec le modèle Luma / Blank, KOWAL

Notice d'installation du module

Google Indexing API pour Magento 2 - installation et configuration

1. Informations importantes avant le déploiement

Le module intègre Magento 2 à Google Indexing API et permet d’ajouter des URL à une file d’attente centrale de soumissions. La file d’attente est traitée par cron Magento, et chaque soumission est validée, dédupliquée, soumise aux limites et journalisée.

Conformément à la documentation Google, Indexing API est officiellement destinée principalement aux pages contenant des données structurées :

  • JobPosting,
  • BroadcastEventintégré dansVideoObject.

L’utilisation de l’API pour les produits, catégories, pages CMS ou articles de blog ne garantit ni indexation ni position dans les résultats de recherche. Le module est un outil technique de soumission d’URL, pas un remplacement des sitemaps XML, canonical corrects, robots, hreflang, liens internes et de la qualité SEO générale.

Ressources officielles Google :

2. Prérequis

Avant l’installation, assurez-vous que l’environnement répond aux exigences :

  • Magento 2.4.x,
  • PHP 8.1 ou plus récent,
  • Composer,
  • cron Magento fonctionnel,
  • possibilité d’installer le packagegoogle/apiclient,
  • accès administrateur à Magento,
  • projet Google Cloud avec Indexing API activée,
  • propriété dans Google Search Console vérifiée pour le domaine de la boutique,
  • compte de service Google ajouté comme propriétaire dans Google Search Console.

Le module nécessite le package :

google/apiclient:^2.16

Le package est déclaré dans lecomposer.jsondu module, Composer devrait donc l’installer automatiquement.

3. Installation du module

3.1. Installation via Composer

Ajoutez le dépôt Composer Kowal au projet Magento :

Les identifiants d’accès au dépôt Composer, c’est-à-dire l’adresse e-mail du client et le token de licence, vous seront envoyés par e-mail après l’achat. Ils sont également disponibles dans l’espace client après connexion sur kowal.store. Remplacez TWOJ_EMAIL_KLIENTA par l’adresse e-mail de votre compte et TWOJ_TOKEN par le token reçu. Exécutez les commandes dans le répertoire racine de Magento.

composer config repositories.kowal composer https://repo.kowal.store

Configurez les identifiants d’accès au dépôt Composer Kowal :

composer config http-basic.repo.kowal.store "TWOJ_EMAIL_KLIENTA" "TWOJ_TOKEN"

Installez le package :

composer require kowal/module-google-indexing-api

Activez le module :

bin/magento module:enable Kowal_GoogleIndexingApi

Effectuez la mise à jour du schéma de base de données :

bin/magento setup:upgrade

Videz le cache :

bin/magento cache:flush

En mode production, exécutez également :

bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush

3.2. Installation locale dansapp/code

Si le module est installé sans Composer comme code local, placez-le dans le répertoire :

app/code/Kowal/GoogleIndexingApi

Installez ensuite la dépendance Google API Client dans le projet Magento :

composer require google/apiclient:^2.16

Activez le module et exécutez les commandes Magento standard :

bin/magento module:enable Kowal_GoogleIndexingApi
bin/magento setup:upgrade
bin/magento cache:flush

Pour la production :

bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush

3.3. Vérification de l’installation

Vérifiez que le module est actif :

bin/magento module:status Kowal_GoogleIndexingApi

Après une installation correcte, les éléments suivants doivent être disponibles dans le panneau d’administration :

  • Stores > Configuration > Kowal > Google Indexing API,
  • menu d’administrationGoogle Indexing API > Indexing Queue,
  • Google Indexing API > Import URLs,
  • Google Indexing API > API Logs,
  • Google Indexing API > Setup Assistant.

Les tables suivantes doivent être créées dans la base de données :

  • kowal_google_indexing_queue,
  • kowal_google_indexing_api_log.

4. Préparation de Google Cloud et Search Console

4.1. Création du projet Google Cloud

  1. Accédez à Google Cloud Console.
  2. Créez un nouveau projet ou sélectionnez un projet existant utilisé pour la boutique.
  3. Activez l’API :
Indexing API

Sans API activée, le module ne pourra pas envoyer correctement les soumissions.

4.2. Création du compte de service

  1. Dans Google Cloud, accédez àIAM & Admin > Service Accounts.
  2. Créez un nouveau compte de service.
  3. Générez une clé au format JSON.
  4. Téléchargez le fichier JSON et conservez-le en lieu sûr.

Le module exige que le JSON contienne au minimum les champs :

  • type,
  • project_id,
  • private_key,
  • client_email.

Le champtype doit avoir la valeur :

service_account

4.3. Ajout du compte de service comme propriétaire dans Search Console

  1. Ouvrez Google Search Console.
  2. Sélectionnez la propriété correspondant au domaine de la boutique.
  3. Assurez-vous que la propriété est vérifiée.
  4. Ajoutez l’adresseclient_emaildu fichier JSON comme propriétaire de la propriété.

Exemple d’adresse de compte de service :

my-service-account@project-name.iam.gserviceaccount.com

Si le compte de service n’est pas propriétaire de la propriété Search Console, Google peut renvoyer des erreurs d’autorisation, par exemple absence de confirmation de propriété de l’URL.

5. Configuration du module dans Magento

La configuration se trouve dans :

Stores > Configuration > Kowal > Google Indexing API

La configuration prend en charge les scopes Magento :

  • Default Config,
  • Website,
  • Store View.

Cela permet d’avoir des paramètres séparés pour différentes boutiques ou vues boutique si le projet l’exige.

6. Section General

Enable

Par défaut :

No

Active ou désactive le fonctionnement du module.

Lorsque le champ vautNo, cron ne traite pas la file d’attente. Les adresses peuvent exister dans la base, mais le processeur de file ne les enverra pas à Google.

Recommandation :

  • lors de la première configuration, définissezNoou laissezDry Run = Yes,
  • après des tests réussis, définissezYes.

Dry Run

Par défaut :

Yes

Mode de test. LorsqueDry Runest activé, le module traite les enregistrements de la file, enregistre les statuts et les logs, mais n’envoie pas de soumission réelle à Google.

C’est le mode le plus sûr pour le premier lancement, les tests de configuration et la vérification que les URL arrivent dans la file d’attente comme prévu.

Recommandation :

  • effectuez toujours les premiers tests avecDry Run = Yes,
  • désactivezDry Rununiquement après avoir vérifié credentials, allowed hosts, la file d’attente et les logs.

7. Section Google Access Credentials

Credentials Source

Par défaut :

Encrypted configuration value

Définit d’où le module récupère le JSON du compte de service Google.

Options disponibles :

Option Valeur technique Description
Encrypted configuration value config Le JSON est collé dans la configuration Magento et enregistré comme valeur sensitive config chiffrée.
Uploaded JSON file file Le JSON est téléversé comme fichier et enregistré hors du répertoirepub, dansvar/google-indexing.

Recommandation :

  • pour les déploiements simples, vous pouvez utiliser la valeur chiffrée dans la configuration,
  • pour les environnements avec contrôle d’accès aux fichiers, l’upload du fichier JSON peut être plus pratique.

Service Account JSON

Visible lorsqueCredentials Source = Encrypted configuration value.

Dans ce champ, collez le contenu complet du fichier JSON du compte de service Google.

Le module valide le JSON avant l’enregistrement. Sont vérifiés :

  • validité du format JSON,
  • présence des champstype,project_id,private_key,client_email,
  • valeurtype = service_account.

La valeur est enregistrée comme configuration Magento chiffrée.

Service Account JSON File

Visible lorsqueCredentials Source = Uploaded JSON file.

Permet de téléverser le fichier JSON du compte de service Google.

Le module :

  • n’accepte que les fichiers avec l’extension.json,
  • valide le contenu du fichier,
  • vérifie les champs requistype,project_id,private_key,client_email,
  • enregistre le fichier hors du répertoire public, dansvar/google-indexing,
  • tente de définir les permissions du fichier sur0600, si le pilote de fichiers le permet.

Le fichier est enregistré avec un nom dépendant du scope de configuration, par exemple pour le scope global :

var/google-indexing/service-account-default-0.json

Google Cloud Project ID

Champ texte pour l’identifiant du projet Google Cloud.

Dans l’implémentation actuelle du module, l’autorisation principale repose sur les données du JSON du compte de service. Le champGoogle Cloud Project IDa une fonction informative et d’organisation de la configuration, en particulier lorsque la boutique utilise plusieurs environnements ou plusieurs projets Google Cloud.

Recommandation :

  • saisissez la valeurproject_iddu fichier JSON,
  • utilisez des projets Google Cloud séparés pour les environnements de production et de test si cette séparation est prévue dans le projet.

8. Section Queue and Limits

Daily Publish Limit

Par défaut :

200

Définit le nombre maximal de soumissions publish que le module peut effectuer en une journée.

Le limiter compte les requests de type :

  • publish,
  • publish_dry_run.

Si la limite est utilisée, le processeur de file ne récupérera pas d’autres enregistrements à envoyer jusqu’à la prochaine fenêtre quotidienne.

Recommandation :

  • laissez200si le projet utilise la limite d’onboarding Google par défaut,
  • augmentez la valeur uniquement si le projet Google Cloud dispose d’une limite plus élevée approuvée,
  • le réglage0bloque l’envoi, car le nombre de slots disponibles sera0.

Requests Per Minute Limit

Par défaut :

60

Définit le nombre maximal de requests publish par minute.

Le module compare cette valeur avec le nombre de requests enregistrés dans les logs de la dernière minute. Si la limite par minute est atteinte, cron ne traitera pas d’autres enregistrements lors du passage donné.

Recommandation :

  • pour un déploiement typique, laissez la valeur par défaut,
  • diminuez la valeur si vous souhaitez solliciter l’API de manière plus conservatrice,
  • ne définissez pas0, sauf si vous souhaitez arrêter temporairement les envois.

Cron Batch Size

Par défaut :

20

Définit le nombre maximal d’enregistrements de file d’attente traités lors d’un passage cron.

Le nombre réel d’enregistrements traités est également limité par :

  • Daily Publish Limit,
  • Requests Per Minute Limit,
  • le nombre d’enregistrements prêts à être envoyés,
  • le statut et la datescheduled_at.

Recommandation :

  • 20est une valeur de départ sûre,
  • pour les grandes files d’attente, la valeur peut être augmentée, mais uniquement en tenant compte des limites Google.

Default Indexing Lag (minutes)

Par défaut :

15

Définit le délai par défaut entre l’ajout d’une URL à la file d’attente et le moment à partir duquel elle peut être envoyée.

Le délai aide à :

  • réduire les doublons,
  • éviter l’envoi après chaque petite modification,
  • donner à l’administrateur le temps de corriger le contenu,
  • mieux gérer la limite API.

Dans l’implémentation actuelle, ce paramètre est utilisé lorsque la soumission n’a pas son propre délai.

Manual Form Indexing Lag (minutes)

Par défaut :

15

Définit le délai pour les URL ajoutées via le formulaire :

Google Indexing API > Import URLs

Si l’administrateur colle manuellement une liste d’URL, chaque adresse valide sera planifiée avec ce délai.

Recommandation :

  • définissez0si l’import manuel doit arriver immédiatement dans la file d’attente,
  • laissez15si vous souhaitez conserver une marge pour la déduplication et le contrôle des soumissions.

Mass Action Indexing Lag (minutes)

Par défaut :

15

Définit le délai pour les URL ajoutées via :

  • actions de masse sur les produits,
  • actions de masse sur les pages CMS,
  • boutons de soumission d’indexation sur les écrans d’édition de produit, catégorie et page CMS.

Recommandation :

  • pour les opérations de masse, laissez la valeur15ou plus,
  • pour les petites boutiques et le travail administratif manuel, une valeur plus faible peut être envisagée.

Max Attempts

Par défaut :

5

Définit le nombre maximal de tentatives d’envoi d’un enregistrement de file d’attente.

Si Google renvoie une erreur temporaire, le module définira le statutretry, à condition que le nombre de tentatives soit inférieur àMax Attempts. Après dépassement de la limite, l’enregistrement recevra le statutfailed_permanent.

Erreurs considérées comme temporaires :

  • 408,
  • 409,
  • 412,
  • 429,
  • 500,
  • 502,
  • 503,
  • 504.

Retry Delay (minutes)

Par défaut :

15

Délai de base avant la tentative d’envoi suivante après une erreur temporaire.

Cron utilise un délai croissant. Le multiplicateur dépend du nombre de tentatives et est plafonné à24. Ainsi, les tentatives suivantes ne sont pas effectuées de manière trop agressive.

Exemple pour la valeur15:

Tentative Délai approximatif
1 15 minutes
2 30 minutes
3 60 minutes
4 120 minutes

Allowed Source Types

Par défaut :

manual,product,category,cms_page,amasty_blog_post

Liste des types de sources autorisés, séparés par des virgules.

Valeurs prises en charge :

Valeur Signification
manual URL ajoutée manuellement via le formulaire d’import.
product URL produit.
category URL catégorie.
cms_page URL de page CMS.
amasty_blog_post URL d’article Amasty Blog, si le module d’intégration séparé est utilisé.

Si le type de source ne figure pas dans la liste, le scheduler ignorera la soumission et la marquera commeskipped.

Recommandation :

  • laissez les valeurs par défaut si la boutique utilise toutes les sources standard,
  • supprimez les sources que vous ne souhaitez pas autoriser dans la file d’attente.

Allowed URL Hosts

Par défaut :

puste

Liste des hôtes URL autorisés, séparés par des virgules.

Exemple :

example.com,www.example.com

Si la liste est renseignée, le module n’acceptera que les adresses appartenant aux hôtes indiqués. Si l’URL a un autre hôte, la validation renverra l’erreur :

host_not_allowed

Recommandation :

  • en production, renseignez toujours cette liste,
  • ajoutez tous les hôtes utilisés par la boutique, par exemple le domaine principal, la versionwww, les domaines de store view et les domaines linguistiques,
  • n’ajoutez pas de domaines de test à la configuration de production.

Require HTTPS URLs

Par défaut :

Yes

Impose que les URL soumises utilisent le schémahttps.

Lorsque le champ est activé, une adresse avechttp sera rejetée avec l’erreur :

https_required

Recommandation :

  • pour les boutiques de production, conservezYes,
  • Noà utiliser uniquement dans des environnements de test exceptionnels.

9. Section Auto-Indexing

Enable Auto-Indexing

Par défaut :

No

Le champ est prévu pour les intégrations automatiques d’enregistrement ou de suppression d’entités et des providers d’URL supplémentaires.

Dans le périmètre actuel du module, des mécanismes manuels et administratifs d’ajout d’URL à la file d’attente sont disponibles, notamment l’import d’URL, les Mass Actions et les boutons sur les formulaires d’édition.

Recommandation :

  • laissezNosi auto-indexing n’a pas été déployé dans le projet,
  • activez-le seulement lorsque le projet inclut la prise en charge d’événements automatiques d’entités utilisant cette configuration.

10. Section Logs

API Log Retention Days

Par défaut :

90

Définit le nombre de jours de conservation des logs API.

Le cron de nettoyage des logs s’exécute chaque jour à :

03:15

Il supprime les entrées plus anciennes que le nombre de jours défini dans ce champ.

Recommandation :

  • 90jours est une valeur raisonnable pour le diagnostic,
  • en cas de grand nombre de requests, la rétention peut être réduite,
  • pour les audits SEO, la rétention peut être augmentée en tenant compte de la taille de la table de logs.

11. Assistant d’installation et de configuration

L’assistant se trouve dans :

Google Indexing API > Setup Assistant

Son objectif est de vérifier rapidement si la configuration côté Magento et Google est prête pour le premier test.

11.1. Section Current Status

L’assistant affiche l’état actuel des éléments les plus importants :

Le champ Signification
Module Indique si le module est activé dans la configuration.
Dry Run Indique si le mode de test sans envoi réel à Google est actif.
Credentials Indique si le module peut lire et parser les credentials Google.
Service Account Email Afficheclient_emaildu JSON du compte de service. Cette adresse doit être ajoutée comme propriétaire dans Search Console.
Allowed Hosts Affiche la liste des hôtes autorisés dans la configuration.
Queue Affiche le nombre d’enregistrements dans les statutsscheduled,pending,retryetfailed_permanent.

SiCredentialsa le statutMissing or invalid, retournez dans la configuration et corrigez le JSON ou le fichier credentials.

SiAllowed HostsafficheNot configured, le module ne limite pas les hôtes. Techniquement, cela peut fonctionner, mais en production il est recommandé d’indiquer explicitement les hôtes de la boutique.

11.2. Section Setup Steps

L’assistant affiche la liste des étapes nécessaires avant le premier request réel :

  1. Création ou sélection d’un projet Google Cloud.
  2. Activation d’Indexing API et création d’une JSON key pour le compte de service.
  3. Collage du JSON ou téléversement du fichier JSON dans la configuration Magento.
  4. Ajout du service account email comme propriétaire dans Google Search Console.
  5. Lancement des tests, puis import d’une URL avecDry Run.

L’assistant contient des liens vers :

  • Google Cloud pour Indexing API,
  • la configuration du module dans Magento,
  • Google Search Console.

11.3. Test Google Credentials

Bouton :

Test Google Credentials

vérifie si Magento peut utiliser les données du compte de service pour obtenir un token OAuth pour le scope :

https://www.googleapis.com/auth/indexing

Un résultat positif signifie que :

  • le JSON est valide,
  • la clé privée peut être utilisée,
  • Google a délivré un token OAuth.

Un résultat négatif peut indiquer :

  • un JSON invalide,
  • un élément incorrect ou endommagé :private_key,
  • un champ requis manquant dans le JSON,
  • un problème de communication avec Google,
  • une clé qui n’est pas celle d’un compte de service.

Ce test ne confirme pas encore que le compte de service possède l’accès propriétaire au domaine dans Search Console. Un test URL metadata ou la soumission réelle d’une URL de test est nécessaire.

11.4. Test URL Metadata

Formulaire :

Test URL Metadata

permet de saisir une URL publique depuis un hôte autorisé et d’effectuer un request metadata vers Google Indexing API.

Avant d’envoyer le request, le module :

  • normalise l’URL,
  • vérifie que l’URL est absolue,
  • vérifie le schémahttpouhttps,
  • avecRequire HTTPS URLsactivé, exigehttps,
  • vérifieAllowed URL Hostssi ceux-ci ont été configurés.

Résultats possibles :

Résultat Signification
Succès HTTP 2xx Google a renvoyé les metadata pour l’URL.
HTTP 404 Signifie souvent que l’URL n’a pas encore fait l’objet d’une soumission efficace antérieure via Indexing API. Cela ne signifie pas nécessairement une mauvaise configuration.
Erreur de validation avant la requête L’URL ne respecte pas les conditions du module, par exemple mauvais hôte, absence de HTTPS ou adresse non absolue.
Erreur HTTP autre que 404 Vérifiez le message Google, les autorisations Search Console, les credentials et les limites.

Le test metadata ne crée pas de nouvelle soumission publish. Il sert au diagnostic de la connexion et du statut de l’URL.

12. Première exécution étape par étape

Ordre recommandé pour le premier lancement :

  1. Installez le module et exécutezsetup:upgrade.
  2. Dans Magento, accédez àStores > Configuration > Kowal > Google Indexing API.
  3. DéfinissezEnable = Yes.
  4. LaissezDry Run = Yes.
  5. Choisissez la source des credentials.
  6. Collez le JSON du compte de service ou téléversez le fichier JSON.
  7. RenseignezGoogle Cloud Project IDavec la valeurproject_iddu JSON.
  8. RenseignezAllowed URL Hosts, par exempleexample.com,www.example.com.
  9. Laissez les limites par défaut si Google n’a pas approuvé de limites plus élevées.
  10. Enregistrez la configuration et videz le cache.
  11. Accédez àGoogle Indexing API > Setup Assistant.
  12. Vérifiez que l’assistant affiche les credentials comme prêts.
  13. Cliquez surTest Google Credentials.
  14. Ajoutez le service account email comme propriétaire dans Google Search Console si cela n’a pas encore été fait.
  15. ExécutezTest URL Metadatapour une URL publique d’un hôte autorisé.
  16. Accédez àGoogle Indexing API > Import URLs.
  17. Ajoutez une URL de test avec l’actionURL_UPDATED.
  18. Lancez cron Magento :
bin/magento cron:run
19. VérifiezGoogle Indexing API > Indexing Queue.
20. VérifiezGoogle Indexing API > API Logs.
21. Si tout fonctionne correctement, désactivezDry Run.
22. Ajoutez à nouveau une URL de test et vérifiez la réponse réelle de Google.

13. Import d’URL depuis l’administration

L’import manuel se trouve dans :

Google Indexing API > Import URLs

Le formulaire contient les champs :

Le champ Description
Action Type de soumission à Google : ajout/mise à jour ou suppression.
Store View Store view à laquelle la soumission doit être associée. Une option globaleUse global/no store.
URLs Liste d’URL absolues, une adresse par ligne.

Actions disponibles :

Action dans le formulaire Valeur API Signification
Submit URLs for indexing URL_UPDATED Indique à Google que l’URL a été ajoutée ou mise à jour.
Delete URLs from indexing URL_DELETED Indique à Google que l’URL a été supprimée et peut être retirée de l’index.

Après l’envoi du formulaire, le module affiche un résumé :

  • ajoutées,
  • mises à jour,
  • dédupliquées,
  • invalides,
  • ignorées.

Les 10 premiers messages de validation sont affichés comme notice dans le panneau d’administration.

14. File d’indexation

La file d’attente se trouve dans :

Google Indexing API > Indexing Queue

Chaque enregistrement de la file contient notamment :

  • URL,
  • hash de l’URL,
  • store ID,
  • website ID,
  • type de source,
  • ID de l’entité source,
  • origine du request,
  • actionURL_UPDATEDouURL_DELETED,
  • statut,
  • priorité,
  • nombre de tentatives,
  • nombre maximal de tentatives,
  • date d’envoi planifiée,
  • date de traitement,
  • dernier code d’erreur,
  • dernière raison d’erreur,
  • dernier message d’erreur,
  • la réponse Google,
  • informationcreated_by.

Statuts de la file d’attente

Statut Signification
scheduled L’URL est planifiée, mais attend encore la datescheduled_at.
pending L’URL est prête à être traitée par cron.
processing L’URL est en cours de traitement.
success Google a renvoyé une réponse de succès.
retry Une erreur temporaire s’est produite et l’enregistrement attend une nouvelle tentative.
failed_permanent L’envoi a échoué définitivement ou le nombre maximal de tentatives a été dépassé.
cancelled L’enregistrement a été annulé manuellement.

Actions sur les enregistrements de file d’attente

Action Fonctionnement
Transmit Now Marque l’enregistrement comme urgent, le verrouille, l’envoie immédiatement via le client Google et enregistre le résultat.
Retry Définit l’enregistrement commepending, supprime le verrou et planifie immédiatement une nouvelle tentative.
Cancel Définit le statutcancelledet supprime le verrou.

Remarque :Transmit Noweffectue un request réel siDry Run = No. AvecDry Run = Yes, un log dry-run sera enregistré sans envoi réel à Google.

15. Cron

Le module ajoute deux tâches cron dans le groupedefault.

Traitement de la file d’attente

kowal_google_indexing_process_queue

Planification :

*/5 * * * *

La tâche lance le processeur de file toutes les 5 minutes.

Le processeur :

  1. Vérifie si le module est activé.
  2. Libère les anciens verrous des enregistrementsprocessingdatant de plus de 30 minutes.
  3. Déplace les enregistrementsscheduledverspendingsischeduled_at <= now.
  4. Vérifie les slots disponibles dans les limites quotidienne et par minute.
  5. Récupère les enregistrementspendingetretry.
  6. Les trie par priorité et date d’envoi planifiée.
  7. Envoie le request à Google ou effectue un dry-run.
  8. Enregistre la réponse, le statut et le log API.

Nettoyage des logs

kowal_google_indexing_cleanup_logs

Planification :

15 3 * * *

La tâche supprime les logs API plus anciens que le nombre de jours défini dans le champ :

API Log Retention Days

16. Logs API

Les logs sont disponibles dans :

Google Indexing API > API Logs

Le log comprend :

  • ID de l’enregistrement de file,
  • store ID,
  • type de request,
  • URL de l’endpoint,
  • payload,
  • statut HTTP,
  • body de la réponse,
  • durée du request,
  • date de création du log.

Types de requests :

Type Signification
publish Soumission réelle de l’URL à Google.
publish_dry_run Traitement en mode dry-run sans request réel vers Google.
metadata Test metadata pour l’URL.

17. Mass Actions et boutons d’administration

Le module ajoute des mécanismes de soumission d’URL depuis le panneau d’administration.

Produits

Sur la grille des produits, une action de masse permet d’ajouter les URL des produits à la file d’attente.

Le module ignore les produits :

  • désactivés,
  • non visibles individuellement.

Les URL sont générées à partir des URL rewrites pour les store view actives.

Pages CMS

Sur la grille des pages CMS, une action de masse permet d’ajouter les URL des pages à la file d’attente.

Le module ignore les pages inactives.

Si la page CMS est affectée à toutes les store view, le module résout les URL pour toutes les store view.

Produit, catégorie et page CMS - boutons sur le formulaire d’édition

Le module ajoute des boutons de soumission d’indexation sur les écrans d’édition :

  • produit,
  • catégorie,
  • page CMS.

Le bouton résout les URL de l’entité pour les store view et les ajoute à la file d’attente commeURL_UPDATED.

18. Configuration initiale recommandée

Pour un premier déploiement en production :

Le champ Recommandation
Enable Yesaprès l’enregistrement des credentials et allowed hosts.
Dry Run Yespendant les tests, puisNo.
Credentials Source Encrypted configuration valueouUploaded JSON file, selon la politique du projet.
Google Cloud Project ID project_iddu JSON.
Daily Publish Limit 200, sauf si Google a approuvé une limite plus élevée.
Requests Per Minute Limit 60ou moins pour un déploiement prudent.
Cron Batch Size 20.
Default Indexing Lag 15.
Manual Form Indexing Lag 0-15, selon la méthode de travail des administrateurs.
Mass Action Indexing Lag 15.
Max Attempts 5.
Retry Delay 15.
Allowed Source Types manual,product,category,cms_page,amasty_blog_post.
Allowed URL Hosts Tous les hôtes de production de la boutique.
Require HTTPS URLs Yes.
Enable Auto-Indexing No, sauf si le projet déploie des providers automatiques.
API Log Retention Days 90.

19. Problèmes courants et diagnostic

Credentials test failed

Vérifiez :

  • si le JSON est correct,
  • si le JSON provient d’un compte de service,
  • s’il contientprivate_keyetclient_email,
  • si le champtypea la valeurservice_account,
  • si le fichier JSON n’a pas été endommagé lors du collage.

Google renvoie une erreur d’autorisation

Vérifiez :

  • si le domaine est vérifié dans Search Console,
  • siclient_emaildu compte de service est ajouté comme propriétaire,
  • si l’URL testée appartient à la même propriété Search Console,
  • si vous utilisez le bon projet Google Cloud et le bon JSON.

L’URL est rejetée avant l’envoi

Vérifiez le message de validation :

Message Cause
empty_url URL vide.
url_too_long L’URL dépasse 2048 caractères.
url_not_absolute L’URL n’a pas de schéma ou d’hôte.
https_required L’exigence HTTPS est activée et l’URL utilise HTTP.
invalid_scheme Le schéma n’est nihttpnihttps.
host_not_allowed L’hôte de l’URL ne figure pas dansAllowed URL Hosts.

La file d’attente n’est pas traitée

Vérifiez :

  • siEnable = Yes,
  • si cron Magento fonctionne,
  • si les enregistrements ont le statutpendingouretry,
  • sischeduled_atn’est pas dans le futur,
  • si les limites quotidienne ou par minute ne sont pas utilisées,
  • siDaily Publish LimitetRequests Per Minute Limitne sont pas définis sur0.

Les enregistrements passent enretry

Vérifiez :

  • le statut HTTP dans l’enregistrement de file,
  • le log API,
  • la réponse Google,
  • s’il n’y a pas de limite429,
  • s’il n’y a pas d’erreurs temporaires5xx,
  • siMax AttemptsetRetry Delaysont définis selon vos attentes.

20. Intégration facultative avec Amasty Blog

L’intégration avec Amasty Blog est prévue comme module séparé :

Kowal_GoogleIndexingApiAmastyBlog

Package :

kowal/module-google-indexing-api-amasty-blog

Ce module n’est pas requis pour le fonctionnement de l’intégration principale. Il ne doit être installé que dans les projets qui utilisentamasty/blog et ont besoin d’une action de masse pour les articles de blog.

Cliquer pour passer le carrousel

Nous avons trouvé d'autres produits qui pourraient vous plaire !

Kowal Extension Audit pour Magento 2
0,00 €
Kowal MCP Server pour Magento 2
61,50 €
Rédigez votre propre commentaire
Vous commentez : Google Indexing API pour Magento 2
Votre notation:
Prix
Qualité
Assistance
loader
Chargement...

Votre évaluation est enrégistrée avec succès. Merci.

Modifier les préférences de cookies