Magento 2 Indexeren

Wat is een index?

Een index is als een telefoongids. Een index is een verzameling van bij elkaar horende informatie. Door alle informatie te bundelen op één centraal punt is het eenvoudiger om informatie te vinden waardoor een behoorlijke snelheidswinst behaalt kan worden. Het is tenslotte makkelijker een telefoonnummer te vinden in een telefoongids dan in een enorme stapel visitekaartjes.

Waarom is indexeren belangrijk?

Net als bij een telefoongids is het van belang dat de informatie in de gids bijgewerkt word. Informatie die niet up-to-date kan voor verwarring zorgen. Ditzelfde geldt voor producten in een webshop.

Magento 2 indexeren

Magento kent twee manieren van indexeren.

1. Automatisch indexeren. Het is mogelijk om Magento bij elke wijziging zich opnieuw te laten indexeren. Door te kiezen voor een automatische indexatie zien bezoekers altijd de meest actuele productinformatie. Het voordeel van een automatische indexatie ten opzichte van een handmatige indexatie is, dat het een handmatige handeling scheelt en het nooit zo kan zijn dat je vergeet de productinformatie bij te werken. Een nadeel is dat het kan zorgen voor een tragere backend.

2. Handmatig indexeren (aanbevolen). Het is ook mogelijk om Magento handmatig te indexeren door middel van een cronjob. Maar waarom zou je Magento handmatige indexeren als het ook automatisch kan? Het bijwerken van de index kan veel tijd en resources kosten. Zeker wanneer er veel wijzigingen hebben plaatsgevonden kan dit een tijdrovend proces zijn. Wanneer je niet bij elke wijziging tientallen seconden wil wachten, kun je ervoor kiezen om alle wijzigingen in één keer door te voeren. Daardoor kun je je werkzaamheden afronden zonder dat je merendeel van je tijd spendeert aan het wachten.

Het is zelfs mogelijk om hierin een splitsing te maken. In de afbeelding hieronder is te zien dat bepaalde componenten staan ingesteld op automatische indexatie bij het opslaan. En dat sommige componenten staan ingepland aan de hand van een schema.

Magento Index Management

Magento handmatig indexeren middels een cronjob

Om een cronjob in te stellen dien je in te loggen via SSH.

1. Log in met SSH (Nog niet verbonden met SSH? Doe dat dan eerst. Het verbinden met SSH kan op drie manieren. Voor alle drie de manieren hebben wij een handleiding geschreven: SSH verbinden met Windows,SSH verbinden met Mac OS Xof SSH verbinden met Linux.) op de server van jouw domeinnaam.

2. Vervolgens kun je de cronjob installeren vanuit de public_html met het volgende commando:

php bin/magento cron:install

Het is ook mogelijk om de indexatie handmatig te starten. Voer daarvoor het volgende commando uit:

php bin/magento indexer:reindex

Wanneer de indexatie start zie je hetzelfde scherm als hieronder. In dit overzicht zie je welke componenten geïndexeerd worden en hoelang het nog duurt voordat de het desbetreffende component opnieuw geïndexeerd is.

Magento Start indexatie

Ook kun je de huidige status van de indexatie opvragen door het volgende commando uit te voeren:

Php bin/magento indexer:status

Vervolgens krijg je hetzelfde scherm als hieronder te zien. In dit overzicht zie je de componenten die geïndexeerd kunnen worden, de status van de geïndexeerde componenten, of ze wel of niet ingepland staan en voor wanneer deze zijn ingepland.

Magento status indexatie

Sectie opnieuw indexeren middels SSH

Het is mogelijk om bepaalde secties van je webshop opnieuw te laten indexeren via SSH. Hiervoor dien je het volgende commando uit te voeren:

php bin/magento indexer:reindex catalogrule_rule

Om meer informatie op te vragen over de index en over welke index gedraaid zal worden kun je het volgende commando uitvoeren:

php bin/magento indexer:info

Waardoor je het volgende scherm te zien krijgt:

Magento Indexer informatie

in Magento 2
Was dit artikel behulpzaam?