Google Indexing API voor Magento 2
- Compatibiliteit
- 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
Beschrijving / Google Indexing API voor Magento 2
MAGENTO 2 · URL-MELDINGEN · WACHTRIJ · GOOGLE API
Beheer URL-meldingen in één Magento-wachtrij.
Kowal Google Indexing API
Verzamel adressen uit het paneel en integraties, beheer duplicaten, planning en verzendlimieten. Bewaar de historie van Google-antwoorden en maak duidelijk onderscheid tussen acceptatie van een melding en indexatie van de pagina.
Dry Run · Retry en logs · API-bereik bepaald door Google
HOE HET IN DE PRAKTIJK WERKT
01 · U configureert toegang en bereik
U controleert het serviceaccount, hosts en toegestane Store View.
02 · U voegt adressen toe aan de wachtrij
U gebruikt import, bulkacties of knoppen.
03 · U monitort de verwerking
Cron verzorgt verzending, limieten, resultaat en pogingen opnieuw.
Wat levert het uw winkel op?
Ontdek de functies, toepassing en instellingen van de module.
Google sneller informeren over wijzigingen in de winkel
De module Kowal Google Indexing API voor Magento 2 helpt om URL-adressen die zijn toegevoegd, gewijzigd of uit de index moeten worden verwijderd efficiënter bij Google te melden. In plaats van alleen te wachten op het standaard opnieuw bezoeken van de pagina door de Google-bot, kan de beheerder geselecteerde adressen doorgeven aan een wachtrij die door Google Indexing API wordt verwerkt.
De oplossing is vooral nuttig voor winkels waarin content, aanbod, productbeschikbaarheid, CMS-pagina's, landing pages of blogberichten vaak veranderen. De module ordent het volledige proces: verzamelt adressen uit verschillende Magento-onderdelen, controleert ze, verwijdert duplicaten, beheert limieten en bewaart de communicatiehistorie met Google.
Google Indexing API is officieel bedoeld voor pagina's met structured data
JobPostingenBroadcastEvent. Het melden van een URL via de API garandeert geen indexatie, positie in de resultaten of acceptatie van elk adres door Google. De module is een hulpmiddel voor het technisch melden van URL's en geen vervanging voor correcte technische SEO, XML-sitemaps, canonicals, robots, hreflang en interne linking.
Betere controle over het melden van adressen
De module geeft de beheerder één plek om URL's te beheren die wachten op verzending naar Google. Producten, categorieën, CMS-pagina's, handmatige URL-import en toekomstige bronnen kunnen dezelfde wachtrij gebruiken. Daardoor hoeft u geen aparte integraties te bouwen voor elk type content.
Minder handmatig werk na wijzigingen in de winkel
Adressen kunnen rechtstreeks vanuit het Magento-beheerpaneel aan de wachtrij worden toegevoegd. De module biedt bulkacties en knoppen op bewerkingsschermen van geselecteerde entiteiten, zodat de beheerder snel indexatie van één pagina of een grotere groep adressen kan aanvragen.
Veiliger gebruik van API-limieten
Google Indexing API werkt met limieten. De module houdt rekening met dagelijkse en minuutlimieten, de grootte van de batch die door cron wordt verwerkt en de verzendvertraging. Daardoor worden adressen niet chaotisch verzonden en is het eenvoudiger om het risico op onnodig verbruik van de beschikbare limiet te beperken.
Minder duplicaten en herhaalde meldingen
Voordat een adres wordt opgeslagen, normaliseert de module de URL, valideert deze en controleert of hetzelfde adres niet al in de actieve wachtrij staat. Als er al een vergelijkbare melding bestaat, kan het systeem deze bijwerken of markeren als gededupliceerd. Dit beperkt rommel in de wachtrij en vermindert het aantal overbodige requests naar Google.
Meer transparantie voor het team
Elke melding heeft een status, bron, actie, prioriteit, aantal pogingen, geplande verzendtijd en informatie over het antwoord van Google. De beheerder ziet welke adressen wachten, welke correct zijn verzonden, welke opnieuw moeten worden geprobeerd en welke met een permanente fout zijn geëindigd.
Eenvoudigere probleemdiagnose
De module slaat logs van communicatie met Google API op, inclusief requesttype, endpointadres, payload, HTTP-status, response body en duur. Dit maakt het eenvoudiger om fouten te analyseren aan de kant van configuratie, rechten, limieten of de gemelde URL's zelf.
Klaar voor groei van de winkel
De architectuur van de module is gebaseerd op een gezamenlijke scheduler en wachtrij. Nieuwe URL-bronnen hoeven niet rechtstreeks met Google te communiceren. Het is voldoende dat zij adressen aan de wachtrij doorgeven, waarna de bestaande processor validatie, planning, limieten, retries en logging afhandelt.
Hoe de module in de praktijk werkt
De module werkt als tussenlaag tussen Magento en Google Indexing API.
- De beheerder of integratie kiest URL-adressen om te melden.
- De module normaliseert en valideert URL's, onder meer op schema, host en toegestane bronnen.
- Correcte adressen komen in de centrale wachtrij met de juiste status, actie en verzendtijd.
- Magento cron haalt periodiek records op die klaar zijn voor verwerking.
- De wachtrijprocessor respecteert limieten, prioriteiten, vertragingen en recordlocks.
- De module verzendt de melding naar Google Indexing API of voert verwerking uit in dry-run-modus.
- Het antwoord van Google wordt bij het wachtrijrecord en in de API-logs opgeslagen.
- Bij tijdelijke fouten kan de module een nieuwe poging met vertraging plannen.
Daardoor hangt het verzenden van URL's niet af van één klik of van een directe request vanuit het beheerpaneel. Het volledige proces wordt in een wachtrij geplaatst, is auditeerbaar en beter bestand tegen tijdelijke API-problemen.
Belangrijkste functies
- centrale URL-wachtrij voor verschillende contentbronnen,
- ondersteuning voor acties
URL_UPDATEDenURL_DELETED, - handmatige import van meerdere URL's vanuit het beheerpaneel,
- bulkacties voor producten en CMS-pagina's,
- knoppen voor het melden van indexatie op bewerkingsschermen van product, categorie en CMS-pagina,
- optionele integratie met Amasty Blog als aparte module,
- normalisatie en validatie van URL-adressen,
- whitelist van toegestane hosts,
- ondersteuning voor store view en identificatie van de meldingsbron,
- deduplicatie van actieve meldingen,
- verzendvertraging, oftewel indexing lag,
- prioriteiten en actie
Transmit Now, - verwerking via cron,
- controle van dag- en minuutlimiet,
- opnieuw proberen van tijdelijke fouten met vertraging,
- wachtrijstatussen:
scheduled,pending,processing,success,retry,failed_permanent,cancelled, - dry-run-modus voor veilige tests zonder echte requests te verzenden,
- API-logs en logretentie,
- test credentials en metadata in de configuratieassistent.
Voor wie is deze module bedoeld
De module is geschikt voor Magento 2-winkels die:
- het productaanbod vaak bijwerken,
- veel CMS-pagina's publiceren of wijzigen,
- SEO-activiteiten uitvoeren op meerdere contenttypen,
- controle nodig hebben over welke URL's bij Google zijn gemeld,
- handmatig beheer van meldingen willen beperken,
- werken in een multistore- of multilanguage-omgeving,
- een duidelijke audit van requests naar Google nodig hebben.
Deze oplossing is bijzonder waardevol voor e-commerce-, SEO- en beheersteams die een gezamenlijk, gestructureerd proces willen hebben voor het melden van winkelwijzigingen aan Google.
Nieuwe of gewijzigde producten
Na het toevoegen van een nieuw product of een belangrijke wijziging van een bestaand product kan de beheerder het adres aan de wachtrij doorgeven. De module zorgt voor registratie van de melding, de juiste vertraging, deduplicatie en latere verzending.
Updates van CMS-pagina's en landing pages
Wanneer het marketingteam een nieuwe campagne, promotie of informatiepagina publiceert, kan de URL aan de wachtrij worden toegevoegd zonder handmatig werk buiten Magento.
Adressen opschonen na wijzigingen in de site
De module ondersteunt niet alleen update-meldingen, maar ook de actie URL_DELETED. Daardoor kan aan Google informatie worden doorgegeven over adressen die uit de index moeten worden verwijderd, mits het scenario in overeenstemming is met de gebruiksregels van de API.
Grootschalige SEO-acties
Bij grotere wijzigingen in de winkel, zoals het bijwerken van veel producten, contentmigratie of het vernieuwen van categorieën, kan de beheerder bulkacties gebruiken en de voortgang in de wachtrij volgen.
Zakelijk effect
De implementatie van de module geeft het team meer controle over het technisch melden van wijzigingen aan Google. In plaats van verspreide, handmatige en moeilijk te controleren activiteiten ontstaat één proces: het adres komt in de wachtrij, doorloopt validatie, wordt verzonden met respect voor limieten en het resultaat is zichtbaar in het beheerpaneel.
De belangrijkste waarde van de module is het ordenen van werkzaamheden rond indexatie: minder willekeurige requests, minder duplicaten, betere diagnostiek en duidelijkere verantwoordelijkheid voor wat aan Google is gemeld.
Officieel bereik van Google Indexing API
Volgens de documentatie van Google is de API bedoeld voor pagina's met JobPosting of BroadcastEvent ingebed in VideoObject. Gewone productpagina's, categorieën, CMS-pagina's en blogberichten vallen niet onder het officieel ondersteunde bereik, ook al kan de module hun URL's technisch in een wachtrij plaatsen.
Een HTTP 200-antwoord en status success betekenen dat de melding is gelukt. Metadata bevestigt de kennisgeving, niet de indexatiedatum of verwijdering van de pagina. Voor URL_DELETED moet het adres 404/410 retourneren of noindex bevatten.
Configuratieassistent en eerste start
Stores → Configuration → Services → Google Indexing API omvat serviceaccount, hosts, Store View, limieten en dry-run. U hebt een actieve API in Google Cloud nodig, een geverifieerde Search Console-property en de juiste rechten voor het serviceaccount.
Marketing → Google Indexing API biedt Setup Assistant, Indexing Queue en Import URLs. Begin met dry-run en tests van credentials en metadata, controleer cron en schakel daarna echte verzending in voor het juiste bereik.
Amasty Blog-integratie en nieuwe bronnen
Ondersteuning voor bulkacties voor Amasty Blog is een apart pakket kowal/module-google-indexing-api-amasty-blog. De hoofdmodule vereist Amasty Blog niet.
Een nieuwe bron kan URL, actie URL_UPDATED of URL_DELETED, bron, entiteit en store ID doorgeven via IndexingRequestSchedulerInterface. De gezamenlijke wachtrij neemt planning, validatie, deduplicatie en retries over.
Installatie via Composer
Pakket kowal/module-google-indexing-api, module Kowal_GoogleIndexingApi. Configureer toegang tot de Kowal-repository, installeer het pakket, schakel de module in, werk Magento bij en leeg de cache. Houd in productie rekening met compilatie en deployment van statische content volgens het proces van de winkel.
Van configuratie naar resultaat
1. U configureert toegang en bereik
U controleert het serviceaccount, hosts en toegestane Store View.
2. U voegt adressen toe aan de wachtrij
U gebruikt import, bulkacties of knoppen.
3. U monitort de verwerking
Cron verzorgt verzending, limieten, resultaat en retries.
Controle over het verloop van meldingen
U importeert adressen die volgens de API-regels zijn toegestaan en controleert ze eerst in dry-run. In de wachtrij verifieert u bron, actie en geplande tijd.
Na het inschakelen van verzending analyseert u het antwoord en retries. Status success bevestigt acceptatie van de request, niet het verschijnen van de pagina in Google-resultaten.
Orden meldingen en API-diagnostiek
Wilt u de module afstemmen op uw winkel? Vraag naar implementatie van Kowal Google Indexing API en bespreek de configuratie of benodigde uitbreidingen.
Meer informatie
| Addtocart Description | DEMOgebruikersnaam: indexing |
|---|---|
| Overeenstemming met sjabloon | Luma / Blank, Smid |
Installatiehandleiding voor de module
Google Indexing API voor Magento 2 - installatie en configuratie
1. Belangrijke informatie vóór implementatie
De module integreert Magento 2 met Google Indexing API en maakt het mogelijk URL-adressen toe te voegen aan een centrale meldingswachtrij. De wachtrij wordt verwerkt door Magento cron en elke melding wordt gevalideerd, gededupliceerd, aan limieten onderworpen en gelogd.
Volgens de documentatie van Google is Indexing API officieel vooral bedoeld voor pagina's met structured data:
JobPosting,BroadcastEventingebed inVideoObject.
Gebruik van de API voor producten, categorieën, CMS-pagina's of blogberichten garandeert geen indexatie of positie in zoekresultaten. De module moet worden gezien als technisch hulpmiddel voor het melden van URL's, niet als vervanging voor XML-sitemaps, correcte canonicals, robots, hreflang, interne linking en algemene SEO-kwaliteit.
Officiële Google-materialen:
- 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. Vereisten
Controleer vóór installatie of de omgeving aan de vereisten voldoet:
- Magento 2.4.x,
- PHP 8.1 of nieuwer,
- Composer,
- werkende Magento cron,
- mogelijkheid om het pakket
google/apiclientte installeren, - beheerderstoegang tot Magento,
- Google Cloud-project met ingeschakelde Indexing API,
- property in Google Search Console geverifieerd voor het winkeldomein,
- Google-serviceaccount toegevoegd als eigenaar in Google Search Console.
De module vereist het pakket:
google/apiclient:^2.16Het pakket is gedeclareerd in de composer.json van de module, dus Composer zou het automatisch moeten installeren.
3. Installatie van de module
3.1. Installatie via Composer
Voeg de Kowal Composer-repository toe aan het Magento-project:
Toegangsgegevens voor de Composer-repository, het e-mailadres van de klant en de licentietoken, ontvangt u per e-mail na aankoop. Ze zijn ook beschikbaar in het klantpaneel na inloggen op kowal.store. Vervang TWOJ_EMAIL_KLIENTA door het e-mailadres van uw account en TWOJ_TOKEN door de ontvangen token. Voer de opdrachten uit in de hoofdmap van Magento.
composer config repositories.kowal composer https://repo.kowal.storeConfigureer de toegangsgegevens voor de Kowal Composer-repository:
composer config http-basic.repo.kowal.store 'TWOJ_EMAIL_KLIENTA' 'TWOJ_TOKEN'Installeer het pakket:
composer require kowal/module-google-indexing-apiSchakel de module in:
bin/magento module:enable Kowal_GoogleIndexingApiVoer de databaseschema-update uit:
bin/magento setup:upgradeLeeg de cache:
bin/magento cache:flushVoer in productiemodus aanvullend uit:
bin/magento setup:di:compilebin/magento setup:static-content:deploybin/magento cache:flush3.2. Lokale installatie in app/code
Als de module zonder Composer als lokale code wordt geïnstalleerd, plaats deze dan in de map:
app/code/Kowal/GoogleIndexingApiInstalleer vervolgens de Google API Client-afhankelijkheid in het Magento-project:
composer require google/apiclient:^2.16Schakel de module in en voer de standaard Magento-commando's uit:
bin/magento module:enable Kowal_GoogleIndexingApibin/magento setup:upgradebin/magento cache:flushVoor productie:
bin/magento setup:di:compilebin/magento setup:static-content:deploybin/magento cache:flush3.3. Verificatie van de installatie
Controleer of de module actief is:
bin/magento module:status Kowal_GoogleIndexingApiNa correcte installatie moeten in het beheerpaneel beschikbaar zijn:
Stores > Configuration > Kowal > Google Indexing API,- beheermenu
Google Indexing API > Indexing Queue, Google Indexing API > Import URLs,Google Indexing API > API Logs,Google Indexing API > Setup Assistant.
In de database moeten tabellen worden aangemaakt:
kowal_google_indexing_queue,kowal_google_indexing_api_log.
4. Google Cloud en Search Console voorbereiden
4.1. Een Google Cloud-project aanmaken
- Ga naar Google Cloud Console.
- Maak een nieuw project aan of kies een bestaand project dat voor de winkel wordt gebruikt.
- Schakel de API in:
Indexing APIZonder ingeschakelde API kan de module meldingen niet correct verzenden.
4.2. Een serviceaccount aanmaken
- Ga in Google Cloud naar
IAM & Admin > Service Accounts. - Maak een nieuw serviceaccount aan.
- Genereer een sleutel in JSON-formaat.
- Download het JSON-bestand en bewaar het veilig.
De module vereist dat JSON minimaal de volgende velden bevat:
type,project_id,private_key,client_email.
Het veld type moet de waarde hebben:
service_account4.3. Het serviceaccount als eigenaar toevoegen in Search Console
- Open Google Search Console.
- Kies de property die overeenkomt met het winkeldomein.
- Zorg ervoor dat de property is geverifieerd.
- Voeg het adres
client_emailuit het JSON-bestand toe als eigenaar van de property.
Voorbeeld van een serviceaccountadres:
my-service-account@project-name.iam.gserviceaccount.comAls het serviceaccount geen eigenaar van de Search Console-property is, kan Google rechtenfouten retourneren, bijvoorbeeld geen bevestiging van URL-eigendom.
5. Moduleconfiguratie in Magento
De configuratie bevindt zich in:
Stores > Configuration > Kowal > Google Indexing APIDe configuratie ondersteunt Magento-scopes:
- Default Config,
- Website,
- Store View.
Daardoor kunnen er afzonderlijke instellingen zijn voor verschillende winkels of store views als het project dat vereist.
6. Sectie General
Enable
Standaard:
NoSchakelt de werking van de module in of uit.
Wanneer het veld de waarde No heeft, verwerkt cron de wachtrij niet. Adressen kunnen in de database bestaan, maar de wachtrijprocessor verzendt ze niet naar Google.
Aanbeveling:
- stel tijdens de eerste configuratie
Noin of laatDry Run = Yesstaan, - stel na succesvolle tests
Yesin.
Dry Run
Standaard:
YesTestmodus. Wanneer Dry Run is ingeschakeld, verwerkt de module wachtrijrecords, slaat statussen en logs op, maar verzendt geen echte melding naar Google.
Dit is de veiligste modus voor de eerste start, configuratietests en controle of URL's volgens verwachting in de wachtrij terechtkomen.
Aanbeveling:
- voer eerste tests altijd uit met
Dry Run = Yes, - schakel
Dry Runpas uit na controle van credentials, allowed hosts, wachtrij en logs.
7. Sectie Google Access Credentials
Credentials Source
Standaard:
Encrypted configuration valueBepaalt waaruit de module de JSON van het Google-serviceaccount haalt.
Beschikbare opties:
| Optie | Technische waarde | Beschrijving |
|---|---|---|
Encrypted configuration value | config | JSON wordt in de Magento-configuratie geplakt en opgeslagen als versleutelde sensitive config-waarde. |
Uploaded JSON file | file | JSON wordt als bestand geüpload en buiten de map pub opgeslagen, in var/google-indexing. |
Aanbeveling:
- voor eenvoudige implementaties kan de versleutelde waarde in de configuratie worden gebruikt,
- voor omgevingen met toegangscontrole tot bestanden kan upload van een JSON-bestand handiger zijn.
Service Account JSON
Zichtbaar wanneer Credentials Source = Encrypted configuration value.
In dit veld moet de volledige inhoud van het JSON-bestand van het Google-serviceaccount worden geplakt.
De module valideert JSON vóór opslag. Gecontroleerd worden:
- correctheid van het JSON-formaat,
- aanwezigheid van velden
type,project_id,private_key,client_email, - waarde
type = service_account.
De waarde wordt opgeslagen als versleutelde Magento-configuratie.
Service Account JSON File
Zichtbaar wanneer Credentials Source = Uploaded JSON file.
Maakt het mogelijk het JSON-bestand van het Google-serviceaccount te uploaden.
De module:
- accepteert alleen bestanden met de extensie
.json, - valideert de inhoud van het bestand,
- controleert de vereiste velden
type,project_id,private_key,client_email, - slaat het bestand buiten de publieke map op, in
var/google-indexing, - probeert bestandsrechten op
0600te zetten als de bestandsdriver dat toestaat.
Het bestand wordt opgeslagen met een naam die afhankelijk is van de configuratiescope, bijvoorbeeld voor de globale scope:
var/google-indexing/service-account-default-0.jsonGoogle Cloud Project ID
Tekstveld voor de identifier van het Google Cloud-project.
In de huidige implementatie van de module is de belangrijkste autorisatie gebaseerd op gegevens uit de JSON van het serviceaccount. Het veld Google Cloud Project ID heeft een informatieve functie en ordent de configuratie, vooral wanneer de winkel meerdere omgevingen of meerdere Google Cloud-projecten gebruikt.
Aanbeveling:
- voer de waarde
project_iduit het JSON-bestand in, - gebruik afzonderlijke Google Cloud-projecten voor productie- en testomgevingen als een dergelijke scheiding in het project is aangenomen.
8. Sectie Queue and Limits
Daily Publish Limit
Standaard:
200Bepaalt het maximale aantal publish-meldingen dat de module per dag kan uitvoeren.
De limiter telt requests van het type:
publish,publish_dry_run.
Als de limiet is verbruikt, haalt de wachtrijprocessor geen volgende records op voor verzending tot het volgende dagelijkse venster.
Aanbeveling:
- laat
200staan als het project de standaard onboardinglimiet van Google gebruikt, - verhoog de waarde alleen wanneer het Google Cloud-project een goedgekeurde hogere limiet heeft,
- instelling
0blokkeert verzending, omdat het beschikbare aantal slots0bedraagt.
Requests Per Minute Limit
Standaard:
60Bepaalt het maximale aantal publish-requests per minuut.
De module vergelijkt deze waarde met het aantal requests dat in de logs van de laatste minuut is opgeslagen. Als de minuutlimiet is gebruikt, verwerkt cron geen volgende records in die run.
Aanbeveling:
- laat voor een typische implementatie de standaardwaarde staan,
- verlaag de waarde als u de API conservatiever wilt belasten,
- stel geen
0in, tenzij u verzending tijdelijk wilt stoppen.
Cron Batch Size
Standaard:
20Bepaalt het maximale aantal wachtrijrecords dat in één cron-run wordt verwerkt.
Het daadwerkelijke aantal verwerkte records wordt ook beperkt door:
Daily Publish Limit,Requests Per Minute Limit,- aantal records dat klaar is voor verzending,
- status en datum
scheduled_at.
Aanbeveling:
20is een veilige startwaarde,- bij grote wachtrijen kan de waarde worden verhoogd, maar alleen met inachtneming van Google-limieten.
Default Indexing Lag (minutes)
Standaard:
15Bepaalt de standaardvertraging tussen het toevoegen van een URL aan de wachtrij en het moment waarop deze kan worden verzonden.
De vertraging helpt om:
- duplicaten te beperken,
- verzending na elke kleine wijziging te voorkomen,
- de beheerder tijd te geven voor correctie van content,
- de API-limiet beter te beheren.
In de huidige implementatie wordt deze instelling gebruikt wanneer een melding geen eigen vertraging heeft.
Manual Form Indexing Lag (minutes)
Standaard:
15Bepaalt de vertraging voor URL's die via het formulier zijn toegevoegd:
Google Indexing API > Import URLsAls de beheerder handmatig een lijst URL's plakt, wordt elk correct adres met deze vertraging gepland.
Aanbeveling:
- stel
0in als handmatige import direct in de wachtrij moet komen, - laat
15staan als u een buffer voor deduplicatie en controle van meldingen wilt behouden.
Mass Action Indexing Lag (minutes)
Standaard:
15Bepaalt de vertraging voor URL's die zijn toegevoegd via:
- bulkacties voor producten,
- bulkacties voor CMS-pagina's,
- knoppen voor het melden van indexatie op bewerkingsschermen van product, categorie en CMS-pagina.
Aanbeveling:
- laat voor bulkoperaties de waarde
15of hoger staan, - voor kleine winkels en handmatig beheer kan een lagere waarde worden overwogen.
Max Attempts
Standaard:
5Bepaalt het maximale aantal verzendpogingen voor één wachtrijrecord.
Als Google een tijdelijke fout retourneert, stelt de module status retry in, mits het aantal pogingen kleiner is dan Max Attempts. Na overschrijding van de limiet krijgt het record status failed_permanent.
Fouten die als tijdelijk worden behandeld:
408,409,412,429,500,502,503,504.
Retry Delay (minutes)
Standaard:
15Basisvertraging vóór de volgende verzendpoging na een tijdelijke fout.
Cron gebruikt oplopende vertraging. De vermenigvuldiger hangt af van het aantal pogingen en is maximaal beperkt tot 24. Daardoor worden volgende pogingen niet te agressief uitgevoerd.
Voorbeeld voor waarde 15:
| Poging | Geschatte vertraging |
|---|---|
| 1 | 15 minuten |
| 2 | 30 minuten |
| 3 | 60 minuten |
| 4 | 120 minuten |
Allowed Source Types
Standaard:
manual,product,category,cms_page,amasty_blog_postLijst met toegestane brontypen, gescheiden door komma's.
Ondersteunde waarden:
| Waarde | Betekenis |
|---|---|
manual | URL handmatig toegevoegd via het importformulier. |
product | Product-URL. |
category | Categorie-URL. |
cms_page | URL van CMS-pagina. |
amasty_blog_post | URL van Amasty Blog-bericht als de aparte integratiemodule wordt gebruikt. |
Als het brontype niet op de lijst staat, slaat de scheduler de melding over en markeert deze als skipped.
Aanbeveling:
- laat de standaardwaarden staan als de winkel alle standaardbronnen gebruikt,
- verwijder bronnen die u niet tot de wachtrij wilt toelaten.
Allowed URL Hosts
Standaard:
pusteLijst met toegestane URL-hosts, gescheiden door komma's.
Voorbeeld:
example.com,www.example.comAls de lijst is ingevuld, accepteert de module alleen adressen die tot de opgegeven hosts behoren. Als de URL een andere host heeft, retourneert validatie de fout:
host_not_allowedAanbeveling:
- vul deze lijst op productie altijd in,
- voeg alle hosts toe die door de winkel worden gebruikt, bijvoorbeeld hoofddomein,
www-versie, store view-domeinen en taaldomeinen, - voeg geen testdomeinen toe aan de productieconfiguratie.
Require HTTPS URLs
Standaard:
YesDwingt af dat gemelde URL-adressen het schema https gebruiken.
Als het veld is ingeschakeld, wordt een adres met http geweigerd met de fout:
https_requiredAanbeveling:
- laat voor productiewinkels
Yesstaan, - gebruik
Noalleen in uitzonderlijke testomgevingen.
9. Sectie Auto-Indexing
Enable Auto-Indexing
Standaard:
NoHet veld is voorbereid voor automatische integraties voor opslaan of verwijderen van entiteiten en aanvullende URL-providers.
Binnen het huidige bereik van de module zijn handmatige en administratieve mechanismen beschikbaar om URL's aan de wachtrij toe te voegen, waaronder URL-import, Mass Actions en knoppen op bewerkingsformulieren.
Aanbeveling:
- laat
Nostaan als auto-indexing niet in het project is geïmplementeerd, - schakel pas in wanneer het project ondersteuning bevat voor automatische entiteitsgebeurtenissen die deze configuratie gebruiken.
10. Sectie Logs
API Log Retention Days
Standaard:
90Bepaalt het aantal dagen dat API-logs worden bewaard.
De cron die logs opschoont draait dagelijks om:
03:15Deze verwijdert vermeldingen ouder dan het aantal dagen dat in dit veld is ingesteld.
Aanbeveling:
90dagen is een redelijke diagnostische waarde,- bij een groot aantal requests kan retentie worden verlaagd,
- bij SEO-audits kan retentie worden verhoogd, met aandacht voor de grootte van de logtabel.
11. Installatie- en configuratieassistent
De assistent bevindt zich in:
Google Indexing API > Setup AssistantHet doel is snel controleren of de configuratie aan Magento- en Google-zijde klaar is voor de eerste test.
11.1. Sectie Current Status
De assistent toont de huidige status van de belangrijkste onderdelen:
| Veld | Betekenis |
|---|---|
Module | Geeft aan of de module in de configuratie is ingeschakeld. |
Dry Run | Geeft aan of testmodus actief is zonder echte verzending naar Google. |
Credentials | Toont of de module Google-credentials kan lezen en parsen. |
Service Account Email | Toont client_email uit de JSON van het serviceaccount. Dit adres moet als eigenaar worden toegevoegd in Search Console. |
Allowed Hosts | Toont de lijst van hosts die in de configuratie zijn toegestaan. |
Queue | Toont het aantal records met status scheduled, pending, retry en failed_permanent. |
Als Credentials status Missing or invalid heeft, moet u terug naar de configuratie en JSON of het credentials-bestand corrigeren.
Als Allowed Hosts Not configured toont, beperkt de module hosts niet. Technisch kan dit werken, maar voor productie wordt expliciet invullen van winkelhosts aanbevolen.
11.2. Sectie Setup Steps
De assistent toont een lijst met stappen die nodig zijn vóór de eerste echte request:
- Een Google Cloud-project aanmaken of kiezen.
- Indexing API inschakelen en een JSON key voor het serviceaccount aanmaken.
- JSON plakken of het JSON-bestand uploaden in de Magento-configuratie.
- Service account email toevoegen als eigenaar in Google Search Console.
- Tests uitvoeren en daarna één URL importeren met ingeschakelde
Dry Run.
De assistent bevat links naar:
- Google Cloud voor Indexing API,
- moduleconfiguratie in Magento,
- Google Search Console.
11.3. Test Google Credentials
Knop:
Test Google Credentialscontroleert of Magento de serviceaccountgegevens kan gebruiken om een OAuth-token te verkrijgen voor het bereik:
https://www.googleapis.com/auth/indexingEen positief resultaat betekent dat:
- JSON correct is,
- de private key kan worden gebruikt,
- Google een OAuth-token heeft uitgegeven.
Een negatief resultaat kan betekenen:
- onjuiste JSON,
- foutieve of beschadigde
private_key, - ontbrekend vereist veld in JSON,
- probleem met communicatie met Google,
- gebruik van een sleutel die geen serviceaccountsleutel is.
Deze test bevestigt nog niet dat het serviceaccount eigenaarstoegang heeft tot het domein in Search Console. Daarvoor is een URL metadata-test of een echte melding van een test-URL nodig.
11.4. Test URL Metadata
Formulier:
Test URL Metadatamaakt het mogelijk een publieke URL van een toegestane host in te voeren en een metadata-request naar Google Indexing API uit te voeren.
Vóór verzending van de request doet de module het volgende:
- normaliseert de URL,
- controleert of de URL absoluut is,
- controleert schema
httpofhttps, - vereist bij ingeschakelde
Require HTTPS URLshttps, - controleert
Allowed URL Hostsals deze zijn geconfigureerd.
Mogelijke resultaten:
| Resultaat | Betekenis |
|---|---|
| Succes HTTP 2xx | Google heeft metadata voor de URL geretourneerd. |
| HTTP 404 | Betekent vaak dat de URL nog geen eerdere succesvolle melding via Indexing API heeft. Dit hoeft geen foutieve configuratie te betekenen. |
| Validatiefout vóór request | URL voldoet niet aan de voorwaarden van de module, bijvoorbeeld verkeerde host, geen HTTPS of geen absoluut adres. |
| HTTP-fout anders dan 404 | Controleer het Google-bericht, Search Console-rechten, credentials en limieten. |
Metadata test maakt geen nieuwe publish-melding. Deze dient voor diagnostiek van verbinding en URL-status.
12. Eerste start stap voor stap
Aanbevolen volgorde voor de eerste start:
- Installeer de module en voer
setup:upgradeuit. - Ga in Magento naar
Stores > Configuration > Kowal > Google Indexing API. - Stel
Enable = Yesin. - Laat
Dry Run = Yesstaan. - Kies de credentials-bron.
- Plak de JSON van het serviceaccount of upload het JSON-bestand.
- Vul
Google Cloud Project IDmet de waardeproject_iduit JSON. - Vul
Allowed URL Hostsin, bijvoorbeeldexample.com,www.example.com. - Laat standaardlimieten staan als Google geen hogere limieten heeft goedgekeurd.
- Sla de configuratie op en leeg de cache.
- Ga naar
Google Indexing API > Setup Assistant. - Controleer of de assistent credentials als gereed toont.
- Klik op
Test Google Credentials. - Voeg service account email toe als eigenaar in Google Search Console als dit nog niet is gedaan.
- Voer
Test URL Metadatauit voor een publieke URL van een toegestane host. - Ga naar
Google Indexing API > Import URLs. - Voeg één test-URL toe met actie
URL_UPDATED. - Start Magento cron:
bin/magento cron:run- Controleer
Google Indexing API > Indexing Queue. - Controleer
Google Indexing API > API Logs. - Als alles correct werkt, schakel
Dry Runuit. - Voeg opnieuw één test-URL toe en controleer het echte antwoord van Google.
13. URL's importeren vanuit het beheerpaneel
Handmatige import bevindt zich in:
Google Indexing API > Import URLsHet formulier bevat velden:
| Veld | Beschrijving |
|---|---|
Action | Type melding aan Google: toevoegen/bijwerken of verwijderen. |
Store View | Store view waaraan de melding moet worden gekoppeld. Ook is een globale optie Use global/no store beschikbaar. |
URLs | Lijst met absolute URL's, één adres per regel. |
Beschikbare acties:
| Actie in formulier | API-waarde | Betekenis |
|---|---|---|
Submit URLs for indexing | URL_UPDATED | Informeert Google dat de URL is toegevoegd of bijgewerkt. |
Delete URLs from indexing | URL_DELETED | Informeert Google dat de URL is verwijderd en uit de index kan worden verwijderd. |
Na verzending van het formulier toont de module een samenvatting:
- toegevoegd,
- bijgewerkt,
- gededupliceerd,
- ongeldig,
- overgeslagen.
De eerste 10 validatiemeldingen worden als notice in het beheerpaneel getoond.
14. Indexatiewachtrij
De wachtrij bevindt zich in:
Google Indexing API > Indexing QueueElk wachtrijrecord bevat onder meer:
- URL,
- URL-hash,
- store ID,
- website ID,
- brontype,
- ID van bronentiteit,
- herkomst van de request,
- actie
URL_UPDATEDofURL_DELETED, - status,
- prioriteit,
- aantal pogingen,
- maximaal aantal pogingen,
- datum van geplande verzending,
- verwerkingsdatum,
- laatste foutcode,
- laatste foutreden,
- laatste foutmelding,
- Google-antwoord,
- informatie
created_by.
Wachtrijstatussen
| Status | Betekenis |
|---|---|
scheduled | URL is gepland, maar wacht nog op datum scheduled_at. |
pending | URL is klaar voor verwerking door cron. |
processing | URL wordt momenteel verwerkt. |
success | Google heeft een succesantwoord geretourneerd. |
retry | Er is een tijdelijke fout opgetreden en het record wacht op een volgende poging. |
failed_permanent | Verzending is permanent mislukt of het maximale aantal pogingen is overschreden. |
cancelled | Het record is handmatig geannuleerd. |
Acties op wachtrijrecords
| Actie | Werking |
|---|---|
Transmit Now | Stelt het record in als urgent, blokkeert het, verzendt direct via de Google-client en slaat het resultaat op. |
Retry | Stelt het record in als pending, wist de lock en plant direct een nieuwe poging. |
Cancel | Stelt status cancelled in en wist de lock. |
Let op: Transmit Now voert een echte request uit als Dry Run = No. Bij Dry Run = Yes wordt een dry-run-log opgeslagen zonder echte verzending naar Google.
15. Cron
De module voegt twee cron-taken toe in groep default.
Wachtrij verwerken
kowal_google_indexing_process_queueSchema:
*/5 * * * *De taak start de wachtrijprocessor elke 5 minuten.
De processor:
- Controleert of de module is ingeschakeld.
- Geeft oude locks vrij van
processing-records ouder dan 30 minuten. - Verplaatst records
schedulednaarpendingalsscheduled_at <= now. - Controleert beschikbare slots in dag- en minuutlimieten.
- Haalt records
pendingenretryop. - Sorteert ze op prioriteit en geplande verzenddatum.
- Verzendt de request naar Google of voert dry-run uit.
- Slaat antwoord, status en API-log op.
Logs opschonen
kowal_google_indexing_cleanup_logsSchema:
15 3 * * *De taak verwijdert API-logs ouder dan het aantal dagen ingesteld in het veld:
API Log Retention Days16. API-logs
Logs zijn beschikbaar in:
Google Indexing API > API LogsDe log omvat:
- ID van wachtrijrecord,
- store ID,
- requesttype,
- endpoint-URL,
- payload,
- HTTP-status,
- response body,
- duur van de request,
- aanmaakdatum van de log.
Requesttypen:
| Type | Betekenis |
|---|---|
publish | Echte melding van de URL aan Google. |
publish_dry_run | Verwerking in dry-run-modus zonder echte request naar Google. |
metadata | Metadata-test voor de URL. |
17. Mass Actions en beheerknoppen
De module voegt mechanismen toe om URL's vanuit het beheerpaneel te melden.
Producten
Op het productgrid is een bulkactie beschikbaar die product-URL's aan de wachtrij toevoegt.
De module slaat producten over die:
- uitgeschakeld zijn,
- niet individueel zichtbaar zijn.
URL's worden gegenereerd op basis van URL rewrites voor actieve store views.
CMS-pagina's
Op het grid van CMS-pagina's is een bulkactie beschikbaar die pagina-URL's aan de wachtrij toevoegt.
De module slaat inactieve pagina's over.
Als een CMS-pagina aan alle store views is toegewezen, lost de module URL's op voor alle store views.
Product, categorie en CMS-pagina - knoppen op het bewerkingsformulier
De module voegt knoppen voor indexatiemeldingen toe op bewerkingsschermen van:
- product,
- categorie,
- CMS-pagina.
De knop lost URL's van de entiteit op voor store views en voegt ze toe aan de wachtrij als URL_UPDATED.
18. Aanbevolen startconfiguratie
Voor de eerste productie-implementatie:
| Veld | Aanbeveling |
|---|---|
Enable | Yes na het opslaan van credentials en allowed hosts. |
Dry Run | Yes tijdens tests, later No. |
Credentials Source | Encrypted configuration value of Uploaded JSON file, volgens het projectbeleid. |
Google Cloud Project ID | project_id uit JSON. |
Daily Publish Limit | 200, tenzij Google een hogere limiet heeft goedgekeurd. |
Requests Per Minute Limit | 60 of minder bij een voorzichtige implementatie. |
Cron Batch Size | 20. |
Default Indexing Lag | 15. |
Manual Form Indexing Lag | 0-15, afhankelijk van de werkwijze van beheerders. |
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 | Alle productiehosts van de winkel. |
Require HTTPS URLs | Yes. |
Enable Auto-Indexing | No, tenzij het project automatische providers implementeert. |
API Log Retention Days | 90. |
19. Veelvoorkomende problemen en diagnostiek
Credentials test failed
Controleer:
- of JSON correct is,
- of JSON afkomstig is van een serviceaccount,
- of het
private_keyenclient_emailbevat, - of veld
typede waardeservice_accountheeft, - of het JSON-bestand niet is beschadigd tijdens het plakken.
Google retourneert een rechtenfout
Controleer:
- of het domein is geverifieerd in Search Console,
- of
client_emailvan het serviceaccount als eigenaar is toegevoegd, - of de geteste URL tot dezelfde Search Console-property behoort,
- of u het juiste Google Cloud-project en de juiste JSON gebruikt.
URL wordt geweigerd vóór verzending
Controleer de validatiemelding:
| Melding | Oorzaak |
|---|---|
empty_url | Lege URL. |
url_too_long | URL heeft meer dan 2048 tekens. |
url_not_absolute | URL heeft geen schema of host. |
https_required | HTTPS-vereiste is ingeschakeld en de URL gebruikt HTTP. |
invalid_scheme | Schema is niet http of https. |
host_not_allowed | De URL-host staat niet in Allowed URL Hosts. |
De wachtrij wordt niet verwerkt
Controleer:
- of
Enable = Yes, - of Magento cron werkt,
- of records status
pendingofretryhebben, - of
scheduled_atniet in de toekomst ligt, - of dag- of minuutlimieten niet zijn gebruikt,
- of
Daily Publish LimitenRequests Per Minute Limitniet op0staan.
Records gaan naar retry
Controleer:
- HTTP-status in het wachtrijrecord,
- API-log,
- Google-antwoord,
- of limiet
429voorkomt, - of er tijdelijke fouten
5xxzijn, - of
Max AttemptsenRetry Delayvolgens verwachting zijn ingesteld.
20. Optionele integratie met Amasty Blog
Integratie met Amasty Blog is voorzien als aparte module:
Kowal_GoogleIndexingApiAmastyBlogPakket:
kowal/module-google-indexing-api-amasty-blogDeze module is niet vereist voor de werking van de hoofdintegratie. Installeer deze alleen in projecten die amasty/blog gebruiken en een bulkactie voor blogberichten nodig hebben.