Google Indexing API per Magento 2
- SKU
- M2-GOOGLE-INDEXING-API
Descrizione / Google Indexing API per Magento 2
MAGENTO 2 · INVIO URL · CODA · GOOGLE API
Gestisci gli invii degli URL in un'unica coda Magento.
Kowal Google Indexing API
Raccogli gli indirizzi da pannello e integrazioni, controlla duplicati, pianificazione e limiti di invio. Conserva la cronologia delle risposte Google e distingui chiaramente l'accettazione della richiesta dall'indicizzazione della pagina.
Dry Run · Retry e log · Ambito delle API definito da Google
COME FUNZIONA IN PRATICA
01 · Configuri accesso e ambito
Controlli account di servizio, host e Store View consentite.
02 · Aggiungi gli indirizzi alla coda
Usi importazione, azioni di massa o pulsanti.
03 · Monitori l'elaborazione
Il cron gestisce invio, limiti, risultato e nuovi tentativi.
Cosa ottiene il tuo negozio?
Scopri le funzioni, l'utilizzo e le impostazioni del modulo.
Informare Google più rapidamente sulle modifiche del negozio
Il modulo Kowal Google Indexing API per Magento 2 aiuta a inviare più efficacemente a Google gli URL aggiunti, modificati o da rimuovere dall'indice. Invece di attendere soltanto la normale visita successiva del robot Google, l'amministratore può inserire indirizzi selezionati nella coda gestita dalle Google Indexing API.
La soluzione è particolarmente utile nei negozi in cui cambiano spesso contenuti, offerta, disponibilità dei prodotti, pagine CMS, landing page o articoli del blog. Il modulo organizza l'intero processo: raccoglie gli indirizzi da diverse aree Magento, li controlla, elimina duplicati, gestisce limiti e registra la cronologia delle comunicazioni con Google.
Le Google Indexing API sono ufficialmente destinate a pagine con dati strutturati
JobPostingeBroadcastEvent. L'invio di un URL tramite API non garantisce indicizzazione, posizione nei risultati o accettazione di ogni indirizzo da parte di Google. Il modulo supporta l'invio tecnico degli URL e non sostituisce SEO tecnica corretta, sitemap XML, canonical, robots, hreflang e collegamenti interni.
Maggiore controllo dell'invio degli indirizzi
Il modulo offre un unico posto per gestire gli URL in attesa di invio a Google. Prodotti, categorie, pagine CMS, importazione manuale di URL e fonti future possono usare la stessa coda, evitando integrazioni separate per ogni tipo di contenuto.
Meno lavoro manuale dopo le modifiche al negozio
Gli indirizzi possono essere aggiunti alla coda direttamente dal pannello amministrativo Magento. Il modulo offre azioni di massa e pulsanti nelle schermate di modifica di entità selezionate: l'amministratore può richiedere rapidamente l'indicizzazione di una pagina o di un gruppo di indirizzi.
Uso più sicuro dei limiti delle API
Le Google Indexing API hanno limiti. Il modulo considera limiti giornalieri e al minuto, dimensione del lotto elaborato dal cron e ritardo di invio. Gli indirizzi vengono così inviati in modo ordinato, riducendo il rischio di consumare inutilmente la quota disponibile.
Meno duplicati e richieste ripetute
Prima di salvare un indirizzo il modulo normalizza e valida l'URL e controlla se lo stesso indirizzo è già nella coda attiva. Se esiste una richiesta simile, il sistema può aggiornarla o contrassegnarla come deduplicata. Questo limita il disordine nella coda e le richieste inutili a Google.
Maggiore chiarezza per il team
Ogni richiesta ha stato, fonte, azione, priorità, numero di tentativi, data prevista di invio e informazioni sulla risposta Google. L'amministratore vede quali indirizzi sono in attesa, inviati correttamente, da riprovare o conclusi con errore permanente.
Diagnostica dei problemi più semplice
Il modulo registra i log delle comunicazioni con le Google API, inclusi tipo di richiesta, endpoint, payload, stato HTTP, contenuto della risposta e durata. Facilita l'analisi degli errori di configurazione, permessi, limiti o URL inviati.
Pronto per lo sviluppo del negozio
L'architettura si basa su scheduler e coda condivisi. Le nuove fonti di URL non devono comunicare direttamente con Google: passano gli indirizzi alla coda e il processore esistente gestisce validazione, pianificazione, limiti, retry e log.
Come funziona il modulo in pratica
Il modulo agisce come livello intermedio tra Magento e Google Indexing API.
- L'amministratore o l'integrazione seleziona gli URL da inviare.
- Il modulo normalizza e valida gli URL, controllando tra l'altro schema, host e fonti consentite.
- Gli indirizzi validi entrano nella coda centrale con stato, azione e data di invio appropriati.
- Il cron Magento recupera periodicamente i record pronti per l'elaborazione.
- Il processore rispetta limiti, priorità, ritardi e blocchi dei record.
- Il modulo invia la richiesta alle Google Indexing API oppure esegue l'elaborazione in modalità dry-run.
- La risposta Google viene salvata nel record della coda e nei log delle API.
- In caso di errori temporanei il modulo può pianificare un nuovo tentativo con ritardo.
L'invio degli URL non dipende così da un singolo clic o da una richiesta diretta dal pannello amministrativo. L'intero processo è in coda, verificabile e più resistente ai problemi temporanei delle API.
Funzioni principali
- coda centrale degli URL per fonti di contenuti diverse,
- supporto delle azioni
URL_UPDATEDeURL_DELETED, - importazione manuale di più URL dal pannello amministrativo,
- azioni di massa per prodotti e pagine CMS,
- pulsanti di richiesta d'indicizzazione nelle schermate di modifica di prodotto, categoria e pagina CMS,
- integrazione Amasty Blog facoltativa come modulo separato,
- normalizzazione e validazione degli URL,
- whitelist degli host consentiti,
- supporto delle store view e identificazione della fonte della richiesta,
- deduplicazione delle richieste attive,
- ritardo di invio, cioè indexing lag,
- priorità e azione
Transmit Now, - elaborazione tramite cron,
- controllo dei limiti giornalieri e al minuto,
- nuovi tentativi ritardati per errori temporanei,
- stati della coda:
scheduled,pending,processing,success,retry,failed_permanent,cancelled, - modalità dry-run per test sicuri senza inviare richieste reali,
- log delle API e loro conservazione,
- test credentials e metadata nell'assistente di configurazione.
A chi è destinato questo modulo
Il modulo è adatto ai negozi Magento 2 che:
- aggiornano spesso l'offerta dei prodotti,
- pubblicano o modificano molte pagine CMS,
- svolgono attività SEO su più tipi di contenuti,
- necessitano di controllare quali URL sono stati inviati a Google,
- vogliono ridurre la gestione manuale degli invii,
- operano in ambienti multistore o multilingue,
- necessitano di un audit chiaro delle richieste a Google.
La soluzione è particolarmente utile ai team e-commerce, SEO e amministrativi che desiderano un processo condiviso e ordinato per segnalare a Google le modifiche del negozio.
Prodotti nuovi o modificati
Dopo aver aggiunto un prodotto o modificato significativamente uno esistente, l'amministratore può inserire il relativo indirizzo nella coda. Il modulo gestisce registrazione, ritardo appropriato, deduplicazione e invio successivo.
Aggiornamento di pagine CMS e landing page
Quando il team marketing pubblica una campagna, promozione o pagina informativa, l'URL può essere aggiunto alla coda senza lavoro manuale fuori da Magento.
Gestione degli indirizzi dopo modifiche al sito
Il modulo supporta gli invii di aggiornamento e anche l'azione URL_DELETED. Permette così di comunicare a Google gli indirizzi da rimuovere dall'indice, purché lo scenario sia conforme alle regole di utilizzo delle API.
Attività SEO di massa
Per modifiche estese, come aggiornamento di molti prodotti, migrazione dei contenuti o revisione delle categorie, l'amministratore può usare azioni di massa e osservare l'avanzamento nella coda.
Risultato per il business
Il modulo offre al team maggiore controllo sull'invio tecnico delle modifiche a Google. Le attività sparse, manuali e difficili da verificare diventano un unico processo: l'indirizzo entra nella coda, viene validato, inviato rispettando i limiti e il risultato appare nel pannello amministrativo.
Il valore principale del modulo è organizzare il lavoro legato all'indicizzazione: meno richieste casuali e duplicati, migliore diagnostica e responsabilità più chiara su ciò che è stato inviato a Google.
Ambito ufficiale delle Google Indexing API
Secondo la documentazione Google le API sono destinate a pagine con JobPosting o BroadcastEvent incorporato in VideoObject. Le normali pagine di prodotti, categorie, CMS e articoli del blog non rientrano nell'ambito ufficialmente supportato, anche se il modulo può tecnicamente mettere in coda i loro URL.
La risposta HTTP 200 e lo stato success indicano che l'invio è riuscito. Metadata conferma la notifica, non la data d'indicizzazione o rimozione della pagina. Per URL_DELETED l'indirizzo deve restituire 404/410 oppure contenere noindex.
Assistente di configurazione e primo avvio
Stores → Configuration → Services → Google Indexing API comprende account di servizio, host, Store View, limiti e dry-run. Servono API attive in Google Cloud, una proprietà Search Console verificata e permessi appropriati per l'account di servizio.
Marketing → Google Indexing API offre Setup Assistant, Indexing Queue e Import URLs. Inizia con dry-run e test credentials e metadata, controlla il cron e poi abilita l'invio reale per l'ambito corretto.
Integrazione Amasty Blog e nuove fonti
L'azione di massa per Amasty Blog è nel pacchetto separato kowal/module-google-indexing-api-amasty-blog. Il modulo principale non richiede Amasty Blog.
Una nuova fonte può passare URL, azione URL_UPDATED o URL_DELETED, fonte, entità e store ID tramite IndexingRequestSchedulerInterface. La coda comune gestisce pianificazione, validazione, deduplicazione e retry.
Installazione tramite Composer
Il pacchetto kowal/module-google-indexing-api, modulo Kowal_GoogleIndexingApi. Dopo aver configurato l'accesso al repository Kowal, installa il pacchetto, abilita il modulo, aggiorna Magento e svuota la cache. In produzione, includi compilazione e deploy dei contenuti statici secondo il processo del negozio.
Dalla configurazione al risultato
1. Configuri accesso e ambito
Controlli account di servizio, host e Store View consentite.
2. Aggiungi gli indirizzi alla coda
Usi importazione, azioni di massa o pulsanti.
3. Monitori l'elaborazione
Il cron gestisce invio, limiti, risultato e nuovi tentativi.
Controllo del percorso degli invii
Importi gli indirizzi consentiti dalle regole delle API e li controlli prima in dry-run. Nella coda verifichi fonte, azione e data prevista.
Dopo aver attivato l'invio analizzi risposta e retry. Lo stato success conferma l'accettazione della richiesta, non la presenza della pagina nei risultati Google.
Organizza invii e diagnostica delle API
Vuoi adattare il modulo al tuo negozio? Richiedi l'implementazione di Kowal Google Indexing API e discuti la configurazione o le estensioni necessarie.
Maggiori Informazioni
| Addtocart Description | DEMOusername: indexing |
|---|---|
| Conformità al modello | Luma / Vuoto, Fabbro |
Istruzioni per l'installazione del modulo
Google Indexing API per Magento 2 - installazione e configurazione
1. Informazioni importanti prima dell'implementazione
Il modulo integra Magento 2 con Google Indexing API e consente di aggiungere URL a una coda centrale di invio. La coda viene elaborata dal cron di Magento e ogni richiesta viene validata, deduplicata, sottoposta a limiti e registrata nei log.
Secondo la documentazione Google, Indexing API è ufficialmente destinata principalmente alle pagine con dati strutturati:
JobPosting,BroadcastEventincorporato inVideoObject.
L'utilizzo dell'API per prodotti, categorie, pagine CMS o post del blog non garantisce l'indicizzazione né il posizionamento nei risultati di ricerca. Il modulo deve essere considerato uno strumento tecnico per inviare URL, non un sostituto di sitemap XML, canonical corretti, robots, hreflang, linking interno e qualità SEO complessiva.
Materiali ufficiali Google:
- https://developers.google.com/search/apis/indexing-api/v3/quickstart
- https://developers.google.com/search/apis/indexing-api/v3/prereqs
- https://developers.google.com/search/apis/indexing-api/v3/using-api
- https://developers.google.com/search/apis/indexing-api/v3/quota-pricing
2. Requisiti
Prima dell'installazione assicurati che l'ambiente soddisfi i requisiti:
- Magento 2.4.x,
- PHP 8.1 o superiore,
- Composer,
- cron Magento funzionante,
- possibilità di installare il pacchetto
google/apiclient, - accesso amministrativo a Magento,
- progetto Google Cloud con Indexing API abilitata,
- proprietà in Google Search Console verificata per il dominio del negozio,
- account di servizio Google aggiunto come proprietario in Google Search Console.
Il modulo richiede il pacchetto:
google/apiclient:^2.16
Il pacchetto è dichiarato nel filecomposer.jsondel modulo, quindi Composer dovrebbe installarlo automaticamente.
3. Installazione del modulo
3.1. Installazione tramite Composer
Aggiungi il repository Composer Kowal al progetto Magento:
I dati di accesso al repository Composer, ovvero l indirizzo e-mail del cliente e il token di licenza, saranno inviati via e-mail dopo l acquisto. Sono disponibili anche nel pannello cliente dopo l accesso su kowal.store. Sostituisci TWOJ_EMAIL_KLIENTA con l indirizzo e-mail del tuo account e TWOJ_TOKEN con il token ricevuto. Esegui i comandi nella directory principale di Magento.
composer config repositories.kowal composer https://repo.kowal.store
Configura i dati di accesso al repository Composer Kowal:
composer config http-basic.repo.kowal.store "TWOJ_EMAIL_KLIENTA" "TWOJ_TOKEN"
Installa il pacchetto:
composer require kowal/module-google-indexing-api
Abilita il modulo:
bin/magento module:enable Kowal_GoogleIndexingApi
Esegui l'aggiornamento dello schema del database:
bin/magento setup:upgrade
Svuota la cache:
bin/magento cache:flush
In modalità produzione, esegui inoltre:
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush
3.2. Installazione locale inapp/code
Se il modulo viene installato senza Composer come codice locale, inseriscilo nella directory:
app/code/Kowal/GoogleIndexingApi
Quindi installa la dipendenza Google API Client nel progetto Magento:
composer require google/apiclient:^2.16
Abilita il modulo ed esegui i comandi Magento standard:
bin/magento module:enable Kowal_GoogleIndexingApi
bin/magento setup:upgrade
bin/magento cache:flush
Per la produzione:
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush
3.3. Verifica dell'installazione
Controlla se il modulo è attivo:
bin/magento module:status Kowal_GoogleIndexingApi
Dopo una corretta installazione, nel pannello di amministrazione dovrebbero essere disponibili:
Stores > Configuration > Kowal > Google Indexing API,- menu amministrativo
Google Indexing API > Indexing Queue, Google Indexing API > Import URLs,Google Indexing API > API Logs,Google Indexing API > Setup Assistant.
Nel database dovrebbero essere create le tabelle:
kowal_google_indexing_queue,kowal_google_indexing_api_log.
4. Preparazione di Google Cloud e Search Console
4.1. Creazione di un progetto Google Cloud
- Vai a Google Cloud Console.
- Crea un nuovo progetto oppure seleziona un progetto esistente utilizzato per il negozio.
- Abilita l'API:
Indexing API
Senza l'API abilitata, il modulo non potrà inviare correttamente le richieste.
4.2. Creazione dell'account di servizio
- In Google Cloud vai a
IAM & Admin > Service Accounts. - Crea un nuovo account di servizio.
- Genera una chiave in formato JSON.
- Scarica il file JSON e conservalo in modo sicuro.
Il modulo richiede che il JSON contenga almeno i campi:
type,project_id,private_key,client_email.
Campotype deve avere il valore:
service_account
4.3. Aggiunta dell'account di servizio come proprietario in Search Console
- Apri Google Search Console.
- Seleziona la proprietà corrispondente al dominio del negozio.
- Assicurati che la proprietà sia verificata.
- Aggiungi l'indirizzo
client_emaildel file JSON come proprietario della proprietà.
Esempio di indirizzo dell'account di servizio:
my-service-account@project-name.iam.gserviceaccount.com
Se l'account di servizio non sarà proprietario della proprietà Search Console, Google potrebbe restituire errori di autorizzazione, ad esempio mancanza di conferma della proprietà dell'URL.
5. Configurazione del modulo in Magento
La configurazione si trova in:
Stores > Configuration > Kowal > Google Indexing API
La configurazione supporta gli ambiti Magento:
- Default Config,
- Website,
- Store View.
In questo modo è possibile avere impostazioni separate per diversi negozi o store view, se il progetto lo richiede.
6. Sezione General
Enable
Predefinita:
No
Abilita o disabilita il funzionamento del modulo.
Quando il campo ha valoreNo, il cron non elabora la coda. Gli indirizzi possono esistere nel database, ma il processore della coda non li invierà a Google.
Raccomandazione:
- durante la prima configurazione imposta
Nooppure lasciaDry Run = Yes, - dopo test corretti imposta
Yes.
Dry Run
Predefinita:
Yes
Modalità di test. QuandoDry Runè abilitato, il modulo elabora i record della coda, salva stati e log, ma non invia una richiesta reale a Google.
È la modalità più sicura per il primo avvio, i test di configurazione e la verifica che gli URL arrivino in coda come previsto.
Raccomandazione:
- esegui sempre i primi test con
Dry Run = Yes, - disabilita
Dry Runsolo dopo aver verificato credentials, allowed hosts, coda e log.
7. Sezione Google Access Credentials
Credentials Source
Predefinita:
Encrypted configuration value
Specifica da dove il modulo recupera il JSON dell'account di servizio Google.
Opzioni disponibili:
| Opzione | Valore tecnico | Descrizione |
|---|---|---|
Encrypted configuration value |
config |
Il JSON viene incollato nella configurazione Magento e salvato come valore sensitive config cifrato. |
Uploaded JSON file |
file |
Il JSON viene caricato come file e salvato fuori dalla directorypub, invar/google-indexing. |
Raccomandazione:
- per implementazioni semplici è possibile usare il valore cifrato nella configurazione,
- per ambienti con controllo dell'accesso ai file può essere più comodo caricare il file JSON.
Service Account JSON
Visibile quandoCredentials Source = Encrypted configuration value.
In questo campo è necessario incollare l'intero contenuto del file JSON dell'account di servizio Google.
Il modulo valida il JSON prima del salvataggio. Vengono controllati:
- correttezza del formato JSON,
- presenza dei campi
type,project_id,private_key,client_email, - valore
type = service_account.
Il valore viene salvato come configurazione Magento cifrata.
Service Account JSON File
Visibile quandoCredentials Source = Uploaded JSON file.
Consente di caricare il file JSON dell'account di servizio Google.
Il modulo:
- accetta solo file con estensione
.json, - valida il contenuto del file,
- controlla i campi richiesti
type,project_id,private_key,client_email, - salva il file fuori dalla directory pubblica, in
var/google-indexing, - prova a impostare i permessi del file su
0600, se il driver dei file lo consente.
Il file viene salvato con un nome dipendente dall'ambito della configurazione, ad esempio per l'ambito globale:
var/google-indexing/service-account-default-0.json
Google Cloud Project ID
Campo di testo per l'identificatore del progetto Google Cloud.
Nell'implementazione attuale del modulo, l'autorizzazione principale si basa sui dati del JSON dell'account di servizio. Il campoGoogle Cloud Project IDha una funzione informativa e di organizzazione della configurazione, soprattutto quando il negozio utilizza più ambienti o più progetti Google Cloud.
Raccomandazione:
- inserisci il valore
project_iddal file JSON, - usa progetti Google Cloud separati per ambienti di produzione e di test, se tale separazione è adottata nel progetto.
8. Sezione Queue and Limits
Daily Publish Limit
Predefinita:
200
Specifica il numero massimo di richieste publish che il modulo può eseguire in un giorno.
Il limiter conta le request di tipo:
publish,publish_dry_run.
Se il limite viene utilizzato, il processore della coda non preleverà altri record da inviare fino alla successiva finestra giornaliera.
Raccomandazione:
- lascia
200se il progetto utilizza il limite onboarding predefinito di Google, - aumenta il valore solo se il progetto Google Cloud ha un limite superiore approvato,
- l'impostazione
0blocca l'invio, perché il numero di slot disponibili sarà0.
Requests Per Minute Limit
Predefinita:
60
Specifica il numero massimo di request publish al minuto.
Il modulo confronta questo valore con il numero di request registrate nei log dell'ultimo minuto. Se il limite al minuto è stato utilizzato, il cron non elaborerà altri record in quella esecuzione.
Raccomandazione:
- per un'implementazione tipica lascia il valore predefinito,
- riduci il valore se vuoi caricare l'API in modo più prudente,
- non impostare
0, a meno che tu voglia interrompere temporaneamente gli invii.
Cron Batch Size
Predefinita:
20
Specifica il numero massimo di record della coda elaborati in una singola esecuzione del cron.
Il numero effettivo di record elaborati è limitato anche da:
Daily Publish Limit,Requests Per Minute Limit,- numero di record pronti per l'invio,
- stato e data
scheduled_at.
Raccomandazione:
20è un valore iniziale sicuro,- con code grandi è possibile aumentare il valore, ma solo tenendo conto dei limiti Google.
Default Indexing Lag (minutes)
Predefinita:
15
Specifica il ritardo predefinito tra l'aggiunta dell'URL alla coda e il momento a partire dal quale può essere inviato.
Il ritardo aiuta a:
- ridurre i duplicati,
- evitare invii dopo ogni piccola modifica,
- dare all'amministratore il tempo di correggere i contenuti,
- gestire meglio il limite API.
Nell'implementazione attuale questa impostazione viene utilizzata quando la richiesta non ha un ritardo proprio.
Manual Form Indexing Lag (minutes)
Predefinita:
15
Specifica il ritardo per gli URL aggiunti tramite il modulo:
Google Indexing API > Import URLs
Se l'amministratore incolla manualmente un elenco di URL, ogni indirizzo valido verrà pianificato con questo ritardo.
Raccomandazione:
- imposta
0se l'importazione manuale deve entrare immediatamente in coda, - lascia
15se vuoi mantenere un buffer per deduplicazione e controllo delle richieste.
Mass Action Indexing Lag (minutes)
Predefinita:
15
Specifica il ritardo per gli URL aggiunti tramite:
- azioni massive sui prodotti,
- azioni massive sulle pagine CMS,
- pulsanti di richiesta indicizzazione nelle schermate di modifica di prodotto, categoria e pagina CMS.
Raccomandazione:
- per operazioni massive lascia il valore
15o superiore, - per piccoli negozi e lavoro amministrativo manuale si può considerare un valore più basso.
Max Attempts
Predefinita:
5
Specifica il numero massimo di tentativi di invio di un singolo record della coda.
Se Google restituisce un errore temporaneo, il modulo imposterà lo statoretry, a condizione che il numero di tentativi sia inferiore aMax Attempts. Dopo il superamento del limite, il record riceverà lo statofailed_permanent.
Errori trattati come temporanei:
408,409,412,429,500,502,503,504.
Retry Delay (minutes)
Predefinita:
15
Ritardo di base prima del tentativo successivo di invio dopo un errore temporaneo.
Il cron usa un ritardo crescente. Il moltiplicatore dipende dal numero di tentativi ed è limitato al massimo a24. In questo modo i tentativi successivi non vengono eseguiti in modo troppo aggressivo.
Esempio per il valore15:
| Tentativo | Ritardo approssimativo |
|---|---|
| 1 | 15 minuti |
| 2 | 30 minuti |
| 3 | 60 minuti |
| 4 | 120 minuti |
Allowed Source Types
Predefinita:
manual,product,category,cms_page,amasty_blog_post
Elenco dei tipi di origine consentiti, separati da virgole.
Valori supportati:
| Valore | Significato |
|---|---|
manual |
URL aggiunto manualmente tramite il modulo di importazione. |
product |
URL del prodotto. |
category |
URL della categoria. |
cms_page |
URL della pagina CMS. |
amasty_blog_post |
URL del post Amasty Blog, se viene utilizzato un modulo di integrazione separato. |
Se il tipo di origine non si trova nell'elenco, lo scheduler salterà la richiesta e la contrassegnerà comeskipped.
Raccomandazione:
- lascia i valori predefiniti se il negozio utilizza tutte le origini standard,
- rimuovi le origini che non vuoi consentire nella coda.
Allowed URL Hosts
Predefinita:
puste
Elenco degli host URL consentiti, separati da virgole.
Esempio:
example.com,www.example.com
Se l'elenco è compilato, il modulo accetterà solo gli indirizzi appartenenti agli host indicati. Se l'URL ha un host diverso, la validazione restituirà l'errore:
host_not_allowed
Raccomandazione:
- in produzione compila sempre questo elenco,
- aggiungi tutti gli host utilizzati dal negozio, ad esempio il dominio principale, la versione
www, i domini store view e i domini linguistici, - non aggiungere domini di test alla configurazione di produzione.
Require HTTPS URLs
Predefinita:
Yes
Impone che gli URL inviati utilizzino lo schemahttps.
Se il campo è abilitato, un indirizzo conhttp verrà rifiutato con l'errore:
https_required
Raccomandazione:
- per negozi in produzione lascia
Yes, Nousa
solo in ambienti di test eccezionali.
9. Sezione Auto-Indexing
Predefinita:
No
Valore predefinito:
Il campo è predisposto per integrazioni automatiche di salvataggio o rimozione di entità e provider URL aggiuntivi.
Raccomandazione:
- lascia
Nolascia - se l'auto-indexing non è stato implementato nel progetto,
abilita solo quando il progetto include il supporto di eventi automatici delle entità che utilizzano questa configurazione.
10. Sezione Logs
Predefinita:
90
Valore predefinito:
Specifica il numero di giorni di conservazione dei log API.
03:15
Il cron di pulizia dei log viene eseguito ogni giorno alle:
Raccomandazione:
90Raccomandazione:- giorni è un valore diagnostico ragionevole,
- con un numero elevato di request è possibile ridurre la retention,
per audit SEO è possibile aumentare la retention, tenendo presente la dimensione della tabella dei log.
11. Assistente di installazione e configurazione
Google Indexing API > Setup Assistant
L'assistente si trova in:
Il suo obiettivo è verificare rapidamente se la configurazione lato Magento e Google è pronta per il primo test.
11.1. Sezione Current Status
| Campo | Significato |
|---|---|
Module |
Significato |
Dry Run |
Indica se il modulo è abilitato nella configurazione. |
Credentials |
Indica se è attiva la modalità di test senza invio reale a Google. |
Service Account Email |
Mostra se il modulo è in grado di leggere e analizzare le credentials Google.client_emailVisualizza |
Allowed Hosts |
dal JSON dell'account di servizio. Questo indirizzo deve essere aggiunto come proprietario in Search Console. |
Queue |
Mostra l'elenco degli host consentiti nella configurazione.scheduled,pending,retryefailed_permanent. |
SeCredentialsSeMissing or invalidha stato
SeAllowed HostsSeNot configuredmostra
, il modulo non limita gli host. Tecnicamente può funzionare, ma in produzione è consigliato inserire esplicitamente gli host del negozio.
11.2. Sezione Setup Steps
- L'assistente visualizza l'elenco dei passaggi necessari prima della prima request reale:
- Creazione o selezione del progetto Google Cloud.
- Abilitazione di Indexing API e creazione di una JSON key per l'account di servizio.
- Incollare il JSON oppure caricare il file JSON nella configurazione Magento.
- Aggiunta del service account email come proprietario in Google Search Console.
Dry Run.
abilitato.
- L'assistente contiene link a:
- Google Cloud per Indexing API,
- configurazione del modulo in Magento,
Google Search Console.
11.3. Test Google Credentials
Test Google Credentials
Pulsante:
https://www.googleapis.com/auth/indexing
verifica se Magento è in grado di usare i dati dell'account di servizio per ottenere un token OAuth per l'ambito:
- Un risultato positivo significa che:
- il JSON è corretto,
- la chiave privata può essere utilizzata,
Google ha emesso un token OAuth.
- Un risultato negativo può indicare:
- JSON non corretto,
private_key, - mancanza di un campo richiesto nel JSON,
- problema di comunicazione con Google,
- uso di una chiave che non è una chiave di account di servizio.
Questo test non conferma ancora che l'account di servizio abbia accesso come proprietario al dominio in Search Console. Per questo è necessario il test URL metadata oppure l'invio reale di un URL di test.
11.4. Test URL Metadata
Modulo:
Test URL Metadata
consente di inserire un URL pubblico da un host consentito ed eseguire una request metadata a Google Indexing API.
Prima di inviare la request, il modulo:
- normalizza l'URL,
- controlla se l'URL è assoluto,
- controlla lo schema
httpohttps, - con
Require HTTPS URLsabilitato richiedehttps, - controlla
Allowed URL Hosts, se configurati.
Risultati possibili:
| Risultato | Significato |
|---|---|
| Successo HTTP 2xx | Google ha restituito metadata per l'URL. |
| HTTP 404 | Spesso significa che l'URL non ha ancora avuto un invio precedente efficace tramite Indexing API. Questo non deve necessariamente indicare una configurazione errata. |
| Errore di validazione prima della request | L'URL non soddisfa i requisiti del modulo, ad esempio host errato, mancanza di HTTPS o indirizzo non assoluto. |
| Errore HTTP diverso da 404 | È necessario controllare il messaggio Google, i permessi Search Console, credentials e limiti. |
Il metadata test non crea una nuova richiesta publish. Serve per la diagnostica della connessione e dello stato dell'URL.
12. Primo avvio passo dopo passo
Ordine consigliato per il primo avvio:
- Installa il modulo ed esegui
setup:upgrade. - In Magento vai a
Stores > Configuration > Kowal > Google Indexing API. - Imposta
Enable = Yes. - Lascia
Dry Run = Yes. - Seleziona l'origine delle credentials.
- Incolla il JSON dell'account di servizio oppure carica il file JSON.
- Compila
Google Cloud Project IDcon il valoreproject_iddel JSON. - Compila
Allowed URL Hosts, ad esempioexample.com,www.example.com. - Lascia i limiti predefiniti, se Google non ha approvato limiti superiori.
- Salva la configurazione e svuota la cache.
- Vai a
Google Indexing API > Setup Assistant. - Controlla se l'assistente mostra le credentials come pronte.
- Clicca
Test Google Credentials. - Aggiungi il service account email come proprietario in Google Search Console, se non è già stato fatto.
- Esegui
Test URL Metadataper un URL pubblico da un host consentito. - Vai a
Google Indexing API > Import URLs. - Aggiungi un URL di test con azione
URL_UPDATED. - Esegui il cron Magento:
bin/magento cron:run
Google Indexing API > Indexing Queue.Google Indexing API > API Logs.Dry Run.13. Importazione degli URL dal pannello di amministrazione
L'importazione manuale si trova in:
Google Indexing API > Import URLs
Il modulo contiene i campi:
| Campo | Descrizione |
|---|---|
Action |
Tipo di richiesta a Google: aggiunta/aggiornamento oppure eliminazione. |
Store View |
Store view a cui deve essere associata la richiesta. È disponibile anche l'opzione globaleUse global/no store. |
URLs |
Elenco di URL assoluti, un indirizzo per riga. |
Azioni disponibili:
| Azione nel modulo | Valore API | Significato |
|---|---|---|
Submit URLs for indexing |
URL_UPDATED |
Informa Google che l'URL è stato aggiunto o aggiornato. |
Delete URLs from indexing |
URL_DELETED |
Informa Google che l'URL è stato rimosso e può essere eliminato dall'indice. |
Dopo l'invio del modulo, il modulo mostrerà un riepilogo:
- aggiunti,
- aggiornati,
- deduplicati,
- non validi,
- saltati.
I primi 10 messaggi di validazione vengono mostrati come notice nel pannello di amministrazione.
14. Coda di indicizzazione
La coda si trova in:
Google Indexing API > Indexing Queue
Ogni record della coda contiene, tra l'altro:
- URL,
- hash dell'URL,
- store ID,
- website ID,
- tipo di origine,
- ID dell'entità di origine,
- provenienza della request,
- azione
URL_UPDATEDoURL_DELETED, - stato,
- priorità,
- numero di tentativi,
- numero massimo di tentativi,
- data di invio pianificata,
- data di elaborazione,
- ultimo codice di errore,
- ultimo motivo dell'errore,
- ultimo messaggio di errore,
- risposta Google,
- informazione
created_by.
Stati della coda
| Status | Significato |
|---|---|
scheduled |
L'URL è pianificato, ma attende ancora la datascheduled_at. |
pending |
L'URL è pronto per essere elaborato dal cron. |
processing |
L'URL è attualmente in elaborazione. |
success |
Google ha restituito una risposta di successo. |
retry |
Si è verificato un errore temporaneo e il record attende un nuovo tentativo. |
failed_permanent |
L'invio è terminato in modo definitivo oppure è stato superato il numero massimo di tentativi. |
cancelled |
Il record è stato annullato manualmente. |
Azioni sui record della coda
| Azione | Funzionamento |
|---|---|
Transmit Now |
Imposta il record come urgente, lo blocca, lo invia immediatamente tramite il client Google e salva il risultato. |
Retry |
Imposta il record comepending, rimuove il blocco e pianifica subito un nuovo tentativo. |
Cancel |
Imposta lo statocancellede rimuove il blocco. |
Nota:Transmit Nowesegue una request reale seDry Run = No. ConDry Run = Yesverrà salvato un log dry-run senza invio reale a Google.
15. Cron
Il modulo aggiunge due attività cron nel gruppodefault.
Elaborazione della coda
kowal_google_indexing_process_queue
Pianificazione:
*/5 * * * *
L'attività avvia il processore della coda ogni 5 minuti.
Il processore:
- Controlla se il modulo è abilitato.
- Rilascia i vecchi blocchi dei record
processingpiù vecchi di 30 minuti. - Sposta i record
scheduledinpending, sescheduled_at <= now. - Controlla gli slot disponibili nei limiti giornaliero e al minuto.
- Preleva i record
pendingeretry. - Li ordina per priorità e data di invio pianificata.
- Invia la request a Google oppure esegue il dry-run.
- Salva risposta, stato e log API.
Pulizia dei log
kowal_google_indexing_cleanup_logs
Pianificazione:
15 3 * * *
L'attività rimuove i log API più vecchi del numero di giorni impostato nel campo:
API Log Retention Days
16. Log API
I log sono disponibili in:
Google Indexing API > API Logs
Il log include:
- ID del record della coda,
- store ID,
- tipo di request,
- URL dell'endpoint,
- payload,
- stato HTTP,
- body della risposta,
- durata della request,
- data di creazione del log.
Tipi di request:
| Tipo | Significato |
|---|---|
publish |
Invio reale dell'URL a Google. |
publish_dry_run |
Elaborazione in modalità dry-run senza request reale a Google. |
metadata |
Test metadata per l'URL. |
17. Mass Actions e pulsanti amministrativi
Il modulo aggiunge meccanismi per inviare URL dal pannello di amministrazione.
Prodotti
Nella griglia dei prodotti è disponibile un'azione massiva che aggiunge gli URL dei prodotti alla coda.
Il modulo salta i prodotti:
- disabilitati,
- non visibili individualmente.
Gli URL vengono generati sulla base degli URL rewrites per gli store view attivi.
Pagine CMS
Nella griglia delle pagine CMS è disponibile un'azione massiva che aggiunge gli URL delle pagine alla coda.
Il modulo salta le pagine inattive.
Se una pagina CMS è assegnata a tutti gli store view, il modulo risolve gli URL per tutti gli store view.
Prodotto, categoria e pagina CMS - pulsanti nel modulo di modifica
Il modulo aggiunge pulsanti di richiesta indicizzazione nelle schermate di modifica:
- del prodotto,
- della categoria,
- della pagina CMS.
Il pulsante risolve gli URL dell'entità per gli store view e li aggiunge alla coda comeURL_UPDATED.
18. Configurazione iniziale consigliata
Per la prima implementazione in produzione:
| Campo | Raccomandazione |
|---|---|
Enable |
Yesdopo aver salvato credentials e allowed hosts. |
Dry Run |
Yesdurante i test, poiNo. |
Credentials Source |
Encrypted configuration valueoppureUploaded JSON file, secondo la policy del progetto. |
Google Cloud Project ID |
project_iddel JSON. |
Daily Publish Limit |
200, salvo che Google abbia approvato un limite superiore. |
Requests Per Minute Limit |
60o meno per un'implementazione prudente. |
Cron Batch Size |
20. |
Default Indexing Lag |
15. |
Manual Form Indexing Lag |
0-15, a seconda del modo di lavorare degli amministratori. |
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 |
Tutti gli host di produzione del negozio. |
Require HTTPS URLs |
Yes. |
Enable Auto-Indexing |
No, salvo che il progetto implementi provider automatici. |
API Log Retention Days |
90. |
19. Problemi tipici e diagnostica
Credentials test failed
Controlla:
- se il JSON è corretto,
- se il JSON proviene da un account di servizio,
- se contiene
private_keyeclient_email, - se il campo
typeha valoreservice_account, - se il file JSON non è stato danneggiato durante l'incollaggio.
Google restituisce un errore di autorizzazione
Controlla:
- se il dominio è verificato in Search Console,
- se
client_emaildell'account di servizio è aggiunto come proprietario, - se l'URL testato appartiene alla stessa proprietà Search Console,
- se stai usando il progetto Google Cloud corretto e il JSON corretto.
L'URL viene rifiutato prima dell'invio
Controlla il messaggio di validazione:
| Messaggio | Causa |
|---|---|
empty_url |
URL vuoto. |
url_too_long |
L'URL ha più di 2048 caratteri. |
url_not_absolute |
L'URL non ha schema o host. |
https_required |
È stato abilitato il requisito HTTPS e l'URL usa HTTP. |
invalid_scheme |
Lo schema non èhttpnéhttps. |
host_not_allowed |
L'host dell'URL non è presente inAllowed URL Hosts. |
La coda non viene elaborata
Controlla:
- se
Enable = Yes, - se il cron Magento funziona,
- se i record hanno stato
pendingoppureretry, - se
scheduled_atnon è nel futuro, - se i limiti giornalieri o al minuto non sono stati utilizzati,
- se
Daily Publish LimiteRequests Per Minute Limitnon sono impostati su0.
I record finiscono inretry
Controlla:
- stato HTTP nel record della coda,
- log API,
- risposta Google,
- se non si verifica il limite
429, - se non ci sono errori temporanei
5xx, - se
Max AttemptseRetry Delaysono impostati come previsto.
20. Integrazione opzionale con Amasty Blog
L'integrazione con Amasty Blog è prevista come modulo separato:
Kowal_GoogleIndexingApiAmastyBlog
Pacchetto:
kowal/module-google-indexing-api-amasty-blog
Questo modulo non è richiesto per il funzionamento dell'integrazione principale. Deve essere installato solo nei progetti che utilizzanoamasty/blog e hanno bisogno di un'azione massiva per i post del blog.